Halaman ini menjelaskan cara memberikan, mengubah, dan mencabut akses akun utama ke satu akun layanan. Untuk mengelola akses akun utama ke semua akun layanan dalam project, folder, atau organisasi, kelola aksesnya di tingkat project, folder, atau organisasi.
Dalam Identity and Access Management (IAM), akses dikelola melalui kebijakan izin, yang juga dikenal sebagai kebijakan IAM. Kebijakan izinkan dilampirkan ke resource Google Cloud. Setiap kebijakan izinkan berisi kumpulan binding peran yang mengaitkan satu atau beberapa akun utama, seperti pengguna atau akun layanan, dengan peran IAM. Binding peran ini memberikan peran yang ditentukan kepada akun utama, baik pada resource yang dilampirkan oleh kebijakan yang diizinkan dan pada semua turunan resource tersebut. Untuk informasi selengkapnya tentang kebijakan perizinan, lihat Memahami kebijakan izin.
Akun layanan adalah resource yang dapat diakses oleh akun utama lain, dan akun utama yang dapat diberi akses ke resource lainnya. Halaman ini memperlakukan akun layanan sebagai resource dan menjelaskan cara memberikan akses kepada akun utama lain. Untuk mempelajari cara memberi akun layanan akses ke resource lain, lihat panduan berikut:
- Untuk memberi akun layanan akses ke project, folder, atau organisasi, lihat Mengelola akses ke project, folder, dan organisasi.
- Untuk memberi akun layanan akses ke resource lain, lihat Mengelola akses ke resource lain.
Halaman ini menjelaskan cara mengelola akses ke akun layanan menggunakan Google Cloud Console, Google Cloud CLI, dan REST API. Anda juga dapat mengelola akses menggunakan library klien IAM.
Sebelum memulai
Enable the IAM API.
Pelajari akun layanan.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengelola akses ke akun layanan,
minta administrator untuk memberi Anda
Admin Akun Layanan (roles/iam.serviceAccountAdmin
) peran IAM pada akun layanan atau project yang memiliki akun
layanan.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengelola akses ke akun layanan. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola akses ke akun layanan:
-
iam.serviceAccounts.get
-
iam.serviceAccounts.list
-
iam.serviceAccounts.getIamPolicy
-
iam.serviceAccounts.setIamPolicy
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Lihat akses saat ini
Bagian berikut menunjukkan cara menggunakan Google Cloud Console, gcloud CLI, dan REST API untuk melihat siapa saja yang memiliki akses ke akun layanan. Anda juga dapat melihat akses menggunakan library klien IAM untuk mendapatkan kebijakan izinkan akun layanan.
Konsol
Di konsol Google Cloud, buka halaman Akun Layanan.
Pilih project.
Klik alamat email akun layanan.
Buka tab Izin. Bagian Principals dengan akses ke akun layanan ini mencantumkan semua akun utama yang telah diberi peran di akun layanan.
Daftar ini mencakup akun utama yang aksesnya berasal dari peran yang diberikan pada resource induk. Untuk informasi selengkapnya mengenai pewarisan kebijakan, lihat Pewarisan kebijakan dan hierarki resource.
Opsional: Untuk melihat pemberian peran bagi agen layanan, pilih kotak centang Sertakan pemberian peran yang disediakan Google.
gcloud
Untuk melihat siapa yang memiliki akses ke akun layanan Anda dapatkan kebijakan izinkan untuk akun layanan. Untuk mempelajari cara menafsirkan kebijakan izinkan, lihat Memahami kebijakan izinkan.
Untuk mendapatkan kebijakan izinkan akun layanan, jalankan
get-iam-policy
perintah untuk akun layanan:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
Berikan nilai berikut:
SA_ID
: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam formatSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.FORMAT
: Format untuk kebijakan. Gunakanjson
atauyaml
.PATH
: Jalur ke file output baru untuk kebijakan.
Contohnya, perintah berikut mendapatkan kebijakan untuk akun layanan
my-service-account
dan menyimpannya ke direktori beranda Anda dalam format JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
Untuk melihat siapa yang memiliki akses ke akun layanan Anda dapatkan kebijakan izinkan untuk akun layanan. Untuk mempelajari cara menafsirkan kebijakan izinkan, lihat Memahami kebijakan izinkan.
Metode
serviceAccounts.getIamPolicy
mendapatkan kebijakan izin akun layanan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Google 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.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.POLICY_VERSION
: Versi kebijakan yang akan ditampilkan. Permintaan harus menentukan versi kebijakan terbaru, yaitu kebijakan versi 3. Lihat Menentukan versi kebijakan saat mendapatkan kebijakan untuk detailnya.
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Meminta isi JSON:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Respons berisi kebijakan izinkan akun layanan. Contoh:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Memberikan atau mencabut satu peran
Anda dapat menggunakan Google Cloud Console dan gcloud CLI untuk memberikan atau mencabut satu peran dengan cepat untuk satu akun utama, tanpa mengedit kebijakan izinkan akun layanan secara langsung. Jenis akun utama yang umum meliputi Akun Google, akun layanan, grup Google, dan domain. Untuk daftar semua jenis akun utama, lihat Konsep yang terkait dengan identitas.
Secara umum, perubahan kebijakan akan berlaku dalam waktu 2 menit. Namun, dalam beberapa kasus, diperlukan 7 menit atau lebih untuk mengubah seluruh penerapan pada sistem.
Jika Anda memerlukan bantuan untuk mengidentifikasi peran bawaan yang paling sesuai, lihat Memilih peran bawaan.
Memberikan satu peran
Untuk memberikan satu peran ke akun utama, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Akun Layanan.
Pilih project.
Klik alamat email akun layanan.
Buka tab Izin dan temukan bagian Akun utama yang memiliki akses ke akun layanan ini.
Pilih akun utama yang akan diberi peran:
Untuk memberikan peran kepada akun utama yang sudah memiliki peran lain di akun layanan, temukan baris yang berisi akun utama, lalu klik
Edit akun utama di baris, lalu klik Tambahkan peran lain.Untuk memberikan peran ke agen layanan, pilih kotak centang Sertakan pemberian peran yang disediakan Google untuk melihat alamat emailnya.
Untuk memberikan peran kepada akun utama yang tidak memiliki peran apa pun di akun layanan, klik
Berikan akses, lalu masukkan ID untuk akun utama—misalnya,my-user@example.com
.
Pilih peran yang akan diberikan dari menu drop-down. Untuk praktik keamanan terbaik, pilih peran yang hanya menyertakan izin yang diperlukan oleh akun utama Anda.
Opsional: Tambahkan kondisi ke peran.
Klik Simpan. akun utama diberi peran pada akun layanan.
gcloud
Untuk memberikan peran kepada akun utama dengan cepat, jalankan
perintah add-iam-policy-binding
:
gcloud iam service-accounts add-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME \ --condition=CONDITION
Berikan nilai berikut:
SA_ID
: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam formatSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.PRINCIPAL
: ID untuk akun utama, atau anggota, yang biasanya memiliki bentuk berikut:PRINCIPAL-TYPE:ID
. Misalnya,user:my-user@example.com
. Untuk daftar lengkap nilai yang dapat dimilikiPRINCIPAL
, lihat ID utama.Untuk jenis akun utama
user
, nama domain dalam ID harus berupa domain Google Workspace atau domain Cloud Identity. Untuk mempelajari cara menyiapkan domain Cloud Identity, lihat ringkasan Cloud Identity.ROLE_NAME
: Nama peran yang ingin Anda berikan. Gunakan salah satu format berikut:- Peran bawaan:
roles/SERVICE.IDENTIFIER
- Peran khusus level project:
projects/PROJECT_ID/roles/IDENTIFIER
- Peran khusus tingkat organisasi:
organizations/ORG_ID/roles/IDENTIFIER
Untuk daftar peran yang telah ditetapkan, lihat Memahami peran.
- Peran bawaan:
CONDITION
: Opsional. Kondisi yang akan ditambahkan ke binding peran. Untuk mengetahui informasi selengkapnya tentang kondisi, lihat ringkasan kondisi.
Misalnya, untuk memberikan peran Service Account User kepada pengguna
my-user@example.com
untuk akun layanan
my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts add-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \ --member=user:my-user@example.com --role=roles/iam.serviceAccountUser
Mencabut satu peran
Untuk mencabut peran tunggal dari akun utama, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Akun Layanan.
Pilih project.
Klik alamat email akun layanan.
Buka tab Izin dan temukan bagian Akun utama yang memiliki akses ke akun layanan ini.
Cari baris yang berisi akun utama yang aksesnya ingin Anda cabut. Kemudian, klik
Edit akun utama di baris tersebut.Klik tombol Delete
untuk peran yang ingin Anda cabut, lalu klik Save.
gcloud
Untuk mencabut peran dari pengguna dengan cepat, jalankan
perintah remove-iam-policy-binding
:
gcloud iam service-accounts remove-iam-policy-binding SA_ID \ --member=PRINCIPAL --role=ROLE_NAME
Berikan nilai berikut:
SA_ID
: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam formatSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.PRINCIPAL
: ID untuk akun utama, atau anggota, yang biasanya memiliki bentuk berikut:PRINCIPAL-TYPE:ID
. Misalnya,user:my-user@example.com
. Untuk daftar lengkap nilai yang dapat dimilikiPRINCIPAL
, lihat ID utama.Untuk jenis akun utama
user
, nama domain dalam ID harus berupa domain Google Workspace atau domain Cloud Identity. Untuk mempelajari cara menyiapkan domain Cloud Identity, lihat ringkasan Cloud Identity.ROLE_NAME
: Nama peran yang ingin Anda cabut. Gunakan salah satu format berikut:- Peran bawaan:
roles/SERVICE.IDENTIFIER
- Peran khusus level project:
projects/PROJECT_ID/roles/IDENTIFIER
- Peran khusus tingkat organisasi:
organizations/ORG_ID/roles/IDENTIFIER
Untuk daftar peran yang telah ditetapkan, lihat Memahami peran.
- Peran bawaan:
Misalnya, untuk mencabut peran Pengguna Akun Layanan dari pengguna
my-user@example.com
untuk akun layanan
my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts remove-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \ --member=user:my-user@example.com --role=roles/iam.serviceAccountUser
Memberi atau mencabut beberapa peran menggunakan Google Cloud Console
Anda dapat menggunakan Konsol Google Cloud untuk memberikan dan mencabut beberapa peran untuk satu akun utama:
Di konsol Google Cloud, buka halaman Akun Layanan.
Pilih project.
Klik alamat email akun layanan.
Buka tab Izin dan temukan bagian Akun utama yang memiliki akses ke akun layanan ini.
Pilih akun utama yang perannya ingin Anda ubah:
Untuk mengubah peran akun utama yang sudah memiliki peran di akun layanan, temukan baris yang berisi akun utama, lalu klik
Edit akun utama di baris tersebut, lalu klik Tambahkan peran lain.Untuk mengubah peran agen layanan, pilih kotak centang Sertakan pemberian peran yang disediakan Google untuk melihat alamat emailnya.
Untuk memberikan beberapa peran kepada akun utama yang tidak memiliki peran apapun di akun layanan, klik
Berikan akses, lalu masukkan alamat email akun utama atau ID lainnya.
Mengubah peran akun utama:
- Untuk memberikan peran kepada akun utama yang tidak memiliki peran yang ada pada resource, klik Pilih peran, lalu pilih peran yang akan diberikan dari menu drop-down.
- Untuk memberikan peran tambahan kepada akun utama, klik Tambahkan peran lain, lalu pilih peran yang akan diberikan dari menu drop-down.
- Untuk mengganti salah satu peran utama dengan peran lain, klik peran yang ada, lalu pilih peran lain yang akan diberikan dari menu drop-down.
- Untuk mencabut salah satu peran akun utama, klik tombol Hapus untuk setiap peran yang ingin dicabut.
Anda juga dapat menambahkan kondisi ke peran, mengubah kondisi peran, atau menghapus kondisi peran.
Klik Simpan.
Memberikan atau mencabut beberapa peran secara terprogram
Untuk membuat perubahan akses berskala besar yang melibatkan pemberian dan pencabutan beberapa peran untuk beberapa akun utama, gunakan pola read-modify-write untuk memperbarui kebijakan izinkan akun layanan:
- Baca kebijakan izinkan saat ini dengan memanggil
getIamPolicy()
. - Edit kebijakan izin, baik dengan menggunakan editor teks atau secara terprogram, untuk menambahkan atau menghapus akun utama atau binding peran.
- Tulis kebijakan izinkan yang diperbarui dengan memanggil
setIamPolicy()
.
Bagian ini menunjukkan cara menggunakan gcloud CLI dan REST API untuk memperbarui kebijakan izinkan. Anda juga dapat mengupdate kebijakan izinkan menggunakan library klien IAM.
Secara umum, perubahan kebijakan akan berlaku dalam waktu 2 menit. Namun, dalam beberapa kasus, diperlukan 7 menit atau lebih untuk mengubah seluruh penerapan pada sistem.
Mendapatkan kebijakan izinkan saat ini
gcloud
Untuk mendapatkan kebijakan izinkan akun layanan, jalankan
get-iam-policy
perintah untuk akun layanan:
gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH
Berikan nilai berikut:
SA_ID
: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam formatSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.FORMAT
: Format untuk kebijakan izin. Gunakanjson
atauyaml
.PATH
: Jalur ke file output baru untuk kebijakan izinkan.
Contohnya, perintah berikut mendapatkan kebijakan izinkan untuk akun layanan
my-service-account
dan menyimpannya ke direktori utama Anda dalam format JSON:
gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json
REST
Metode
serviceAccounts.getIamPolicy
mendapatkan kebijakan izin akun layanan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Google 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.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.POLICY_VERSION
: Versi kebijakan yang akan ditampilkan. Permintaan harus menentukan versi kebijakan terbaru, yaitu kebijakan versi 3. Lihat Menentukan versi kebijakan saat mendapatkan kebijakan untuk detailnya.
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy
Meminta isi JSON:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Respons berisi kebijakan izinkan akun layanan. Contoh:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Simpan respons dalam file dengan jenis yang sesuai (json
atau yaml
).
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 Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Mengubah kebijakan izin
Secara terprogram atau menggunakan editor teks, ubah salinan lokal kebijakan izin akun layanan Anda untuk mencerminkan peran yang ingin diberikan atau dicabut kepada pengguna tertentu.
Untuk memastikan Anda tidak menimpa perubahan lain, jangan mengedit atau menghapus
kolom etag
kebijakan izin. Kolom etag
mengidentifikasi status saat ini
dari kebijakan izin. Saat Anda menetapkan kebijakan izinkan yang diperbarui,
IAM akan membandingkan nilai etag
dalam permintaan dengan
etag
yang sudah ada, dan hanya menulis kebijakan izinkan jika nilainya cocok.
Untuk mengedit peran yang diberikan oleh kebijakan izinkan, Anda perlu mengedit binding peran dalam kebijakan izinkan. Binding peran memiliki format berikut:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
Placeholder memiliki nilai berikut:
ROLE_NAME
: Nama peran yang ingin Anda berikan. Gunakan salah satu format berikut:- Peran bawaan:
roles/SERVICE.IDENTIFIER
- Peran khusus level project:
projects/PROJECT_ID/roles/IDENTIFIER
- Peran khusus tingkat organisasi:
organizations/ORG_ID/roles/IDENTIFIER
Untuk daftar peran bawaan, lihat Memahami peran.
- Peran bawaan:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: ID untuk akun utama yang ingin Anda berikan peran.ID utama biasanya memiliki bentuk berikut:
PRINCIPAL-TYPE:ID
. Contoh,user:my-user@example.com
. Untuk daftar lengkap nilai yang dapat dimilikiPRINCIPAL
, lihat ID utama.Untuk jenis akun utama
user
, nama domain dalam ID harus berupa domain Google Workspace atau domain Cloud Identity. Untuk mempelajari cara menyiapkan domain Cloud Identity, lihat ringkasan Cloud Identity.CONDITIONS
: Opsional. Semua kondisi yang menentukan kapan akses akan diberikan.
Memberikan peran
Untuk memberikan peran ke akun utama Anda, ubah binding peran dalam kebijakan perizinan. Untuk mempelajari peran yang dapat Anda berikan, lihat Memahami peran, atau melihat peran yang dapat diberikan untuk akun layanan. Jika Anda memerlukan bantuan untuk mengidentifikasi beberapa peran bawaan yang paling sesuai, lihat Memilih peran bawaan.
Secara opsional, Anda dapat menggunakan kondisi untuk memberikan peran hanya ketika persyaratan tertentu terpenuhi.
Untuk memberikan peran yang sudah disertakan dalam kebijakan izinkan, tambahkan akun utama ke binding peran yang ada:
gcloud
Edit kebijakan izin dengan menambahkan akun utama ke binding peran yang sudah ada. Perhatikan bahwa perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.
Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang
memberikan peran Service Account User (roles/iam.serviceAccountUser
) ke
Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Untuk memberikan peran yang sama kepada Raha, tambahkan Raha ke binding peran yang ada:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Edit kebijakan izin dengan menambahkan akun utama ke binding peran yang sudah ada. Perhatikan bahwa perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.
Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang
memberikan peran Service Account User (roles/iam.serviceAccountUser
) ke
Kai:
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com"
]
}
Untuk memberikan peran yang sama kepada Raha, tambahkan Raha ke binding peran yang ada:
{ "role": "roles/iam.serviceAccountUser", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Untuk memberikan peran yang belum disertakan dalam kebijakan izinkan, tambahkan binding peran baru:
gcloud
Edit kebijakan izinkan dengan menambahkan binding peran baru yang memberikan peran tersebut ke akun utama. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.
Misalnya, untuk memberikan peran Service Account Token Creator
(roles/iam.serviceAccountTokenCreator
) ke Raha, tambahkan
binding peran berikut ke array bindings
untuk kebijakan izinkan:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"user:raha@example.com"
]
}
REST
Edit kebijakan izinkan dengan menambahkan binding peran baru yang memberikan peran tersebut ke akun utama. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.
Misalnya, untuk memberikan peran Service Account Token Creator
(roles/iam.serviceAccountTokenCreator
) ke Raha, tambahkan
binding peran berikut ke array bindings
untuk kebijakan izinkan:
{
"role": "roles/iam.serviceAccountTokenCreator",
"members": [
"user:raha@example.com"
]
}
Mencabut peran
Untuk mencabut peran, hapus akun utama dari binding peran. Jika tidak ada akun utama lain dalam binding peran, hapus seluruh binding peran dari kebijakan izinkan.
gcloud
Edit kebijakan izinkan dengan menghapus akun utama atau seluruh pengikatan peran. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.
Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang
memberikan peran Service Account User kepada Kai dan Raha
(roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Untuk mencabut peran dari Kai, hapus ID utama Kai dari binding peran:
{
"role": "roles/iam.serviceAccountUser",
"members": [
user:raha@example.com
]
}
Untuk mencabut peran dari Kai dan Raha, hapus binding peran dari kebijakan izinkan.
REST
Edit kebijakan izinkan dengan menghapus akun utama atau seluruh pengikatan peran. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.
Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang
memberikan peran Service Account User kepada Kai dan Raha
(roles/iam.serviceAccountUser
):
{
"role": "roles/iam.serviceAccountUser",
"members": [
"user:kai@example.com",
"user:raha@example.com"
]
}
Untuk mencabut peran dari Kai, hapus ID utama Kai dari binding peran:
{
"role": "roles/iam.serviceAccountUser",
"members": [
user:raha@example.com
]
}
Untuk mencabut peran dari Kai dan Raha, hapus binding peran dari kebijakan izinkan.
Menetapkan kebijakan izin
Setelah Anda mengubah kebijakan izinkan untuk memberikan dan mencabut peran, panggil
setIamPolicy()
untuk melakukan perubahan.
gcloud
Untuk menetapkan kebijakan izinkan resource, jalankan perintah
set-iam-policy
untuk akun layanan:
gcloud iam service-accounts set-iam-policy SA_ID PATH
Berikan nilai berikut:
SA_ID
: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam formatSA_NAME@PROJECT_ID.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.PATH
: Jalur ke file yang berisi kebijakan izin baru.
Respons berisi kebijakan izin yang diperbarui.
Misalnya, perintah berikut menetapkan kebijakan izinkan yang disimpan di policy.json
sebagai kebijakan izinkan untuk akun layanan
my-service-account@my-project.iam.gserviceaccount.com
:
gcloud iam service-accounts set-iam-policy my-service-account@my-project.iam.gserviceaccount.com \ ~/policy.json
REST
Metode
serviceAccounts.setIamPolicy
menetapkan kebijakan izin yang telah diperbarui untuk akun layanan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
PROJECT_ID
: Project ID Google 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.iam.gserviceaccount.com
, atau ID numerik unik akun layanan.-
POLICY
: Representasi JSON dari kebijakan yang ingin Anda tetapkan. Untuk informasi selengkapnya mengenai format kebijakan, lihat Referensi kebijakan.Misalnya, untuk menetapkan kebijakan izin yang ditunjukkan di langkah sebelumnya, ganti
policy
dengan kode berikut:{ "version": 1, "etag": "BwUqLaVeua8=", "bindings": [ { "role": "roles/iam.serviceAccountUser", "members": [ "group:my-group@example.com" ] }, { "role": "roles/serviceAccountAdmin", "members": [ "user:my-user@example.com" ] } ] }
Metode HTTP dan URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:setIamPolicy
Meminta isi JSON:
{ "policy": POLICY }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Respons berisi kebijakan izin yang telah diperbarui.
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 Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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 Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah selanjutnya
- Pelajari peran yang akan diberikan untuk mengizinkan akun utama melakukan autentikasi sebagai akun layanan.
- Cari tahu cara memilih peran bawaan yang paling sesuai.
- Tinjau Praktik terbaik untuk menggunakan akun layanan untuk mempelajari cara menggunakan akun layanan dengan aman.
- Pelajari cara mengelola akses ke project, folder, dan organisasi.
- Pelajari langkah-langkah umum untuk mengelola akses ke resource lain.
- Pelajari cara membuat akses akun utama menjadi bersyarat dengan binding peran bersyarat.
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Mulai secara gratis