Halaman ini menjelaskan cara menghapus dan membatalkan penghapusan akun layanan menggunakan
API Identity and Access Management (IAM), konsol Trusted Cloud , dan alat command line gcloud
.
Sebelum memulai
Enable the IAM API.
Menyiapkan autentikasi.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud init
C#
Untuk menggunakan contoh .NET di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Trusted Cloud .
C++
Untuk menggunakan contoh C++ di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Trusted Cloud .
Go
Untuk menggunakan contoh Go di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Trusted Cloud .
Java
Untuk menggunakan contoh Java di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Trusted Cloud .
Python
Untuk menggunakan contoh Python di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan ADC untuk lingkungan pengembangan lokal dalam dokumentasi autentikasi Trusted Cloud .
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, Anda menggunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Trusted Cloud .
Memahami akun layanan IAM
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menghapus dan membatalkan penghapusan akun layanan, minta administrator untuk memberi Anda peran IAM berikut pada project:
-
Untuk menghapus akun layanan:
Hapus Akun Layanan (
roles/iam.serviceAccountDeleter
) -
Untuk menghapus dan membatalkan penghapusan akun layanan:
Service Account Admin (
roles/iam.serviceAccountAdmin
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Untuk mempelajari lebih lanjut tentang peran ini, lihat Peran Akun Layanan.
Peran dasar IAM juga berisi izin untuk mengelola akun layanan. Anda tidak boleh memberikan peran dasar dalam lingkungan produksi, tetapi Anda dapat memberikannya dalam lingkungan pengembangan atau pengujian.
Menghapus akun layanan
Saat Anda menghapus akun layanan, aplikasi tidak akan lagi memiliki akses ke Trusted Cloud by S3NS resource melalui akun layanan tersebut. Jika Anda menghapus akun layanan Compute Engine default, instance VM Compute Engine yang menggunakan akun layanan tersebut tidak akan lagi memiliki akses ke resource dalam project.
Hapus akun layanan dengan hati-hati. Sebelum menghapusnya, pastikan aplikasi penting Anda tidak lagi menggunakan akun layanan. Jika Anda tidak yakin apakah akun layanan sedang digunakan, sebaiknya nonaktifkan akun layanan, bukan menghapusnya. Akun layanan yang dinonaktifkan dapat diaktifkan kembali jika masih diperlukan.
Jika ingin memulihkan akun layanan yang telah dihapus, Anda dapat membatalkan penghapusan akun tersebut, jika sudah 30 hari atau kurang sejak akun layanan dihapus. Setelah 30 hari, IAM akan menghapus akun layanan secara permanen. Trusted Cloud tidak dapat memulihkan akun layanan setelah dihapus secara permanen, meskipun Anda mengajukan permintaan dukungan.
Untuk mengurangi lebih lanjut risiko penghapusan akun layanan yang diperlukan, Anda juga dapat mengaktifkan rekomendasi risiko perubahan. Rekomendasi risiko perubahan akan memunculkan peringatan saat Anda mencoba menghapus akun layanan yang Trusted Cloud telah diidentifikasi sebagai penting.
Jika Anda menghapus akun layanan, lalu membuat akun layanan baru dengan nama yang sama, akun layanan baru tersebut akan diperlakukan sebagai identitas terpisah; akun ini tidak mewarisi peran yang diberikan ke akun layanan yang dihapus. Sebaliknya, jika Anda menghapus akun layanan, lalu membatalkan penghapusannya, identitas akun layanan tidak akan berubah, dan akun layanan tetap memiliki perannya.
Saat akun layanan dihapus, binding perannya tidak segera dihapus; mereka secara otomatis dihapus permanen dari sistem setelah maksimum 60 hari. Sampai saat itu, akun layanan muncul dalam binding peran dengan imbuhan
deleted:
dan akhiran?uid=NUMERIC_ID
, denganNUMERIC_ID
adalah ID numerik unik untuk akun layanan.Akun layanan yang dihapus tidak mengurangi kuota akun layanan Anda.
Konsol
Di konsol Trusted Cloud , buka halaman Service accounts.
Pilih project.
Pilih akun layanan yang ingin Anda hapus, lalu klik Hapus
.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Jalankan perintah
gcloud iam service-accounts delete
untuk menghapus akun layanan.Perintah:
gcloud iam service-accounts delete \ SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
Output:
Deleted service account SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
PROJECT_ID
: ID project Trusted Cloud Anda. Project ID adalah string alfanumerik, sepertimy-project
.SA_ID
: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam formatSA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.
C++
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C++ IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Sebelum menjalankan contoh kode, tetapkan variabel lingkungan
GOOGLE_CLOUD_UNIVERSE_DOMAIN
kes3nsapis.fr
.C#
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API C# IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Sebelum menjalankan contoh kode, tetapkan variabel lingkungan
GOOGLE_CLOUD_UNIVERSE_DOMAIN
kes3nsapis.fr
.Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Sebelum menjalankan contoh kode, tetapkan variabel lingkungan
GOOGLE_CLOUD_UNIVERSE_DOMAIN
kes3nsapis.fr
.Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Sebelum menjalankan contoh kode, tetapkan variabel lingkungan
GOOGLE_CLOUD_UNIVERSE_DOMAIN
kes3nsapis.fr
.Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk IAM, lihat library klien IAM. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python IAM.
Untuk melakukan autentikasi ke IAM, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Sebelum memulai.
Sebelum menjalankan contoh kode, tetapkan variabel lingkungan
GOOGLE_CLOUD_UNIVERSE_DOMAIN
kes3nsapis.fr
.REST
Metode
serviceAccounts.delete
menghapus akun layanan.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Metode HTTP dan URL:
DELETE https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Jika berhasil, isi respons akan kosong.
Membatalkan penghapusan akun layanan
Dalam beberapa kasus, Anda dapat menggunakan perintah
undelete
untuk membatalkan penghapusan akun layanan yang dihapus. Anda biasanya dapat membatalkan penghapusan akun layanan yang dihapus jika memenuhi kriteria berikut:Akun layanan dihapus kurang dari 30 hari yang lalu.
Setelah 30 hari, IAM akan menghapus akun layanan secara permanen. Trusted Cloud tidak dapat memulihkan akun layanan setelah dihapus secara permanen, meskipun Anda mengajukan permintaan dukungan.
Tidak ada akun layanan dengan nama yang sama seperti akun layanan yang dihapus.
Misalnya, Anda tidak sengaja menghapus akun layanan
my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
. Anda masih memerlukan akun layanan dengan nama tersebut, jadi Anda membuat akun layanan baru dengan nama yang sama,my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
.Akun layanan baru tidak mewarisi izin dari akun layanan yang dihapus. Akibatnya, akun layanan ini sepenuhnya terpisah dari akun layanan yang dihapus. Namun, Anda tidak dapat membatalkan penghapusan akun layanan asli karena akun layanan yang baru memiliki nama yang sama.
Untuk mengatasi masalah ini, hapus akun layanan baru, lalu coba batalkan penghapusan akun layanan asli.
Jika tidak dapat membatalkan penghapusan akun layanan, Anda dapat membuat akun layanan baru dengan nama yang sama; mencabut semua peran dari akun layanan yang dihapus; dan memberikan peran yang sama ke akun layanan yang baru. Untuk mengetahui detailnya, lihat Kebijakan dengan akun utama yang dihapus.
Menemukan ID numerik akun layanan yang dihapus
Saat membatalkan penghapusan akun layanan, Anda harus memberikan ID numeriknya. ID numerik adalah angka 21 digit, seperti
123456789012345678901
, yang mengidentifikasi akun layanan secara unik. Misalnya, jika Anda menghapus akun layanan, lalu membuat akun layanan baru dengan nama yang sama, akun layanan asli dan akun layanan baru akan memiliki ID numerik yang berbeda.Jika mengetahui bahwa binding dalam kebijakan izinkan mencakup akun layanan yang dihapus, Anda bisa mendapatkan kebijakan izinkan, lalu menemukan ID numerik di kebijakan izinkan. ID numerik ditambahkan ke nama akun layanan yang dihapus. Misalnya, dalam kebijakan izin ini, ID numerik untuk akun layanan yang dihapus adalah
123456789012345678901
:{ "version": 1, "etag": "BwUjMhCsNvY=", "bindings": [ { "members": [ "deleted:serviceAccount:my-service-account@project-id.s3ns-system.iam.gserviceaccount.com?uid=123456789012345678901" ], "role": "roles/iam.serviceAccountUser" }, ] }
ID numerik hanya ditambahkan ke nama akun utama yang dihapus.
Atau, Anda dapat menelusuri operasi
DeleteServiceAccount
yang menghapus akun layanan di log audit:Di konsol Trusted Cloud , buka halaman Logs Explorer.
Di editor kueri, masukkan kueri berikut, dengan mengganti
SERVICE_ACCOUNT_EMAIL
dengan alamat email akun layanan Anda (misalnya,my-service-account@project-id.s3ns-system.iam.gserviceaccount.com
):resource.type="service_account" resource.labels.email_id="SERVICE_ACCOUNT_EMAIL" "DeleteServiceAccount"
Jika akun layanan dihapus lebih dari satu jam yang lalu, klik
1 jam terakhir, pilih jangka waktu yang lebih lama dari menu drop-down, lalu klik Terapkan.Klik Jalankan kueri. Logs Explorer menampilkan operasi
DeleteServiceAccount
yang memengaruhi akun layanan dengan nama yang Anda tentukan.Temukan dan catat ID numerik akun layanan yang dihapus dengan melakukan salah satu hal berikut:
- Jika hasil penelusuran hanya menyertakan satu operasi
DeleteServiceAccount
, cari ID numerik di kolom ID unik pada panel Kolom log.
Jika hasil penelusuran menampilkan lebih dari satu log, lakukan hal berikut:
Temukan entri log yang benar. Untuk menemukan entri log yang benar, klik panah peluas
di samping entri log. Tinjau detail entri log dan tentukan apakah entri log menunjukkan operasi yang ingin Anda urungkan. Ulangi proses ini sampai Anda menemukan entri log yang benar.Di entri log yang benar, temukan ID numerik akun layanan. Untuk menemukan ID numerik, luaskan kolom
protoPayload
entri log, lalu cari kolomresourceName
.
ID numerik adalah semuanya setelah
serviceAccounts
di kolomresourceName
.
- Jika hasil penelusuran hanya menyertakan satu operasi
Membatalkan penghapusan akun layanan berdasarkan ID numerik
Setelah menemukan ID numerik untuk akun layanan yang dihapus, Anda dapat mencoba membatalkan penghapusan akun layanan.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Jalankan perintah
gcloud beta iam service-accounts undelete
untuk membatalkan penghapusan akun layanan.Perintah:
gcloud beta iam service-accounts undelete ACCOUNT_ID
Output:
restoredAccount: email: SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com etag: BwWWE7zpApg= name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com oauth2ClientId: '123456789012345678901' projectId: PROJECT_ID uniqueId: 'ACCOUNT_ID'
PROJECT_ID
: ID project Trusted Cloud Anda. Project ID adalah string alfanumerik, sepertimy-project
.SA_NUMERIC_ID
: ID numerik unik akun layanan.
REST
Metode
serviceAccounts.undelete
memulihkan akun layanan yang dihapus.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NUMERIC_ID:undelete
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Jika penghapusan akun dapat dibatalkan, Anda akan menerima kode respons
200 OK
beserta detail tentang akun layanan yang dipulihkan, seperti berikut:{ "restoredAccount": { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns-system.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "my-service-account@my-project.s3ns-system.iam.gserviceaccount.com", "displayName": "My service account", "etag": "BwUp3rVlzes=", "description": "A service account for running jobs in my project", "oauth2ClientId": "987654321098765432109" } }
Langkah selanjutnya
- Pelajari cara mencantumkan dan mengedit akun layanan.
- Tinjau proses untuk memberikan peran IAM ke semua jenis akun utama, termasuk akun layanan.
- Pahami cara melampirkan akun layanan ke resource.
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-21 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-21 UTC."],[[["\u003cp\u003eThis guide explains how to delete and undelete service accounts using the IAM API, the Google Cloud console, and the \u003ccode\u003egcloud\u003c/code\u003e command-line tool.\u003c/p\u003e\n"],["\u003cp\u003eDeleting a service account removes its access to Google Cloud resources, and permanently removes it after 30 days, with disabled service accounts being recommended over deletion if uncertainty about its use exists.\u003c/p\u003e\n"],["\u003cp\u003eUndeleting a service account is possible within 30 days of deletion, provided no other service account has been created with the same name, and requires its unique numeric ID.\u003c/p\u003e\n"],["\u003cp\u003eThe document provides instructions for setting up authentication for various methods, including the Google Cloud console, \u003ccode\u003egcloud\u003c/code\u003e, and multiple programming languages like C#, C++, Go, Java, Python, and REST.\u003c/p\u003e\n"],["\u003cp\u003eSpecific IAM roles, like \u003ccode\u003eroles/iam.serviceAccountDeleter\u003c/code\u003e and \u003ccode\u003eroles/iam.serviceAccountAdmin\u003c/code\u003e, are required to delete or delete and undelete service accounts respectively, and are explained in the content.\u003c/p\u003e\n"]]],[],null,[]]