Halaman ini menjelaskan cara mengelola workload identity pool yang ada beserta penyedia identitasnya.
Anda dapat mengelola pool dan penyedia menggunakan konsol Google Cloud, Google Cloud CLI, atau REST API.
Sebelum memulai
Membuat workload identity pool. Lihat salah satu halaman berikut untuk mempelajari caranya:
- Mengakses resource dari AWS
- Mengakses resource dari Microsoft Azure
- Mengakses resource dari penyedia identitas OIDC
- Mengakses resource dari penyedia identitas SAML 2.0
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengelola workload identity pool dan penyedia workload, mintalah administrator untuk memberi Anda peran IAM berikut pada project:
-
Untuk melihat pool dan penyedia:
IAM Workload Identity Pool Viewer (
roles/iam.workloadIdentityPoolViewer
) -
Untuk melihat, membuat, memperbarui, dan menghapus pool dan penyedia:
IAM Workload Identity Pool Admin (
roles/iam.workloadIdentityPoolAdmin
)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Peran bawaan ini berisi izin yang diperlukan untuk mengelola pool dan penyedia workload. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mengelola workload identity pool dan penyedia workload
-
Untuk melihat workload identity pool dan penyedia workload:
-
iam.googleapis.com/workloadIdentityPoolProviders.get
-
iam.googleapis.com/workloadIdentityPoolProviders.list
-
iam.googleapis.com/workloadIdentityPools.get
-
iam.googleapis.com/workloadIdentityPools.list
-
-
-
Untuk membuat, memperbarui, dan menghapus pool dan penyedia:
-
iam.googleapis.com/workloadIdentityPoolProviders.create
-
iam.googleapis.com/workloadIdentityPoolProviders.delete
-
iam.googleapis.com/workloadIdentityPoolProviders.undelete
-
iam.googleapis.com/workloadIdentityPoolProviders.update
-
iam.googleapis.com/workloadIdentityPools.create
-
iam.googleapis.com/workloadIdentityPools.delete
-
iam.googleapis.com/workloadIdentityPools.undelete
-
iam.googleapis.com/workloadIdentityPools.update
-
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mengelola workload identity pool
Bagian ini menunjukkan cara mengelola workload identity pool.
Membuat kumpulan
Untuk membuat kumpulan workload identity dalam sebuah project, lakukan langkah berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
gcloud
Jalankan perintah
gcloud iam workload-identity-pools create
.
REST
Mencantumkan pool
Untuk mencantumkan semua workload identity pool dalam sebuah project, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
gcloud
Jalankan perintah
gcloud iam workload-identity-pools list
.
REST
Dapatkan pool
Untuk mendapatkan detail tentang workload identity pool tertentu, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Temukan workload identity pool yang ingin Anda lihat, lalu klik ikon
Edit. Konsol Google Cloud menampilkan detail tentang workload identity pool.
gcloud
Jalankan
perintah gcloud iam workload-identity-pools describe
.
REST
Memperbarui pool
Anda dapat mengaktifkan atau menonaktifkan workload identity pool. Anda juga dapat mengubah nama tampilan atau deskripsinya.
Untuk memperbarui workload identity pool yang ada, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Temukan workload identity pool yang ingin Anda edit, lalu klik ikon
Edit.Untuk menonaktifkan atau mengaktifkan workload identity pool, klik tombol alih Status , lalu klik Nonaktifkan atau Aktifkan.
Untuk mengedit nama tampilan, klik
Edit di samping nama tampilan. Perbarui namanya, lalu klik Simpan.Untuk mengedit deskripsi, gunakan gcloud CLI atau REST API.
gcloud
Jalankan perintah
gcloud iam workload-identity-pools update
.
REST
Menghapus pool
Saat menghapus workload identity pool, Anda juga akan menghapus penyedia workload identity pool. Akibatnya, identitas dalam pool kehilangan akses ke resource Google Cloud.
Anda dapat membatalkan penghapusan pool hingga 30 hari setelah penghapusan. Setelah 30 hari, penghapusan akan bersifat permanen. Hingga pool dihapus secara permanen, Anda tidak dapat menggunakan kembali nama yang sama saat membuat workload identity pool baru.
Untuk menghapus workload identity pool dan penyedia identitasnya, lakukan langkah berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Temukan workload identity pool yang ingin Anda hapus, lalu klik ikon
Edit.Klik
Hapus pool, lalu klik Hapus. Workload identity pool dan penyedia identitasnya akan dihapus.
gcloud
Jalankan perintah
gcloud iam workload-identity-pools delete
.
REST
Membatalkan penghapusan pool
Anda dapat memulihkan workload identity pool yang dihapus hingga 30 hari setelah penghapusan.
Untuk membatalkan penghapusan pool, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Klik tombol Tampilkan kumpulan dan penyedia yang dihapus.
Temukan workload identity pool yang ingin Anda batalkan penghapusannya, lalu klik ikon
Pulihkan.Klik Pulihkan. Pool dan penyedianya terpulihkan.
gcloud
Jalankan
perintah gcloud iam workload-identity-pools undelete
.
REST
Panggil projects.locations.workloadIdentityPools.undelete()
.
Mengelola penyedia workload identity pool
Bagian ini menunjukkan cara mengelola penyedia workload identity pool.
Membuat penyedia
Untuk membuat penyedia workload identity pool di workload identity pool yang ada, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Temukan workload identity pool yang ingin Anda tambahi penyedia, lalu klik ikon
Edit.Klik
Tambahkan penyedia.Pilih jenis penyedia yang akan dibuat:
- AWS: Penyedia identitas Amazon Web Services (AWS).
- OpenID Connect (OIDC): Penyedia identitas yang kompatibel dengan OIDC. Termasuk Microsoft Azure.
Masukkan nama untuk penyedia.
Konsol Google Cloud akan menggunakan nama ini untuk membuat ID penyedia. Untuk mengubah ID penyedia, klik Edit. Anda tidak dapat mengubah ID penyedia lagi.
Lengkapi kolom yang tersisa untuk penyedia Anda:
- AWS: Masukkan ID akun AWS Anda.
- OIDC: Masukkan URL penerbit. Untuk Azure, URL penerbit menggunakan format
https://sts.windows.net/AZURE_TENANT_ID
. Untuk penyedia lain, lihat dokumentasi penyedia.
Setelah selesai, klik Lanjutkan.
Untuk mengonfigurasi pemetaan atribut, klik Edit pemetaan. Pemetaan atribut memungkinkan Anda menggunakan informasi tentang identitas eksternal untuk memberikan akses ke subset identitas tersebut.
AWS: Langkah ini bersifat opsional; Anda dapat menggunakan pemetaan default.
Untuk mengetahui detailnya, lihat Setelan penyedia identitas untuk AWS.
OIDC: Sebaiknya petakan
google.subject
keassertion.sub
. Pemetaan lainnya bersifat opsional.Untuk mengetahui detailnya, lihat Setelan penyedia identitas untuk Azure atau Setelan penyedia identitas untuk OIDC.
Opsional: Untuk memberikan kondisi atribut, yang menentukan identitas yang dapat melakukan autentikasi, klik Tambahkan kondisi lalu masukkan ekspresi Common Expression Language (CEL) yang valid. Untuk mengetahui detailnya, lihat Kondisi atribut.
Klik Simpan. Penyedia workload identity pool telah dibuat.
gcloud
Jalankan perintah
gcloud iam workload-identity-pools providers create-aws
untuk membuat penyedia AWS.
Jalankan perintah
gcloud iam workload-identity-pools providers create-oidc
untuk membuat penyedia OIDC. Hal ini termasuk Microsoft Azure.
REST
Panggil projects.locations.workloadIdentityPools.providers.create()
.
Mencantumkan penyedia
Untuk mencantumkan penyedia workload identity pool dalam sebuah project, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Agar dapat melihat penyedia untuk workload identity pool, klik ikon
Luaskan node untuk pool.
gcloud
Jalankan
perintah
gcloud iam workload-identity-pools providers list
.
REST
Panggil projects.locations.workloadIdentityPools.providers.list()
.
Mendapatkan penyedia
Untuk mendapatkan detail terkait penyedia workload identity pool tertentu, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Temukan workload identity pool yang berisi penyedia, lalu klik ikon
Luaskan node untuk pool.Temukan penyedia workload identity pool yang ingin Anda lihat, lalu klik ikon
Edit. Google Cloud Console menampilkan informasi mendetail tentang penyedia tersebut.
gcloud
Jalankan
perintah
gcloud iam workload-identity-pools providers describe
.
REST
Panggil projects.locations.workloadIdentityPools.providers.get()
.
Memperbarui penyedia
Anda dapat mengaktifkan atau menonaktifkan penyedia workload identity pool. Anda juga dapat memperbarui informasi akun dan pemetaan atributnya, serta nama tampilan dan deskripsinya.
Untuk memperbarui penyedia workload identity pool yang ada, lakukan hal berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Temukan workload identity pool yang berisi penyedia, lalu klik ikon
Luaskan node untuk pool.Temukan penyedia workload identity pool yang ingin Anda edit, lalu klik ikon Edit
.Edit informasi penyedia, lalu klik Simpan.
gcloud
Jalankan perintah gcloud iam workload-identity-pools providers update-aws
untuk memperbarui penyedia AWS.
Jalankan perintah
gcloud iam workload-identity-pools providers update-oidc
untuk memperbarui penyedia OIDC. Hal ini termasuk Microsoft Azure.
REST
Panggil projects.locations.workloadIdentityPools.providers.patch()
.
Menghapus penyedia
Saat Anda menghapus penyedia workload identity pool, identitas penyedia akan kehilangan akses ke resource Google Cloud.
Anda dapat membatalkan penghapusan penyedia hingga 30 hari setelah penghapusan. Setelah 30 hari, penghapusan akan bersifat permanen. Sebelum penyedia dihapus secara permanen, Anda tidak dapat menggunakan kembali namanya saat membuat penyedia baru.
Untuk menghapus penyedia workload identity pool, lakukan tindakan berikut:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Temukan workload identity pool yang berisi penyedia, lalu klik ikon
Edit.Di panel Penyedia, temukan penyedia yang ingin Anda hapus, lalu klik ikon
Hapus.Klik Hapus untuk menghapus penyedia.
gcloud
Jalankan
perintah
gcloud iam workload-identity-pools providers delete
.
REST
Panggil projects.locations.workloadIdentityPools.providers.delete()
.
Membatalkan penghapusan penyedia
Anda dapat memulihkan penyedia workload identity pool yang dihapus hingga 30 hari setelah penghapusan. Untuk membatalkan penghapusan penyedia:
Konsol
Di konsol Google Cloud, buka halaman Workload Identity Pool.
Klik tombol Tampilkan kumpulan dan penyedia yang dihapus.
Temukan workload identity pool yang berisi penyedia, lalu klik ikon
Luaskan node untuk pool.Temukan penyedia yang ingin Anda batalkan penghapusannya, lalu klik ikon
Pulihkan.Klik Pulihkan. Penyedia akan dipulihkan.
gcloud
Jalankan
perintah
gcloud iam workload-identity-pools providers undelete
.
REST
Panggil projects.locations.workloadIdentityPools.providers.undelete()
.
Mengelola batasan untuk workload identity federation
Anda dapat menggunakan batasan kebijakan organisasi untuk membatasi penggunaan resource di organisasi Google Cloud Anda.
Bagian ini menjelaskan batasan yang direkomendasikan saat Anda menggunakan workload identity federation.
Membatasi konfigurasi penyedia identitas
Sebagai administrator organisasi, Anda dapat menentukan penyedia identitas yang diizinkan untuk bergabung dengan organisasi Anda.
Untuk mengelola penyedia identitas yang diizinkan, aktifkan batasan daftar
constraints/iam.workloadIdentityPoolProviders
dalam kebijakan
organisasi untuk organisasi Anda. Batasan ini menentukan URI penerbit
dari penyedia yang diizinkan. Anda dapat menggunakan
konsol Google Cloud atau
Google Cloud CLI untuk mengaktifkan batasan ini.
Agar hanya mengizinkan penggabungan dari AWS, buat satu batasan dengan URI
https://sts.amazonaws.com
. Contoh berikut menunjukkan cara membuat
batasan ini menggunakan gcloud CLI:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.amazonaws.com --organization=ORGANIZATION_NUMBER
Anda juga dapat menentukan ID akun AWS yang memiliki akses ke
resource Google Cloud Anda. Untuk menentukan ID akun, gunakan
batasan daftar constraints/iam.workloadIdentityPoolAwsAccounts
:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \ ACCOUNT_ID --organization=ORGANIZATION_NUMBER
Agar hanya mengizinkan penggabungan dari satu penyedia OIDC, buat satu batasan dengan
issuer_uri
penyedia yang diizinkan. Misalnya, perintah berikut hanya mengizinkan
federasi dari tenant Azure tertentu:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.windows.net/AZURE_TENANT_ID --organization=ORGANIZATION_NUMBER
Federasi dari penyedia identitas SAML adalah kasus khusus karena kunci publik yang digunakan untuk memvalidasi pernyataan disediakan pada waktu konfigurasi bukan diambil langsung dari penyedia identitas. Oleh karena itu dapat dibayangkan bahwa pengguna berbahaya dapat mencoba mengupload dokumen metadata SAML dengan ID entitas penyedia identitas organisasi Anda, tetapi dengan kunci publik yang aksesnya mereka miliki ke kunci pribadi. Membatasi penggabungan dengan ID entitas dalam skenario ini hanya memberikan keamanan yang ilusif. Karena alasan ini, kami sangat menyarankan agar Anda hanya mengizinkan pembuatan workload identity pool yang memungkinkan penggabungan SAML di project Google Cloud yang dikelola organisasi Anda secara terpusat. Kemudian, Anda dapat memberikan identitas eksternal dalam workload identity pool tersebut akses ke resource di seluruh organisasi Anda.
Untuk mengizinkan penggabungan dari penyedia identitas SAML, buat batasan
yang mengizinkan kata kunci khusus KEY_UPLOAD
.
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ KEY_UPLOAD --organization=ORGANIZATION_NUMBER
Anda dapat mengulangi perintah tersebut untuk mengizinkan penggabungan dari penyedia tambahan.
Untuk memblokir penggabungan dari semua penyedia:
Buat file YAML yang berisi hal berikut:
constraint: constraints/iam.workloadIdentityPoolProviders listPolicy: allValues: DENY
Teruskan file ke perintah
gcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy FILE_NAME.yaml \ --organization=ORGANIZATION_NUMBER
Membatasi pembuatan kunci akun layanan
Workload identity federation memungkinkan Anda mengakses resource Google Cloud dari luar Google Cloud tanpa menggunakan kunci akun layanan. Jika tidak pernah menggunakan kunci akun layanan untuk mengautentikasi, Anda dapat membantu mengurangi risiko dengan menonaktifkan pembuatan kunci.
Untuk menonaktifkan pembuatan kunci akun layanan, terapkan
batasan boolean iam.disableServiceAccountKeyCreation
dalam kebijakan
organisasi untuk organisasi Anda. Anda juga dapat menerapkan
batasan boolean iam.disableServiceAccountKeyUpload
, yang akan menonaktifkan
upload kunci publik untuk akun layanan.
Anda dapat menggunakan konsol Google Cloud atau gcloud CLI untuk mengaktifkan batasan ini. Misalnya, perintah gcloud CLI berikut mengaktifkan kedua batasan:
gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyCreation \ --organization=ORGANIZATION_NUMBER gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyUpload \ --organization=ORGANIZATION_NUMBER
Memantau workload identity federation
Anda dapat menggunakan metrik Cloud Monitoring untuk memantau peristiwa autentikasi pool dan penyedia workload identity. Untuk daftar metrik yang tersedia, lihat metrik IAM.
Langkah selanjutnya
Pelajari tentang fworkload identity federation lebih lanjut.