Panduan ini menjelaskan cara mengonfigurasi Workforce Identity Federation dengan penyedia identitas (IdP) yang mendukung OIDC atau SAML 2.0.
Untuk petunjuk khusus mengenai IdP, baca artikel berikut:
- Mengonfigurasi Workforce Identity Federation berbasis Microsoft Entra ID
- Mengonfigurasi Workforce Identity Federation berbasis Okta
Sebelum memulai
- Pastikan Anda telah menyiapkan organisasi Google Cloud.
-
After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:
gcloud init
-
Enable the Identity and Access Management (IAM) and Resource Manager APIs.
- Untuk login, IdP Anda harus memberikan informasi autentikasi yang ditandatangani: IdP OIDC harus memberikan token JWT, dan respons IdP SAML harus ditandatangani.
- Untuk menerima informasi penting tentang perubahan pada organisasi atau produk Google Cloud, Anda harus memberikan Kontak Penting. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Federasi Identitas Tenaga Kerja.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengonfigurasi Workforce Identity Federation,
minta administrator untuk memberi Anda
peran IAM Workforce Identity Pool Admin (roles/iam.workforcePoolAdmin
) di organisasi.
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.
Atau, peran dasar Pemilik (roles/owner
) juga
mencakup izin untuk mengonfigurasi Workforce Identity Federation.
Anda tidak boleh memberikan peran dasar dalam lingkungan produksi, tetapi Anda dapat memberikannya dalam
lingkungan pengembangan atau pengujian.
Mengonfigurasi Workforce Identity Federation
Untuk mengonfigurasi Workforce Identity Federation, Anda harus membuat workforce identity pool dan penyedia workforce identity pool.
Membuat workforce identity pool
Untuk membuat pool, jalankan perintah berikut:
Konsol
Untuk membuat workforce identity pool, lakukan hal berikut:
Di Konsol Google Cloud, buka halaman Workforce Identity Pool:
Klik Buat pool dan lakukan tindakan berikut:
Di kolom Name, masukkan nama tampilan kumpulan. ID kumpulan otomatis diambil dari nama saat Anda mengetik, dan ditampilkan di kolom Nama. Anda dapat memperbarui ID pool dengan mengklik Edit di samping ID pool.
Opsional: Di Deskripsi, masukkan deskripsi pool.
Durasi sesi ditetapkan secara default. Untuk memasukkan durasi sesi khusus, klik Edit. Durasi sesi menentukan durasi validnya token akses Google Cloud, sesi login konsol (federasi), dan sesi login gcloud CLI dari workforce pool ini. Durasi harus lebih dari 15 menit (900 detik) dan kurang dari 12 jam (43200 detik). Jika durasi sesi tidak ditentukan, durasi default adalah durasi satu jam (3600 detik).
Untuk mengaktifkan pool, pastikan Mengaktifkan Pool aktif.
Untuk membuat workforce identity pool, klik Berikutnya.
gcloud
Untuk membuat workforce identity pool, jalankan perintah berikut:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Ganti kode berikut:
WORKFORCE_POOL_ID
: ID yang Anda pilih untuk mewakili workforce pool Google Cloud Anda. Untuk mengetahui informasi tentang cara memformat ID, lihat bagian Parameter kueri dalam dokumentasi API.ORGANIZATION_ID
: ID organisasi numerik dari organisasi Google Cloud Anda.DISPLAY_NAME
: Opsional. Nama tampilan untuk kumpulan identitas tenaga kerja Anda.DESCRIPTION
: Opsional. Deskripsi kumpulan identitas tenaga kerja.SESSION_DURATION
: Opsional. Durasi sesi, yang menentukan durasi validnya token akses Google Cloud, sesi login konsol (federasi), dan sesi login gcloud CLI dari workforce pool ini. Durasi harus lebih dari 15 menit (900 detik) dan kurang dari 12 jam (43200 detik). Jika durasi sesi tidak disetel, maka durasi defaultnya adalah satu jam (3600 detik).
Membuat penyedia workforce identity pool
Bagian ini menjelaskan cara membuat penyedia workforce identity pool untuk memungkinkan pengguna IdP Anda mengakses Google Cloud. Anda dapat mengonfigurasi penyedia untuk menggunakan protokol OIDC atau SAML.
Membuat penyedia workforce pool OIDC
Untuk membuat penyedia workforce identity pool menggunakan protokol OIDC, lakukan hal berikut:
Di IdP OIDC, daftarkan aplikasi baru untuk Google Cloud Workforce Identity Federation. Perhatikan client ID dan URI penerbit yang diberikan oleh IdP. Anda menggunakannya dalam dokumen ini.
Jika Anda berencana menyiapkan akses pengguna ke konsol, tambahkan URL alihan berikut ke IdP OIDC Anda:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Untuk mempelajari cara mengonfigurasi login konsol (federasi), lihat Menyiapkan akses pengguna ke konsol (federasi).
Di Google Cloud, untuk membuat penyedia, lakukan hal berikut:
Konsol
Alur kode
Di Konsol Google Cloud, untuk membuat penyedia OIDC yang menggunakan alur kode otorisasi, lakukan hal berikut:
Di Konsol Google Cloud, buka halaman Workforce Identity Pool:
Di tabel Workforce Identity Pool, pilih pool tempat Anda ingin membuat penyedia.
Di tabel Penyedia, klik Tambah Penyedia.
Di bagian Pilih protokol, pilih Open ID Connect (OIDC).
Di bagian Buat penyedia pool, lakukan hal berikut:
- Di bagian Nama, masukkan nama penyedia.
- Di bagian Penerbit (URL), masukkan URI penerbit. URI penerbit OIDC harus dalam format URI yang valid dan diawali dengan
https
; misalnya,https://example.com/oidc
. - Masukkan Client ID, client ID OIDC yang terdaftar
dengan IdP OIDC Anda; ID harus cocok dengan klaim
aud
JWT yang dikeluarkan oleh IdP Anda. - Untuk membuat penyedia yang diaktifkan, pastikan Penyedia yang Diaktifkan telah aktif.
- Klik Lanjutkan.
Di bagian Jenis respons, lakukan hal berikut. Jenis respons hanya digunakan untuk alur single sign-on berbasis web.
- Di bagian Jenis respons, pilih Kode.
- Di bagian Rahasia klien, masukkan rahasia klien dari IdP Anda.
Pada Perilaku klaim pernyataan, pilih salah satu opsi berikut:
- Info pengguna dan token ID
- Hanya token ID
Klik Lanjutkan.
Di bagian Konfigurasi penyedia, Anda dapat mengonfigurasi pemetaan atribut dan kondisi atribut. Untuk membuat pemetaan atribut, lakukan hal berikut. Anda dapat memberikan nama kolom IdP atau ekspresi berformat CEL yang menampilkan string.
Wajib: Pada OIDC 1, masukkan subjek dari IdP; misalnya,
assertion.sub
.Opsional: Untuk menambahkan pemetaan atribut tambahan, lakukan hal berikut:
- Klik Tambahkan pemetaan.
- Pada Google n, dengan n adalah angka, masukkan salah satu kunci yang didukung Google Cloud.
- Di kolom OIDC n yang sesuai, masukkan nama kolom khusus IdP yang akan dipetakan, dalam format CEL.
Untuk membuat kondisi atribut, lakukan hal berikut:
- Klik Add condition.
- Di bagian Kondisi Atribut, masukkan kondisi dalam format CEL; misalnya,
assertion.role == 'gcp-users'
. Contoh kondisi ini memastikan bahwa hanya pengguna dengan perangcp-users
yang dapat login menggunakan penyedia ini.
Untuk membuat penyedia, klik Kirim.
Alur implisit
Di konsol Google Cloud, untuk membuat penyedia OIDC yang menggunakan alur implisit, lakukan hal berikut:
Di Konsol Google Cloud, buka halaman Workforce Identity Pool:
Di tabel Workforce Identity Pool, pilih pool tempat Anda ingin membuat penyedia.
Di tabel Penyedia, klik Tambah Penyedia.
Di bagian Pilih protokol, pilih Open ID Connect (OIDC).
Di bagian Buat penyedia pool, lakukan hal berikut:
- Di bagian Nama, masukkan nama penyedia.
- Di bagian Penerbit (URL), masukkan URI penerbit. URI penerbit OIDC harus dalam format URI yang valid dan diawali dengan
https
; misalnya,https://example.com/oidc
. - Masukkan Client ID, client ID OIDC yang terdaftar
dengan IdP OIDC Anda; ID harus cocok dengan klaim
aud
JWT yang dikeluarkan oleh IdP Anda. - Untuk membuat penyedia yang diaktifkan, pastikan Penyedia yang Diaktifkan telah aktif.
- Klik Lanjutkan.
Di bagian Jenis respons, lakukan hal berikut. Jenis respons hanya digunakan untuk alur single sign-on berbasis web.
- Pada Jenis respons, pilih Token ID.
- Klik Lanjutkan.
Di bagian Konfigurasi penyedia, Anda dapat mengonfigurasi pemetaan atribut dan kondisi atribut. Untuk membuat pemetaan atribut, lakukan hal berikut. Anda dapat memberikan nama kolom IdP atau ekspresi berformat CEL yang menampilkan string.
Wajib: Pada OIDC 1, masukkan subjek dari IdP; misalnya,
assertion.sub
.Opsional: Untuk menambahkan pemetaan atribut tambahan, lakukan hal berikut:
- Klik Tambahkan pemetaan.
- Pada Google n, dengan n adalah angka, masukkan salah satu kunci yang didukung Google Cloud.
- Di kolom OIDC n yang sesuai, masukkan nama kolom khusus IdP yang akan dipetakan, dalam format CEL.
Untuk membuat kondisi atribut, lakukan hal berikut:
- Klik Tambahkan kondisi.
Di bagian Kondisi Atribut, masukkan kondisi dalam format CEL; misalnya,
assertion.role == 'gcp-users'
. Contoh kondisi ini memastikan bahwa hanya pengguna dengan perangcp-users
yang dapat login menggunakan penyedia ini.
Untuk membuat penyedia, klik Kirim.
gcloud
Alur kode
Untuk membuat penyedia OIDC yang menggunakan alur kode otorisasi untuk login web, jalankan perintah berikut:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=globalGanti kode berikut:
WORKFORCE_PROVIDER_ID
: ID penyedia kumpulan identitas tenaga kerja yang unik. Awalangcp-
dicadangkan dan tidak dapat digunakan di workforce identity pool atau ID penyedia workforce identity pool.WORKFORCE_POOL_ID
: ID workforce identity pool yang akan dihubungkan dengan IdP Anda.DISPLAY_NAME
: Nama tampilan opsional yang mudah digunakan untuk penyedia; misalnya,idp-eu-employees
.DESCRIPTION
: Deskripsi penyedia workforce opsional; misalnya,IdP for Partner Example Organization employees
.ISSUER_URI
: URI penyedia OIDC, dalam format URI yang valid, yang diawali denganhttps
; misalnya,https://example.com/oidc
. Catatan: Untuk alasan keamanan,ISSUER_URI
harus menggunakan skema HTTPS.OIDC_CLIENT_ID
: ID klien OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaimaud
JWT yang dikeluarkan oleh IdP Anda.OIDC_CLIENT_SECRET
: Rahasia klien OIDC.WEB_SSO_ADDITIONAL_SCOPES
: Cakupan tambahan opsional yang akan dikirim ke IdP OIDC untuk login berbasis browser konsol (federasi) atau gcloud CLI.ATTRIBUTE_MAPPING
: Pemetaan atribut. Berikut adalah contoh pemetaan atribut: Contoh ini memetakan atribut IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
, dancostcenter
dalam pernyataan OIDC ke masing-masing atributgoogle.subject
,google.groups
, danattribute.costcenter
.ATTRIBUTE_CONDITION
: Kondisi atribut; misalnya,assertion.role == 'gcp-users'
. Contoh kondisi ini memastikan bahwa hanya pengguna dengan perangcp-users
yang dapat login menggunakan penyedia ini.JWK_JSON_PATH
: Jalur opsional ke JWK OIDC yang diupload secara lokal. Jika parameter ini tidak disediakan, Google Cloud akan menggunakan jalur/.well-known/openid-configuration
IdP Anda untuk mendapatkan JWK yang berisi kunci publik. Untuk informasi selengkapnya tentang JWK OIDC yang diupload secara lokal, lihat mengelola JWK OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.Alur implisit
Untuk membuat penyedia OIDC yang menggunakan alur implisit untuk login web, jalankan perintah berikut:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Ganti kode berikut:
WORKFORCE_PROVIDER_ID
: ID penyedia kumpulan identitas tenaga kerja yang unik. Awalangcp-
dicadangkan dan tidak dapat digunakan di workforce identity pool atau ID penyedia workforce identity pool.WORKFORCE_POOL_ID
: ID workforce identity pool yang akan dihubungkan dengan IdP Anda.DISPLAY_NAME
: Nama tampilan opsional yang mudah digunakan untuk penyedia; misalnya,idp-eu-employees
.DESCRIPTION
: Deskripsi penyedia workforce opsional; misalnya,IdP for Partner Example Organization employees
.ISSUER_URI
: URI penyedia OIDC, dalam format URI yang valid, yang diawali denganhttps
; misalnya,https://example.com/oidc
. Catatan: Untuk alasan keamanan,ISSUER_URI
harus menggunakan skema HTTPS.OIDC_CLIENT_ID
: ID klien OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaimaud
JWT yang dikeluarkan oleh IdP Anda.WEB_SSO_ADDITIONAL_SCOPES
: Cakupan tambahan opsional yang akan dikirim ke IdP OIDC untuk login berbasis browser konsol (federasi) atau gcloud CLI.ATTRIBUTE_MAPPING
: Pemetaan atribut. Berikut adalah contoh pemetaan atribut: Contoh ini memetakan atribut IdPgoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
, dancostcenter
dalam pernyataan OIDC ke masing-masing atributgoogle.subject
,google.groups
, danattribute.costcenter
.ATTRIBUTE_CONDITION
: Kondisi atribut; misalnya,assertion.role == 'gcp-users'
. Contoh kondisi ini memastikan bahwa hanya pengguna dengan perangcp-users
yang dapat login menggunakan penyedia ini.JWK_JSON_PATH
: Jalur opsional ke JWK OIDC yang diupload secara lokal. Jika parameter ini tidak disediakan, Google Cloud akan menggunakan jalur/.well-known/openid-configuration
IdP Anda untuk mendapatkan JWK yang berisi kunci publik. Untuk informasi selengkapnya tentang JWK OIDC yang diupload secara lokal, lihat mengelola JWK OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.Awalan
gcp-
dicadangkan dan tidak dapat digunakan di workforce identity pool atau ID penyedia workforce identity pool.Untuk federasi OIDC, Anda dapat menggunakan
assertion.NAME
: string yang sama dengan nilai klaim bernama serupa dalam payload token ID.
Membuat penyedia workforce pool SAML
Di IdP SAML, daftarkan aplikasi baru untuk Workforce Identity Federation Google Cloud.
Tetapkan audiens untuk pernyataan SAML. Biasanya ini adalah kolom
SP Entity ID
di konfigurasi IdP Anda. Anda harus menetapkannya ke URL berikut:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Jika Anda berencana untuk menyiapkan akses pengguna ke konsol, maka pada IdP SAML, tetapkan kolom URL alihan atau URL Assertion Consumer Service (ACS) ke URL berikut:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Lihat Menyiapkan akses pengguna ke konsol untuk detail selengkapnya tentang cara mengonfigurasi login dengan konsol.
Di Google Cloud, buat penyedia workforce identity pool SAML dengan dokumen metadata SAML IdP. Anda dapat mendownload dokumen XML metadata SAML dari IdP. Dokumen setidaknya harus menyertakan hal berikut:
- ID entitas SAML untuk IdP Anda.
- URL single sign-on untuk IdP Anda.
- Minimal satu kunci publik penandatanganan. Lihat Persyaratan kunci dalam panduan ini untuk mengetahui detail tentang kunci penandatanganan.
Konsol
Untuk mengonfigurasi penyedia SAML menggunakan konsol Google Cloud, lakukan hal berikut:
Di Konsol Google Cloud, buka halaman Workforce Identity Pool:
Di tabel Workforce Identity Pool, pilih pool yang ingin Anda buatkan penyedia.
Di tabel Penyedia, klik Tambah Penyedia.
Pada bagian Pilih protokol, pilih SAML.
Di bagian Buat penyedia pool lakukan hal berikut:
Di bagian Nama, masukkan nama penyedia.
Opsional: Di bagian Deskripsi, masukkan deskripsi penyedia.
Di file metadata IDP (XML), pilih file XML metadata yang Anda buat sebelumnya dalam panduan ini.
Pastikan bagian Aktifkan provider sudah aktif.
Klik Lanjutkan.
Di Penyedia konfigurasi, lakukan langkah berikut:
Di Pemetaan atribut, masukkan ekspresi CEL untuk
google.subject
.Opsional: Untuk memasukkan pemetaan lain, klik Tambahkan pemetaan, lalu masukkan pemetaan lain, misalnya:
Contoh ini memetakan atribut IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
, danassertion.attributes.costcenter[0]
ke atribut Google Cloudgoogle.subject
,google.groups
, dangoogle.costcenter
.Opsional: Untuk menambahkan kondisi atribut, klik Tambahkan kondisi, lalu masukkan ekspresi CEL yang mewakili kondisi atribut. Misalnya, untuk membatasi atribut
ipaddr
ke rentang IP tertentu, Anda dapat mengatur kondisi menjadiassertion.attributes.ipaddr.startsWith('98.11.12.')
. Contoh kondisi ini memastikan bahwa hanya pengguna dengan alamat IP yang diawali dengan98.11.12.
yang dapat login menggunakan penyedia workforce ini.Klik Lanjutkan.
Untuk membuat penyedia, klik Kirim.
gcloud
Untuk mengonfigurasi penyedia SAML menggunakan gcloud CLI, lakukan langkah berikut:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--idp-metadata-path=METADATA_FILE_PATH \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--location=global
Ganti kode berikut:
WORKFORCE_PROVIDER_ID
: ID penyedia workforce identity pool.WORKFORCE_POOL_ID
: ID kumpulan identitas tenaga kerja.DISPLAY_NAME
Nama tampilan untuk penyedia; misalnya,idp-eu-employees
.DESCRIPTION
: Deskripsi untuk penyedia workforce identity pool; misalnya,IdP for Partner Example Organization EU employees
.METADATA_FILE_PATH
: Jalur file metadata SAML.ATTRIBUTE_MAPPING
: Pemetaan atribut; misalnya: Contoh ini memetakan atribut IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
, danassertion.attributes.costcenter[0]
ke atribut Google Cloudgoogle.subject
,google.groups
, dangoogle.costcenter
.ATTRIBUTE_CONDITION
: Kondisi atribut. Misalnya, untuk membatasi atributipaddr
ke rentang IP tertentu, Anda dapat mengatur kondisi menjadiassertion.attributes.ipaddr.startsWith('98.11.12.')
. Contoh kondisi ini memastikan bahwa hanya pengguna dengan alamat IP yang diawali dengan98.11.12.
yang dapat login menggunakan penyedia workforce ini.
Penyedia memerlukan waktu beberapa menit untuk mulai menerima permintaan.
Untuk federasi SAML, Anda dapat menggunakan kata kunci berikut dalam pemetaan dan ketentuan atribut:
assertion.subject
: string yang sama dengan atributNameID
dalam pernyataan SAML.assertion.attributes.NAME
: daftar string yang sama dengan nilai atribut bernama serupa dalam pernyataan SAML.
Opsional: Menerima pernyataan SAML terenkripsi dari IdP
Untuk mengaktifkan IdP SAML 2.0 guna memproduksi pernyataan SAML terenkripsi yang dapat diterima oleh workforce identity federation, lakukan hal berikut:
- Dalam workforce identity federation, lakukan hal berikut:
- Buat pasangan kunci asimetris untuk penyedia workforce identity pool Anda.
- Download file sertifikat yang berisi kunci publik.
- Konfigurasikan IdP SAML untuk menggunakan kunci publik guna mengenkripsi pernyataan SAML yang dikeluarkan.
- Di IdP Anda, lakukan hal berikut:
- Aktifkan enkripsi pernyataan, yang juga dikenal sebagai enkripsi token.
- Upload kunci publik yang Anda buat di workforce identity federation.
- Pastikan IdP Anda menghasilkan pernyataan SAML terenkripsi.
Membuat kunci enkripsi pernyataan SAML untuk workforce identity federation
Bagian ini memandu Anda untuk membuat pasangan kunci asimetris yang memungkinkan workforce identity federation untuk menerima pernyataan SAML yang terenkripsi.
Google Cloud menggunakan kunci pribadi untuk mendekripsi pernyataan SAML yang dikeluarkan IdP Anda. Untuk membuat pasangan kunci asimetris yang akan digunakan dengan enkripsi SAML, jalankan perintah berikut. Untuk mempelajari lebih lanjut, lihat Algoritma enkripsi SAML yang didukung.
gcloud iam workforce-pools providers keys create KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
Ganti kode berikut:
KEY_ID
: nama kunci yang Anda pilihWORKFORCE_POOL_ID
: ID poolWORKFORCE_PROVIDER_ID
: ID penyedia workforce identity pool-
KEY_SPECIFICATION
: spesifikasi kunci, yang dapat berupa salah satu darirsa-2048
,rsa-3072
, danrsa-4096
.
Setelah membuat pasangan kunci, untuk mendownload kunci publik ke dalam file sertifikat, jalankan perintah berikut. Hanya workforce identity federation yang memiliki akses ke kunci pribadi.
gcloud iam workforce-pools providers keys describe KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
Ganti kode berikut:
KEY_ID
: adalah nama kunciWORKFORCE_POOL_ID
: ID poolWORKFORCE_PROVIDER_ID
: ID penyedia workforce identity poolCERTIFICATE_PATH
: jalur untuk menulis sertifikat misalnya,saml-certificate.cer
atausaml-certificate.pem
Mengonfigurasi IdP yang sesuai dengan SAML 2.0 untuk mengeluarkan pernyataan SAML terenkripsi
Konfigurasikan IdP SAML agar menggunakan sertifikat publik yang didownload dari langkah terakhir untuk mengenkripsi pernyataan SAML yang dikeluarkan. Konsultasikan dengan tim IdP Anda untuk mendapatkan petunjuk khusus.Setelah mengonfigurasi IdP untuk mengenkripsi pernyataan SAML, sebaiknya periksa untuk memastikan bahwa pernyataan yang dihasilkan benar-benar dienkripsi. Bahkan dengan enkripsi pernyataan SAML yang dikonfigurasi, workforce identity federation masih dapat memproses pernyataan teks biasa.
Menghapus kunci enkripsi workforce identity federation
Untuk menghapus kunci enkripsi SAML, jalankan perintah berikut:gcloud iam workforce-pools providers keys delete KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global
Ganti kode berikut:
KEY_ID
: adalah nama kunciWORKFORCE_POOL_ID
: ID poolWORKFORCE_PROVIDER_ID
: ID penyedia workforce identity pool
Algoritma enkripsi SAML yang didukung
Workforce identity federation mendukung algoritma transpor kunci berikut:
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
- http://www.w3.org/2009/xmlenc11#rsa-oaep"
- http://www.w3.org/2001/04/xmlenc#rsa-1_5"
Workforce identity federation mendukung algoritma enkripsi blok berikut:
- http://www.w3.org/2001/04/xmlenc#aes128-cbc
- http://www.w3.org/2001/04/xmlenc#aes192-cbc
- http://www.w3.org/2001/04/xmlenc#aes256-cbc
- http://www.w3.org/2009/xmlenc11#aes128-gcm
- http://www.w3.org/2009/xmlenc11#aes256-gcm
Persyaratan kunci penandatanganan SAML X.509
Spesifikasi kunci berikut berlaku untuk kunci penandatanganan SAML X.509:
Kunci publik RSA yang digabungkan dalam sertifikat X.509 v3.
Persyaratan validitas sertifikat:
notBefore
: stempel waktu yang tidak lebih dari 7 hari ke depannotAfter
: stempel waktu yang tidak lebih dari 20 tahun ke depan
Algoritma yang direkomendasikan:
- RSAwithSHA256 (ukuran kunci yang didukung (bit): 2048, 3072, 4096)
- ECDSAwithSHA256
Penyedia workforce identity pool dapat dikonfigurasi dengan maksimal tiga kunci penandatanganan secara bersamaan. Jika ada beberapa kunci, Google Cloud akan melakukan iterasi dan mencoba menggunakan setiap kunci yang belum habis masa berlakunya untuk memenuhi permintaan pertukaran token.
Praktik terbaiknya, sebaiknya Anda tidak menggunakan kembali pasangan kunci yang sama dengan layanan lain.
Pengelolaan kunci
Untuk mengupdate kunci penandatanganan IdP, lakukan langkah-langkah berikut:
Buat pasangan kunci asimetris baru dan konfigurasikan penyedia identitas SAML dengan pasangan kunci tersebut. Awalnya, Anda menandainya sebagai tidak aktif sebelum mengaktifkannya di langkah berikutnya.
Download dokumen XML metadata SAML dari IdP Anda.
Perbarui resource penyedia workforce identity pool dengan dokumen metadata SAML. Jika ada beberapa kunci, Google Cloud akan melakukan iterasi melalui setiap kunci yang belum habis masa berlakunya dan mencoba untuk memenuhi permintaan pertukaran token.
Untuk memperbarui penyedia workforce identity pool dengan metadata SAML, jalankan perintah berikut.
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Ganti kode berikut:
WORKFORCE_PROVIDER_ID
: ID penyedia workforce identity poolWORKFORCE_POOL_ID
: ID workforce identity poolSAML_METADATA_FILE_PATH
: jalur ke file metadata SAML
Tunggu hingga operasi yang ditampilkan dari langkah sebelumnya selesai (operasi ditandai sebagai selesai), lalu pada IdP SAML, aktifkan kunci penandatanganan baru. Kunci penandatanganan lama ditandai sebagai tidak aktif. Pernyataan yang dikeluarkan oleh IdP Anda ditandatangani menggunakan kunci baru.
Langkah berikut bersifat opsional, tetapi sebaiknya Anda melakukannya untuk hasil terbaik:
- Hapus kunci penandatanganan lama yang sekarang tidak aktif dari IdP Anda.
- Download dokumen XML metadata SAML dari IdP Anda.
Perbarui resource penyedia workforce identity pool dengan dokumen metadata SAML. Google Cloud menolak pernyataan yang ditandatangani dengan kunci penandatanganan yang sudah habis masa berlakunya. Untuk memperbarui dokumen, jalankan perintah berikut:
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Ganti kode berikut:
WORKFORCE_PROVIDER_ID
: ID penyedia workforce identity poolWORKFORCE_POOL_ID
: ID workforce identity poolSAML_METADATA_FILE_PATH
: jalur metadata SAML
Batasan penghapusan kunci
Google Cloud menolak pernyataan yang ditandatangani dengan kunci yang dihapus.
Merepresentasikan pengguna workforce pool dalam kebijakan IAM
Tabel berikut menunjukkan ID utama yang Anda gunakan untuk memberikan peran kepada pengguna tunggal, sekelompok pengguna, pengguna yang memiliki klaim tertentu, atau semua pengguna dari workforce pool.
Identitas | Format ID |
---|---|
Identitas tunggal dalam workforce identity pool |
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
|
Semua identitas workforce dalam grup |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
|
Semua identitas workforce dengan nilai atribut tertentu |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
|
Semua identitas dalam workforce identity pool |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*
|
Memberikan peran IAM ke akun utama
Anda dapat memberikan peran ke akun utama, seperti identitas tunggal, sekelompok identitas, atau keseluruhan pool.
Untuk memberikan peran pada project kepada akun utama, jalankan perintah berikut:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role="ROLE" \
--member="PRINCIPAL"
Ganti kode berikut:
PROJECT_ID
: project IDROLE
: peran yang akan ditetapkanPRINCIPAL
: akun utama; lihat ID utama untuk Workforce Identity Federation.
Pada contoh berikut, perintah memberikan peran Storage Admin
(roles/storage.admin
) ke semua identitas dalam grup
GROUP_ID
:
gcloud projects add-iam-policy-binding my-project \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Untuk mengetahui informasi selengkapnya tentang format utama, lihat ID utama untuk Workforce Identity Federation.
Menghapus pengguna
Workforce Identity Federation membuat metadata dan resource pengguna untuk identitas pengguna gabungan. Misalnya, jika Anda memilih untuk menghapus pengguna di IdP, Anda juga harus menghapus resource ini secara eksplisit di Google Cloud. Untuk melakukannya, lihat Menghapus pengguna Workforce Identity Federation dan datanya.
Anda mungkin melihat resource terus dikaitkan dengan pengguna yang telah dihapus. Hal ini karena menghapus metadata dan resource pengguna memerlukan operasi yang berjalan lama. Setelah Anda memulai penghapusan identitas pengguna, proses yang dimulai pengguna sebelum penghapusan dapat terus berjalan hingga proses tersebut selesai atau dibatalkan.
Langkah selanjutnya
- Mendapatkan kredensial jangka pendek untuk Workforce Identity Federation
- Mengelola penyedia workforce identity pool
- Menghapus pengguna Workforce Identity Federation dan datanya
- Pelajari produk Google Cloud mana yang mendukung Workforce Identity Federation
- Menyiapkan akses pengguna ke konsol (gabungan)