Dokumen ini menunjukkan cara mengonfigurasi Workforce Identity Federation dengan penyedia identitas (IdP) Microsoft Entra ID dan mengelola akses ke Google Cloud. Pengguna gabungan kemudian dapat mengakses Google Cloud layanan yang mendukung Workforce Identity Federation. Anda dapat menggunakan protokol OIDC atau protokol SAML 2.0 untuk memfederasikan identitas.
Sebelum memulai
- Pastikan Anda telah menyiapkan Google Cloud organisasi.
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
- Di Microsoft Entra ID, pastikan token ID diaktifkan untuk alur implisit. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan pemberian implisit token ID.
- 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 Anda, Anda harus memberikan Kontak Penting.Google Cloud Untuk mengetahui informasi selengkapnya, lihat Ringkasan Workforce Identity Federation.
Biaya
Workforce Identity Federation tersedia sebagai fitur tanpa biaya. Namun, audit logging mendetail Workforce Identity Federation menggunakan Cloud Logging. Untuk mempelajari harga Logging, lihat Harga Google Cloud Observability.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna mengonfigurasi Workforce Identity Federation,
minta administrator untuk memberi Anda
IAM Workforce Pool Admin (roles/iam.workforcePoolAdmin)
peran IAM 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.
Jika Anda mengonfigurasi izin di lingkungan pengembangan atau pengujian—tetapi bukan di lingkungan produksi—Anda dapat memberikan peran dasar Pemilik IAM (roles/owner), yang juga mencakup izin untuk Workforce Identity Federation.
Membuat aplikasi Microsoft Entra ID
Bagian ini menunjukkan cara membuat aplikasi Microsoft Entra ID menggunakan portal admin Microsoft Entra. Atau, Anda dapat mengupdate aplikasi yang ada. Untuk mengetahui detail tambahan, lihat Membangun aplikasi di ekosistem Microsoft Entra ID.Workforce identity pool mendukung federasi menggunakan protokol OIDC dan SAML.
OIDC
Untuk membuat pendaftaran aplikasi Microsoft Entra ID yang menggunakan protokol OIDC, lakukan hal berikut:
Login ke portal administrator Microsoft Entra.
Buka Identity > Applications > App registrations.
Untuk mulai mengonfigurasi pendaftaran aplikasi, lakukan hal berikut:
Klik New registration.
Masukkan nama untuk aplikasi Anda.
Di Jenis akun yang didukung, pilih salah satu opsi.
Di bagian URI Pengalihan, pada menu drop-down Pilih platform, pilih Web.
Di kolom teks, masukkan URL pengalihan. Pengguna Anda akan dialihkan ke URL ini setelah berhasil login. Jika Anda mengonfigurasi akses ke konsol (gabungan), gunakan format URL berikut:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDGanti kode berikut:
WORKFORCE_POOL_ID: ID workforce identity pool yang akan Anda gunakan saat membuat workforce identity pool nanti dalam dokumen ini—misalnya:entra-id-oidc-poolWORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang akan Anda gunakan saat membuat penyedia workforce identity pool nanti dalam dokumen ini—misalnya:entra-id-oidc-pool-providerUntuk mengetahui informasi tentang cara memformat ID, lihat bagian Parameter kueri dalam dokumentasi API.
Untuk membuat pendaftaran aplikasi, klik Daftar.
Untuk menggunakan contoh pemetaan atribut yang disediakan nanti dalam dokumen ini, Anda harus membuat atribut
departmentkustom.
Direkomendasikan: Sebagai praktik terbaik keamanan, sebaiknya Anda mengonfigurasi klaim grup dengan melakukan hal berikut:
Buka pendaftaran aplikasi Microsoft Entra ID Anda.
Klik Token configuration.
Klik Tambahkan klaim grup.
Pilih jenis grup yang akan ditampilkan. Untuk detail selengkapnya, lihat Mengonfigurasi klaim opsional grup.
SAML
Untuk membuat pendaftaran aplikasi Microsoft Entra ID yang menggunakan protokol SAML, lakukan hal berikut:
Login ke portal administrator Microsoft Entra.
Di menu navigasi sebelah kiri, buka Entra ID > Enterprise Apps.
Untuk mulai mengonfigurasi aplikasi perusahaan, lakukan hal berikut:
Klik Aplikasi baru > Buat aplikasi Anda sendiri.
Di panel Create your own application yang muncul, masukkan nama untuk aplikasi Anda.
Klik Buat.
Buka Single sign-on > SAML.
Update Konfigurasi Basic SAML sebagai berikut:
Di kolom Identifier (ID Entitas), masukkan nilai berikut:
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDGanti kode berikut:
WORKFORCE_POOL_ID: ID workforce identity pool yang akan Anda gunakan saat membuat workforce identity pool nanti dalam dokumen ini—misalnya:entra-id-saml-poolWORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang akan Anda gunakan saat membuat penyedia workforce identity pool nanti dalam dokumen ini—misalnya:entra-id-saml-pool-providerUntuk mengetahui informasi tentang cara memformat ID, lihat bagian Parameter kueri dalam dokumentasi API.
Di kolom Reply URL (Assertion Consumer Service URL), masukkan URL alihan. Pengguna Anda akan dialihkan ke URL ini setelah berhasil login. Jika Anda mengonfigurasi akses ke konsol (gabungan), gunakan format URL berikut:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDGanti kode berikut:
WORKFORCE_POOL_ID: ID workforce identity poolWORKFORCE_PROVIDER_ID: ID penyedia identitas tenaga kerja
Untuk mengaktifkan login yang dimulai dengan IdP, tetapkan kolom Status Relai ke nilai berikut:
https://console.cloud.google/Untuk menyimpan konfigurasi aplikasi SAML, klik Simpan.
Untuk menggunakan contoh pemetaan atribut yang disediakan nanti dalam dokumen ini, Anda harus membuat atribut
departmentkustom.
Direkomendasikan: Sebagai praktik terbaik keamanan, sebaiknya Anda mengonfigurasi klaim grup dengan melakukan hal berikut:
Buka aplikasi Microsoft Entra ID Anda.
Klik Single sign-on.
Di bagian Attributes & Claims, klik Edit.
Klik Tambahkan klaim grup.
Pilih jenis grup yang akan ditampilkan. Untuk detail selengkapnya, baca Menambahkan klaim grup ke token untuk aplikasi SAML menggunakan konfigurasi SSO.
Membuat workforce identity pool
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 organisasi Anda Google Cloud untuk workforce identity pool. Workforce identity pool tersedia di semua project dan folder dalam organisasi.DISPLAY_NAME: Opsional. Nama tampilan untuk kumpulan identitas tenaga kerja Anda.DESCRIPTION: Opsional. Deskripsi workforce identity pool.SESSION_DURATION: Opsional. Durasi sesi, dinyatakan sebagai angka yang ditambahkan dengans—misalnya,3600s. Durasi sesi menentukan durasi validnya token akses Google Cloud , sesi login konsol (federasi), dan sesi login gcloud CLI dari workforce pool ini. Durasi sesi default adalah satu jam (3600 detik). Nilai durasi sesi harus antara 15 menit (900 detik) dan 12 jam (43200 detik).
Konsol
Untuk membuat workforce identity pool, lakukan hal berikut:
Di konsol Google Cloud , buka halaman Workforce Identity Pools:
Pilih organisasi untuk workforce identity pool Anda. Kumpulan identitas tenaga kerja tersedia di semua project dan folder dalam organisasi.
Klik Buat pool dan lakukan tindakan berikut:
Di kolom Name, masukkan nama tampilan pool. ID pool diambil secara otomatis dari nama saat Anda mengetik, dan ID tersebut ditampilkan di bawah kolom Nama. Anda dapat memperbarui ID pool dengan mengklik Edit di samping ID pool.
Opsional: Di Deskripsi, masukkan deskripsi pool.
Untuk membuat workforce identity pool, klik Berikutnya.
Durasi sesi workforce identity pool secara default adalah satu jam (3600 detik). Durasi sesi menentukan durasi validnya token akses Google Cloud , konsol (federasi), dan sesi login gcloud CLI dari workforce pool ini. Setelah membuat kumpulan, Anda dapat memperbarui kumpulan untuk menetapkan durasi sesi kustom. Durasi sesi harus dari 15 menit (900 detik) hingga 12 jam (43200 detik).
Membuat penyedia workforce identity pool Microsoft Entra ID
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 identity pool OIDC
Untuk membuat penyedia workforce identity pool untuk integrasi aplikasi Microsoft Entra ID Anda, menggunakan protokol OIDC, lakukan hal berikut:
Untuk mendapatkan URI penerbit untuk aplikasi Microsoft Entra ID Anda, lakukan hal berikut:
- Buka pendaftaran aplikasi Microsoft Entra ID Anda.
- Klik Endpoint.
- Buka dokumen metadata OpenID Connect di tab baru.
- Di JSON, salin nilai
issuer.
Untuk mendapatkan client ID aplikasi Microsoft Entra ID Anda, lakukan hal berikut:
- Buka pendaftaran aplikasi Microsoft Entra ID Anda.
- Di ID Aplikasi (klien), salin nilainya.
Untuk membuat penyedia workforce identity pool OIDC untuk login berbasis web, lakukan hal berikut:
gcloud
Untuk membuat penyedia yang mendukung protokol OIDC, lakukan hal berikut:
Alur kode
Untuk membuat penyedia OIDC yang menggunakan alur kode otorisasi untuk login berbasis web, lakukan hal berikut:
Di aplikasi Microsoft Entra ID, untuk mendapatkan rahasia klien, lakukan hal berikut:
Buka pendaftaran aplikasi Microsoft Entra ID Anda.
Di Sertifikat & rahasia, klik tab Rahasia klien.
Untuk menambahkan rahasia klien, klik + Rahasia klien baru.
Dalam dialog Tambahkan rahasia klien, masukkan informasi sesuai kebutuhan.
Untuk membuat rahasia klien, klik Tambahkan.
Di tab Rahasia klien, temukan rahasia klien baru Anda.
Di kolom Nilai untuk rahasia klien baru Anda, klik content_copy Salin.
Di konsol Google Cloud , untuk membuat penyedia OIDC yang menggunakan alur kode, lakukan hal 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" \ --detailed-audit-logging \ --location=globalGanti kode berikut:
WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang unik. Awalangcp-dicadangkan dan tidak dapat digunakan dalam ID penyedia workforce identity pool atau workforce identity pool.WORKFORCE_POOL_ID: ID workforce identity pool untuk menghubungkan 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_URIharus menggunakan skema HTTPS.OIDC_CLIENT_ID: ID klien OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaimaudJWT 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. Untuk Microsoft Entra ID dengan autentikasi OIDC, sebaiknya gunakan pemetaan atribut berikut:google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_usernameContoh ini memetakan atribut IdP
subject,groups, danpreferred_usernameke atribut Google Cloudgoogle.subject,google.groups, dangoogle.display_name.ATTRIBUTE_CONDITION: Kondisi atribut; misalnya, untuk membatasi atributipaddrke rentang IP tertentu, Anda dapat menetapkan kondisiassertion.ipaddr.startsWith('98.11.12.').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-configurationIdP Anda untuk mendapatkan JWK yang berisi kunci publik. Untuk informasi selengkapnya tentang JWK OIDC yang diupload secara lokal, lihat mengelola JWK OIDC.-
Pencatatan log audit mendetail Workforce Identity Federation mencatat informasi yang diterima dari IdP Anda ke Logging. Logging audit mendetail dapat membantu Anda memecahkan masalah konfigurasi penyedia pool identitas tenaga kerja. Untuk mempelajari cara memecahkan masalah error pemetaan atribut dengan logging audit mendetail, lihat Error pemetaan atribut umum. Untuk mempelajari harga Logging, lihat Harga Google Cloud Observability.
Untuk menonaktifkan logging audit mendetail untuk penyedia workforce identity pool, hapus tanda
--detailed-audit-loggingsaat Anda menjalankangcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.
locations/global/workforcePools/enterprise-example-organization-employees.
Alur implisit
Untuk membuat penyedia OIDC yang menggunakan alur implisit untuk login web, lakukan hal berikut:
Untuk mengaktifkan token ID di aplikasi Microsoft Entra ID, lakukan hal berikut:
- Buka pendaftaran aplikasi Microsoft Entra ID Anda.
- Di bagian Autentikasi, centang kotak token ID.
- Klik Simpan.
Untuk membuat penyedia, 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" \ --detailed-audit-logging \ --location=globalGanti kode berikut:
WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang unik. Awalangcp-dicadangkan dan tidak dapat digunakan dalam ID penyedia workforce identity pool atau workforce identity pool.WORKFORCE_POOL_ID: ID workforce identity pool untuk menghubungkan 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_URIharus menggunakan skema HTTPS.OIDC_CLIENT_ID: ID klien OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaimaudJWT 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. Untuk Microsoft Entra ID dengan autentikasi OIDC, sebaiknya gunakan pemetaan atribut berikut:google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_usernameContoh ini memetakan atribut IdP
subject,groups, danpreferred_usernameke atribut Google Cloudgoogle.subject,google.groups, dangoogle.display_name.ATTRIBUTE_CONDITION: Kondisi atribut; misalnya, untuk membatasi atributipaddrke rentang IP tertentu, Anda dapat menetapkan kondisiassertion.ipaddr.startsWith('98.11.12.').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-configurationIdP Anda untuk mendapatkan JWK yang berisi kunci publik. Untuk informasi selengkapnya tentang JWK OIDC yang diupload secara lokal, lihat mengelola JWK OIDC.-
Pencatatan log audit mendetail Workforce Identity Federation mencatat informasi yang diterima dari IdP Anda ke Logging. Logging audit mendetail dapat membantu Anda memecahkan masalah konfigurasi penyedia pool identitas tenaga kerja. Untuk mempelajari cara memecahkan masalah error pemetaan atribut dengan logging audit mendetail, lihat Error pemetaan atribut umum. Untuk mempelajari harga Logging, lihat Harga Google Cloud Observability.
Untuk menonaktifkan logging audit mendetail untuk penyedia workforce identity pool, hapus tanda
--detailed-audit-loggingsaat Anda menjalankangcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.
locations/global/workforcePools/enterprise-example-organization-employees.
Konsol
Alur kode
Untuk membuat penyedia OIDC yang menggunakan alur kode otorisasi untuk login berbasis web, lakukan hal berikut:
Untuk mendapatkan rahasia klien Microsoft Entra ID, lakukan hal berikut:
Buka pendaftaran aplikasi Microsoft Entra ID Anda.
Di Sertifikat & rahasia, klik tab Rahasia klien.
Untuk menambahkan rahasia klien, klik + Rahasia klien baru.
Dalam dialog Tambahkan rahasia klien, masukkan informasi sesuai kebutuhan.
Untuk membuat rahasia klien, klik Tambahkan.
Di tab Rahasia klien, temukan rahasia klien baru Anda.
Di kolom Nilai untuk rahasia klien baru Anda, klik content_copy Salin.
Di konsol Google Cloud , untuk membuat penyedia OIDC yang menggunakan alur kode otorisasi, lakukan hal berikut:
Di konsol Google Cloud , buka halaman Workforce Identity Pools:
Di tabel Workforce Identity Pool, pilih pool tempat Anda ingin membuat penyedia.
Di bagian Penyedia, klik Tambahkan Penyedia.
Di daftar Pilih vendor Penyedia, pilih IdP Anda.
Jika IdP Anda tidak tercantum, pilih Penyedia Identitas Umum.
Di bagian Pilih protokol autentikasi, pilih OpenID Connect (OIDC).
Di bagian Buat penyedia, lakukan hal berikut:
- Di bagian Nama, masukkan nama penyedia.
- Di bagian Deskripsi, masukkan deskripsi 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. - Di bagian Client ID, masukkan client ID OIDC yang terdaftar
dengan IdP OIDC Anda; ID harus cocok dengan klaim
audJWT yang dikeluarkan oleh IdP Anda. Untuk membuat penyedia yang diaktifkan, pastikan Aktifkan penyedia telah aktif.
- Klik Lanjutkan.
Di bagian Bagikan informasi penyedia Anda dengan IdP, salin URL. Di IdP Anda, konfigurasi URL ini sebagai URI pengalihan, yang memberi tahu IdP Anda tempat tujuan pengiriman token pernyataan setelah login.
Klik Lanjutkan.
Di bagian Configure OIDC Web Sign-in, lakukan hal berikut:
- Di daftar Flow type, pilih Code.
Di daftar Perilaku klaim pernyataan, pilih salah satu opsi berikut:
- Info pengguna dan token ID
- Hanya token ID
Di kolom Rahasia klien, masukkan rahasia klien dari IdP Anda.
Opsional: Jika Anda memilih Okta sebagai IdP, tambahkan cakupan OIDC tambahan di kolom Additional scopes beyond openid, profile, and email.
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.Untuk Microsoft Entra ID dengan autentikasi OIDC, sebaiknya gunakan pemetaan atribut berikut:
google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_usernameContoh ini memetakan atribut IdP
subject,groups, danpreferred_usernameke atribut Google Cloudgoogle.subject,google.groups, dangoogle.display_name.Opsional: Untuk menambahkan pemetaan atribut tambahan, lakukan hal berikut:
- Klik Tambahkan pemetaan.
- Pada Google n, dengan n adalah angka, masukkan salah satu kunci yang didukungGoogle Cloud.
- Di kolom OIDC n yang sesuai, masukkan nama kolom khusus IdP yang akan dipetakan, dalam format CEL.
Jika Anda memilih Microsoft Entra ID sebagai IdP, Anda dapat menambah jumlah grup.
- Pilih Gunakan Atribut Tambahan.
- Di kolom Extra Attributes Issuer URI, masukkan URL penerbit.
- Di kolom Extra Attributes Client ID, masukkan ID klien.
- Di kolom Extra Attributes Client Secret, masukkan rahasia klien.
- Di daftar Jenis Atribut Tambahan, pilih jenis atribut untuk atribut tambahan.
- Di kolom Filter Atribut Tambahan, masukkan ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup.
Untuk membuat kondisi atribut, lakukan hal berikut:
- Klik Add condition.
- Di kolom Kondisi Atribut, masukkan kondisi dalam format CEL;
misalnya, untuk membatasi atribut
ipaddrke rentang IP tertentu, Anda dapat menetapkan kondisiassertion.ipaddr.startsWith('98.11.12.').
Untuk mengaktifkan logging audit mendetail, di Logging mendetail, klik tombol Aktifkan logging audit nilai atribut.
Pencatatan log audit mendetail Workforce Identity Federation mencatat informasi yang diterima dari IdP Anda ke Logging. Logging audit mendetail dapat membantu Anda memecahkan masalah konfigurasi penyedia pool identitas tenaga kerja. Untuk mempelajari cara memecahkan masalah error pemetaan atribut dengan logging audit mendetail, lihat Error pemetaan atribut umum. Untuk mempelajari harga Logging, lihat Harga Google Cloud Observability.
Untuk menonaktifkan logging audit mendetail untuk penyedia workforce identity pool, hapus tanda
--detailed-audit-loggingsaat Anda menjalankangcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.
Untuk membuat penyedia, klik Kirim.
Alur implisit
Untuk membuat penyedia OIDC yang menggunakan alur implisit untuk login berbasis web, lakukan hal berikut:
Untuk mengaktifkan token ID di aplikasi Microsoft Entra ID, lakukan hal berikut:
- Buka pendaftaran aplikasi Microsoft Entra ID Anda.
- Di bagian Autentikasi, centang kotak token ID.
- Klik Simpan.
Di konsol Google Cloud , buka halaman Workforce Identity Pools:
Di tabel Workforce Identity Pool, pilih pool tempat Anda ingin membuat penyedia.
Di bagian Penyedia, klik Tambahkan Penyedia.
Di daftar Pilih vendor Penyedia, pilih IdP Anda.
Jika IdP Anda tidak tercantum, pilih Penyedia Identitas Umum.
Di bagian Pilih protokol autentikasi, pilih OpenID Connect (OIDC).
Di bagian Buat penyedia, lakukan hal berikut:
- Di bagian Nama, masukkan nama penyedia.
- Di bagian Deskripsi, masukkan deskripsi 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. - Di bagian Client ID, masukkan client ID OIDC yang terdaftar
dengan IdP OIDC Anda; ID harus cocok dengan klaim
audJWT yang dikeluarkan oleh IdP Anda. - Untuk membuat penyedia yang diaktifkan, pastikan Aktifkan penyedia sudah aktif.
- Klik Lanjutkan.
Di bagian Bagikan informasi penyedia Anda dengan IdP, salin URL. Di IdP Anda, konfigurasi URL ini sebagai URI pengalihan, yang memberi tahu IdP Anda tempat pengiriman token pernyataan setelah login.
Klik Lanjutkan.
Di bagian Configure OIDC Web Sign-in, lakukan hal berikut:
Di daftar Flow type, pilih ID Token.
Dalam daftar Perilaku klaim pernyataan, Token ID dipilih.
Opsional: Jika Anda memilih Okta sebagai IdP, tambahkan cakupan OIDC tambahan di kolom Additional scopes beyond openid, profile, and email.
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.Untuk Microsoft Entra ID dengan autentikasi OIDC, sebaiknya gunakan pemetaan atribut berikut:
google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_usernameContoh ini memetakan atribut IdP
subject,groups, danpreferred_usernameke atribut Google Cloudgoogle.subject,google.groups, dangoogle.display_name.Opsional: Untuk menambahkan pemetaan atribut tambahan, lakukan hal berikut:
- Klik Tambahkan pemetaan.
- Pada Google n, dengan n adalah angka, masukkan salah satu kunci yang didukungGoogle Cloud.
- Di kolom OIDC n yang sesuai, masukkan nama kolom khusus IdP yang akan dipetakan, dalam format CEL.
Jika Anda memilih Microsoft Entra ID sebagai IdP, Anda dapat menambah jumlah grup.
- Pilih Gunakan Atribut Tambahan.
- Di kolom Extra Attributes Issuer URI, masukkan URL penerbit.
- Di kolom Extra Attributes Client ID, masukkan ID klien.
- Di kolom Extra Attributes Client Secret, masukkan rahasia klien.
- Di daftar Jenis Atribut Tambahan, pilih jenis atribut untuk atribut tambahan.
- Di kolom Filter Atribut Tambahan, masukkan ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup.
Untuk membuat kondisi atribut, lakukan hal berikut:
- Klik Add condition.
- Di kolom Kondisi Atribut, masukkan kondisi dalam format CEL;
misalnya, untuk membatasi atribut
ipaddrke rentang IP tertentu, Anda dapat menetapkan kondisiassertion.ipaddr.startsWith('98.11.12.').
Untuk mengaktifkan logging audit mendetail, di Logging mendetail, klik tombol Aktifkan logging audit nilai atribut.
Pencatatan log audit mendetail Workforce Identity Federation mencatat informasi yang diterima dari IdP Anda ke Logging. Logging audit mendetail dapat membantu Anda memecahkan masalah konfigurasi penyedia pool identitas tenaga kerja. Untuk mempelajari cara memecahkan masalah error pemetaan atribut dengan logging audit mendetail, lihat Error pemetaan atribut umum. Untuk mempelajari harga Logging, lihat Harga Google Cloud Observability.
Untuk menonaktifkan logging audit mendetail untuk penyedia workforce identity pool, hapus tanda
--detailed-audit-loggingsaat Anda menjalankangcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.
Untuk membuat penyedia, klik Kirim.
Membuat penyedia workforce identity pool SAML 2.0
Pada IdP SAML, daftarkan aplikasi baru untuk Google Cloud Workforce Identity Federation.
Tetapkan audiens untuk pernyataan SAML. Biasanya ini adalah kolom
SP Entity IDdi konfigurasi IdP Anda. Anda harus menetapkannya ke URL berikut:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDTetapkan URL pengalihan, yang juga dikenal sebagai URL Assertion Consumer Service (ACS). Untuk menyetel URL pengalihan, temukan kolom URL pengalihan di IdP SAML Anda, lalu lakukan salah satu hal berikut:
Untuk menyiapkan login berbasis browser melalui konsol Google Cloud atau metode login berbasis browser lainnya, masukkan URL berikut:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDGanti kode berikut:
WORKFORCE_POOL_ID: ID workforce identity poolWORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang Anda buat nanti dalam dokumen ini.
Untuk menyiapkan login terprogram melalui IdP Anda, masukkan URL berikut:
localhost
Lihat Menyiapkan akses pengguna ke konsol untuk detail selengkapnya tentang cara mengonfigurasi login dengan konsol.
Di Google Cloud, buat penyedia workforce identity pool SAML menggunakan dokumen metadata SAML IdP Anda. Anda dapat mendownload dokumen XML metadata SAML dari IdP Anda. Dokumen setidaknya harus menyertakan hal-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.
gcloud
Untuk menyimpan metadata SAML untuk aplikasi Microsoft Entra ID Anda, lakukan hal berikut:
- Buka aplikasi Microsoft Entra ID Anda.
- Klik Single sign-on.
- Di bagian Sertifikat SAML, download Federation Metadata XML.
- Simpan metadata sebagai file XML lokal.
Untuk membuat penyedia workforce identity pool SAML, jalankan perintah 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="XML_METADATA_PATH" \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--detailed-audit-logging \
--location=global
Ganti kode berikut:
WORKFORCE_PROVIDER_ID: ID penyedia.WORKFORCE_POOL_ID: ID workforce identity pool.DISPLAY_NAME: Nama tampilan.DESCRIPTION: Deskripsi.XML_METADATA_PATH: Jalur ke file metadata berformat XML dengan metadata konfigurasi untuk penyedia identitas 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.Untuk mengetahui informasi selengkapnya, lihat Pemetaan atribut.
ATTRIBUTE_CONDITION: Kondisi atribut opsional. Misalnya, untuk membatasi atributipaddrke 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.
-
Pencatatan log audit mendetail Workforce Identity Federation mencatat informasi yang diterima dari IdP Anda ke Logging. Logging audit mendetail dapat membantu Anda memecahkan masalah konfigurasi penyedia pool identitas tenaga kerja. Untuk mempelajari cara memecahkan masalah error pemetaan atribut dengan logging audit mendetail, lihat Error pemetaan atribut umum. Untuk mempelajari harga Logging, lihat Harga Google Cloud Observability.
Untuk menonaktifkan logging audit mendetail untuk penyedia workforce identity pool, hapus tanda
--detailed-audit-loggingsaat Anda menjalankangcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.
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 menjadi masalah 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.ceratausaml-certificate.pem
Mengonfigurasi IdP yang sesuai dengan SAML 2.0 untuk mengeluarkan pernyataan SAML terenkripsi
Untuk mengonfigurasi Microsoft Entra ID guna mengenkripsi token SAML, lihat Mengonfigurasi enkripsi token SAML Azure Active Directory.
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:
Konsol
Untuk mengonfigurasi penyedia SAML menggunakan konsol Google Cloud , lakukan langkah berikut:
Di konsol Google Cloud , buka halaman Workforce Identity Pools:
Di tabel Workforce Identity Pool, pilih pool yang ingin Anda buatkan penyedia.
Di bagian Penyedia, klik Tambahkan Penyedia.
Di daftar Pilih vendor Penyedia, pilih IdP Anda.
Jika IdP Anda tidak tercantum, pilih Penyedia Identitas Umum.
Di bagian Pilih protokol autentikasi, pilih SAML.
Di bagian Buat penyedia, 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.
Untuk membuat penyedia yang diaktifkan, pastikan Aktifkan penyedia sudah aktif.
Klik Lanjutkan.
Di bagian Bagikan informasi penyedia Anda, salin URL. Di IdP Anda, konfigurasi URL pertama sebagai ID entitas, yang mengidentifikasi aplikasi Anda ke IdP. Konfigurasi URL lainnya sebagai URI pengalihan, yang memberi tahu IdP Anda ke mana harus mengirim token pernyataan setelah login.
Klik Lanjutkan.
Di bagian Konfigurasi penyedia, 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.Jika Anda memilih Microsoft Entra ID sebagai IdP, Anda dapat meningkatkan jumlah grup dengan melakukan hal berikut:
- Pilih Gunakan Atribut Tambahan.
- Di kolom Extra Attributes Issuer URI, masukkan URL penerbit.
- Di kolom Extra Attributes Client ID, masukkan ID klien.
- Di kolom Extra Attributes Client Secret, masukkan rahasia klien.
- Di daftar Jenis Atribut Tambahan, pilih jenis atribut untuk atribut tambahan.
- Di kolom Filter Atribut Tambahan, masukkan ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup.
Opsional: Untuk menambahkan kondisi atribut, klik Tambahkan kondisi, lalu masukkan ekspresi CEL yang mewakili kondisi atribut. Misalnya, untuk membatasi atribut
ipaddrke 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 mengaktifkan logging audit mendetail, di Logging mendetail, klik tombol Aktifkan logging audit nilai atribut.
Pencatatan log audit mendetail Workforce Identity Federation mencatat informasi yang diterima dari IdP Anda ke Logging. Logging audit mendetail dapat membantu Anda memecahkan masalah konfigurasi penyedia pool identitas tenaga kerja. Untuk mempelajari cara memecahkan masalah error pemetaan atribut dengan logging audit mendetail, lihat Error pemetaan atribut umum. Untuk mempelajari harga Logging, lihat Harga Google Cloud Observability.
Untuk menonaktifkan logging audit mendetail untuk penyedia workforce identity pool, hapus tanda
--detailed-audit-loggingsaat Anda menjalankangcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.
Untuk membuat penyedia, klik Kirim.
Mengelola akses ke Google Cloud resource
Bagian ini memberikan contoh yang menunjukkan cara mengelola akses ke Google Cloud resource oleh pengguna Workforce Identity Federation.
Dalam contoh ini, Anda memberikan peran Identity and Access Management (IAM) pada project contoh. Kemudian, pengguna dapat login dan menggunakan project ini untuk mengakses Google Cloud produk.
Anda dapat mengelola peran IAM untuk satu identitas, grup identitas, atau keseluruhan pool. Untuk mengetahui informasi selengkapnya, lihat Merepresentasikan pengguna workforce identity pool dalam kebijakan IAM.
Menggunakan grup yang dipetakan
Untuk memberikan peran Storage Admin (roles/storage.admin) ke semua identitas
dalam grup GROUP_ID untuk project
TEST_PROJECT_ID, jalankan perintah berikut:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Ganti kode berikut:
TEST_PROJECT_ID: ID project pengujianWORKFORCE_POOL_ID: ID workforce identity poolGROUP_ID: grup dalam klaimgoogle.groupsyang dipetakan.
Untuk satu identitas
Untuk memberikan peran Storage Admin (roles/storage.admin) ke satu identitas
untuk project TEST_PROJECT_ID, jalankan perintah
berikut:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"
Ganti kode berikut:
TEST_PROJECT_ID: ID project pengujianWORKFORCE_POOL_ID: ID workforce identity poolSUBJECT_VALUE: identitas pengguna
Menggunakan atribut departemen yang dipetakan
Untuk memberikan peran Storage Admin (roles/storage.admin) ke semua identitas
dalam departemen tertentu untuk project
TEST_PROJECT_ID, jalankan perintah berikut:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"
Ganti kode berikut:
TEST_PROJECT_ID: ID project pengujianWORKFORCE_POOL_ID: ID workforce identity poolDEPARTMENT_VALUE: nilaiattribute.departmentyang dipetakan
Login dan uji akses
Di bagian ini, Anda akan login sebagai pengguna workforce identity pool dan menguji bahwa Anda memiliki akses ke resource Google Cloud .
Login
Bagian ini menunjukkan cara login sebagai pengguna gabungan dan mengakses resourceGoogle Cloud .
Login konsol (gabungan)
Untuk login ke konsol Google Cloud Workforce Identity Federation, yang juga dikenal sebagai konsol (gabungan), lakukan tindakan berikut:
-
Buka halaman login konsol (gabungan).
-
Masukkan nama penyedia, dengan format berikut:
locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Jika diminta, masukkan kredensial pengguna di Microsoft Entra ID.
Jika Anda memulai login dengan IdP, gunakan URL berikut untuk
URL relai: https://console.cloud.google/.
Login berbasis browser gcloud CLI
Untuk login ke gcloud CLI menggunakan alur login berbasis browser, lakukan langkah berikut:
Membuat file konfigurasi
Untuk membuat file konfigurasi login, jalankan perintah berikut. Secara opsional, Anda dapat mengaktifkan
file sebagai default untuk gcloud CLI dengan menambahkan
flag --activate.
Kemudian, Anda dapat menjalankan gcloud auth login tanpa menentukan
jalur file konfigurasi setiap kali.
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE_PATH
Ganti kode berikut:
WORKFORCE_POOL_ID: ID workforce poolPROVIDER_ID: ID penyediaLOGIN_CONFIG_FILE_PATH: jalur ke file konfigurasi yang Anda tentukan—misalnya,login.json
File ini berisi endpoint yang digunakan oleh gcloud CLI untuk mengaktifkan alur autentikasi berbasis browser dan menetapkan audience ke IdP yang dikonfigurasi di penyedia workload identity pool. File tidak berisi informasi rahasia.
Outputnya akan terlihat mirip seperti berikut:
{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.google/authorize", "token_url": "https://sts.googleapis.com/v1/oauthtoken", "token_info_url": "https://sts.googleapis.com/v1/introspect" }
Untuk menghentikan
gcloud auth login menggunakan file konfigurasi ini secara otomatis, Anda dapat membatalkannya dengan menjalankan
gcloud config unset auth/login_config_file.
Login menggunakan autentikasi berbasis browser
Untuk mengautentikasi menggunakan autentikasi login berbasis browser, Anda dapat menggunakan salah satu metode berikut:
-
Jika Anda menggunakan flag
--activatesaat membuat file konfigurasi, atau jika Anda mengaktifkan file konfigurasi dengangcloud config set auth/login_config_file, gcloud CLI akan menggunakan file konfigurasi Anda secara otomatis:gcloud auth login
-
Untuk login dengan menentukan lokasi file konfigurasi, jalankan perintah berikut:
gcloud auth login --login-config=LOGIN_CONFIG_FILE_PATH
-
Untuk menggunakan variabel lingkungan guna menentukan lokasi file konfigurasi,
tetapkan
CLOUDSDK_AUTH_LOGIN_CONFIG_FILEke jalur konfigurasi.
Nonaktifkan login berbasis browser
Untuk menghentikan penggunaan file konfigurasi login, lakukan langkah berikut:
-
Jika Anda menggunakan flag
--activatesaat membuat file konfigurasi, atau jika Anda mengaktifkan file konfigurasi dengangcloud config set auth/login_config_file, Anda harus menjalankan perintah berikut untuk membatalkan penetapannya:gcloud config unset auth/login_config_file
-
Hapus variabel lingkungan
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE, jika telah ditetapkan.
Login headless gcloud CLI
Untuk login ke Microsoft Entra ID dengan gcloud CLI, lakukan langkah berikut:
OIDC
Ikuti langkah-langkah di Mengirim permintaan login. Login akun pengguna ke aplikasi Anda dengan Microsoft Entra ID menggunakan OIDC.
Salin token ID dari parameter
id_tokenURL alihan dan simpan ke file di lokasi yang aman di komputer lokal Anda. Pada langkah berikutnya, tetapkan PATH_TO_OIDC_ID_TOKEN ke jalur pada file ini.Buat file konfigurasi yang mirip dengan contoh di langkah ini dengan menjalankan perintah berikut:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:id_token \ --credential-source-file=PATH_TO_OIDC_ID_TOKEN \ --workforce-pool-user-project=WORKFORCE_POOL_USER_PROJECT \ --output-file=config.jsonGanti kode berikut:
WORKFORCE_POOL_ID: ID workforce identity pool.WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool.PATH_TO_OIDC_ID_TOKEN: jalur ke lokasi file tempat token IdP disimpan.WORKFORCE_POOL_USER_PROJECT: nomor atau ID project yang digunakan untuk kuota dan penagihan. Akun utama harus memiliki izinserviceusage.services.usedi project ini.
Setelah perintah selesai, file konfigurasi berikut akan dibuat oleh Microsoft Entra ID:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:id_token", "token_url": "https://sts.googleapis.com/v1/token", "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT", "credential_source": { "file": "PATH_TO_OIDC_CREDENTIALS" } }Buka gcloud CLI dan jalankan perintah berikut:
gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALSGanti PATH_TO_OIDC_CREDENTIALS dengan jalur ke file output dari langkah sebelumnya.
Gcloud CLI secara transparan memposting kredensial Anda ke endpoint Layanan Token Keamanan. Di endpoint, token tersebut ditukar dengan token akses Google Cloud sementara.
Kini Anda dapat menjalankan perintah gcloud CLI ke Google Cloud.
SAML
Buat pengguna login ke aplikasi Microsoft Entra ID Anda dan dapatkan respons SAML.
Simpan respons SAML yang ditampilkan oleh Microsoft Entra ID di lokasi yang aman di komputer lokal Anda, lalu simpan jalurnya sebagai berikut:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATHUntuk membuat file konfigurasi kredensial, jalankan perintah berikut:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:saml2 \ --credential-source-file=SAML_ASSERTION_PATH \ --workforce-pool-user-project=PROJECT_ID \ --output-file=config.jsonGanti kode berikut:
WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang Anda buat sebelumnya dalam panduan iniWORKFORCE_POOL_ID: ID workforce identity pool yang Anda buat sebelumnya dalam panduan iniSAML_ASSERTION_PATH: jalur file pernyataan SAMLPROJECT_ID: the project ID
File konfigurasi yang dihasilkan terlihat mirip dengan berikut:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }Untuk login ke gcloud CLI menggunakan pertukaran token Workforce Identity Federation, jalankan perintah berikut:
gcloud auth login --cred-file=config.jsonKemudian, gcloud CLI secara transparan menukar kredensial Microsoft Entra ID Anda dengan token akses Google Cloud sementara. Token akses memungkinkan Anda mengakses Google Cloud.
Anda akan melihat output yang mirip dengan berikut ini:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/
WORKFORCE_POOL_ID/subject/USER_ID].Untuk mencantumkan akun berkredensial dan akun aktif Anda, jalankan perintah berikut:
gcloud auth list
Pengujian Akses
Anda kini memiliki akses ke Google Cloud produk yang mendukung
Workforce Identity Federation dan yang aksesnya diberikan kepada Anda. Sebelumnya dalam
dokumen ini, Anda memberikan peran Storage Admin (roles/storage.admin)
ke semua identitas dalam ID grup yang Anda tentukan di
gcloud projects add-iam-policy-binding untuk project TEST_PROJECT_ID.
Kini Anda dapat menguji apakah Anda memiliki akses dengan mencantumkan bucket Cloud Storage.
Konsol (gabungan)
Untuk menguji bahwa Anda memiliki akses menggunakan konsol (gabungan), lakukan langkah berikut:
Membuka halaman Cloud Storage
Pastikan Anda dapat melihat daftar bucket yang ada untuk
TEST_PROJECT_ID.
gcloud CLI
Untuk menguji bahwa Anda memiliki akses menggunakan gcloud CLI, Anda dapat membuat daftar bucket dan objek Cloud Storage untuk project yang memiliki akses ke bucket dan objek tersebut. Untuk melakukannya, jalankan perintah berikut. Akun utama harus memiliki
izin serviceusage.services.use pada project yang ditentukan.
gcloud storage ls --project="TEST_PROJECT_ID"
Menghapus pengguna
Workforce Identity Federation membuat metadata dan resource pengguna untuk identitas pengguna gabungan. 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 dihapus. Hal ini karena penghapusan 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 selesai atau dibatalkan.
Mengonfigurasi SCIM
Bagian ini menjelaskan cara mengonfigurasi tenant SCIM di workforce identity pool.
Setiap workforce identity pool hanya mendukung satu tenant SCIM. Untuk mengonfigurasi tenant SCIM baru di pool yang sudah memiliki tenant, Anda harus menghapus tenant yang ada secara permanen terlebih dahulu.
Tanda --claim-mapping untuk tenant SCIM hanya dapat berisi ekspresi Common Expression Language (CEL) tertentu. Untuk mempelajari ekspresi yang didukung, lihat Memetakan atribut token dan SCIM.
Untuk mengonfigurasi System for Cross-domain Identity Management (SCIM), Anda harus melakukan hal berikut:
Mengonfigurasi token dan tenant SCIM di Google Cloud
Untuk mengonfigurasi tenant SCIM di Google Cloud, lakukan hal berikut:
-
Buat tenant SCIM.
gcloud iam workforce-pools providers scim-tenants create SCIM_TENANT_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --provider="PROVIDER_ID" \ --display-name="SCIM_TENANT_DISPLAY_NAME" \ --description="SCIM_TENANT_DESCRIPTION" \ --claim-mapping="CLAIM_MAPPING" \ --location="global"Ganti kode berikut:
SCIM_TENANT_ID: ID untuk tenant SCIM Anda.WORKFORCE_POOL_ID: ID workforce pool yang Anda buat sebelumnya dalam dokumen ini.PROVIDER_ID: ID penyedia kumpulan identitas tenaga kerja yang Anda buat sebelumnya dalam dokumen ini.SCIM_TENANT_DISPLAY_NAME: nama tampilan untuk tenant SCIM Anda.SCIM_TENANT_DESCRIPTION: deskripsi untuk tenant SCIM Anda.CLAIM_MAPPING: daftar pemetaan atribut yang dipisahkan koma. Sebaiknya gunakan pemetaan atribut berikut: Atributgoogle.subject=user.externalId,google.group=group.externalId
google.subjectyang Anda petakan di tenant SCIM harus secara unik merujuk ke identitas yang sama yang dipetakan di atributgoogle.subjectdi penyedia workforce identity pool dengan menggunakan tanda--attribute-mapping. Setelah tenant SCIM dibuat, Anda tidak dapat memperbarui pemetaan klaim. Untuk menggantinya, Anda dapat menghapus permanen tenant SCIM dan segera membuat tenant baru. Untuk mempelajari lebih lanjut pertimbangan penggunaan SCIM, lihat Dukungan SCIM.
-
Setelah perintah selesai, lakukan hal berikut:
-
Di kolom
baseUridalam output, simpan seluruh URI, yang diformat sebagaihttps://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID. Anda harus memberikan URI ini ke IdP Anda. -
Selain itu, dari URI, simpan hanya
SCIM_TENANT_UID. Anda memerlukan UID ini untuk menetapkan kebijakan IAM pada tenant SCIM, nanti dalam dokumen ini.
-
Di kolom
-
Buat token SCIM:
gcloud iam workforce-pools providers scim-tenants tokens create SCIM_TOKEN_ID \ --display-name DISPLAY_NAME \ --scim-tenant SCIM_TENANT_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider PROVIDER_ID \ --location globalGanti kode berikut:
SCIM_TOKEN_ID: ID untuk token SCIMDISPLAY_NAME: nama tampilan token SCIMWORKFORCE_POOL_ID: ID workforce poolSCIM_TENANT_ID: ID tenant SCIMPROVIDER_ID: ID penyedia workforce identity pool
-
Setelah perintah
gcloud iam workforce-pools providers scim-tenants tokens createselesai, lakukan hal berikut:-
Di output, simpan nilai
SCIM_TOKENdi kolomsecurityToken. Anda harus memberikan token keamanan ini ke IdP Anda. Token keamanan hanya ditampilkan dalam output ini, dan jika hilang, Anda harus membuat token SCIM baru. -
Untuk memeriksa apakah
SCIM_TOKENditolak oleh kebijakan organisasi Anda, jalankan perintah berikut: Jika perintah gagal dengan error terkait izin, jalankancurl -v -H "Authorization: Bearer SCIM_TOKEN" https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Users
gcloud organizations add-iam-policy-binding, yang dijelaskan pada langkah selanjutnya. Jika perintah berhasil, Anda dapat melewati langkah tersebut.
-
Di output, simpan nilai
-
Menetapkan kebijakan IAM pada token dan tenant SCIM. Jika perintah
curlpada langkah sebelumnya gagal dengan error terkait izin, Anda harus menjalankan perintah berikut:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/iam.scimSyncerGanti kode berikut:
- ORGANIZATION_ID: ID organisasi.
- SERVICE_AGENT_EMAIL: alamat email agen layanan. Alamat email menggunakan format berikut:
o-ORGANIZATION_ID-SCIM_TENANT_UID@gcp-sa-iamscim.iam.gserviceaccount.com. SCIM_TENANT_UID ditampilkan saat Anda membuat tenant SCIM.
Saat Anda menyediakan grup di IdP, pastikan nama tampilan setiap grup, sebagaimana diberikan di
kolom displayName, bersifat unik dalam tenant SCIM. Untuk mempelajari lebih lanjut grup dan
SCIM di Microsoft Entra ID, lihat
Grup.
Mengonfigurasi SCIM di Microsoft Entra ID
Untuk mengonfigurasi SCIM di Microsoft Entra ID, lakukan hal berikut:
- Buka portal Azure, lalu login sebagai pengguna yang memiliki hak istimewa administrator global.
- Pilih Microsoft Entra ID > Enterprise Apps.
- Klik New application.
- Di Browse Microsoft Entra App gallery, klik Create your own application.
-
Di panel Create your own application yang muncul, lakukan hal berikut:
- Untuk What's the name of your app, masukkan nama aplikasi Anda.
- Pilih Integrate any other application you don't find in gallery (Non-gallery).
- Untuk membuat aplikasi, klik Buat.
-
Di aplikasi Anda, lakukan hal berikut:
- Di bagian Kelola, klik Penyediaan.
- Di panel kanan yang muncul, klik Konfigurasi Baru.
-
Di bagian Admin Credentials, di Tenant URL, masukkan URL SCIM yang Anda peroleh saat membuat tenant SCIM, yang ditambahkan dengan
?aadOptscim062020. Anda harus menambahkan?aadOptscim062020di akhir URI dasar.Parameter kueri ini diperlukan oleh Microsoft Entra ID untuk memastikan bahwa permintaan SCIM PATCH sesuai dengan standar SCIM RFC. Untuk mengetahui detail selengkapnya, lihat dokumentasi Microsoft.
URL Tenant akhir di Microsoft Entra ID harus dalam format berikut:
https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID?aadOptscim062020
Ganti
SCIM_TENANT_UIDdengan UID tenant SCIM. - Di Secret token, masukkan token rahasia yang Anda peroleh saat membuat tenant SCIM.
- Untuk menguji konfigurasi SCIM dengan Workforce Identity Federation, klik Uji koneksi.
- Untuk menyimpan konfigurasi, klik Buat.
-
Di bagian Kelola, lakukan tindakan berikut:
- Klik Pemetaan atribut.
- Klik Provision Microsoft Entra ID Users.
-
Di halaman Pemetaan Atribut, lakukan hal berikut:
-
Di tabel Pemetaan atribut, temukan baris untuk externalId, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
-
Di Cocokkan objek menggunakan atribut ini, pilih
Yes. -
Di Prioritas pencocokan, masukkan
2. -
Di menu drop-down Atribut sumber, pilih
objectId. - Untuk menyimpan pemetaan atribut, klik Oke.
-
Di Cocokkan objek menggunakan atribut ini, pilih
-
Di tabel Pemetaan atribut, temukan baris untuk userName, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
-
Di Cocokkan objek menggunakan atribut ini, pilih
No. - Untuk menyimpan pemetaan atribut, klik Oke.
-
Di Cocokkan objek menggunakan atribut ini, pilih
-
Di tabelPemetaan atribut, temukan baris untuk externalId, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
-
Di Prioritas pencocokan, masukkan
1. - Untuk menyimpan pemetaan atribut, klik Oke.
-
Di Prioritas pencocokan, masukkan
-
Di tabel Pemetaan atribut, temukan baris untuk externalId, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
- Klik Provision Microsoft Entra ID Groups.
-
Di halaman Pemetaan Atribut, lakukan hal berikut:
-
Di tabel Pemetaan atribut, temukan baris untuk externalId, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
-
Di Cocokkan objek menggunakan atribut ini, pilih
Yes. -
Di Prioritas pencocokan, masukkan
2. -
Di menu drop-down Atribut sumber, pilih
objectId. - Untuk menyimpan pemetaan atribut, klik Oke.
-
Di Cocokkan objek menggunakan atribut ini, pilih
-
Di tabel Pemetaan atribut, temukan baris untuk displayName, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
-
Di Cocokkan objek menggunakan atribut ini, pilih
No. - Untuk menyimpan pemetaan atribut, klik Oke.
-
Di Cocokkan objek menggunakan atribut ini, pilih
-
Di tabel Pemetaan atribut, temukan baris untuk externalId, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
-
Di Prioritas pencocokan, masukkan
1. - Untuk menyimpan pemetaan atribut, klik Oke.
-
Di Prioritas pencocokan, masukkan
-
Di tabel Pemetaan atribut, temukan baris untuk externalId, lalu klik Edit di baris tersebut.
Di halaman Edit atribut, lakukan tindakan berikut:
Memperbarui penyedia untuk mengaktifkan SCIM
Untuk mengaktifkan SCIM bagi penyedia, lakukan hal berikut:
OIDC
gcloud iam workforce-pools providers update-oidc PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=LOCATION \
--scim-usage=enabled-for-groups
Ganti kode berikut:
PROVIDER_ID: ID penyedia workforce identity poolWORKFORCE_POOL_ID: ID workforce poolLOCATION: lokasi workforce pool
SAML
gcloud iam workforce-pools providers update-saml PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=LOCATION \
--scim-usage=enabled-for-groups
Ganti kode berikut:
PROVIDER_ID: ID penyedia workforce identity poolWORKFORCE_POOL_ID: ID workforce poolLOCATION: lokasi workforce pool
Memetakan token dan atribut SCIM
Anda harus memetakan atribut secara konsisten, baik di penyedia workforce identity pool maupun di tenant SCIM yang dikonfigurasi untuk penyedia. Untuk penyedia workforce identity pool, Anda menggunakan
flag --attribute-mapping, dan untuk tenant SCIM, Anda menggunakan flag --claim-mapping. Atribut IdP yang dipetakan ke google.subject untuk pengguna harus secara unik merujuk ke identitas yang sama, baik yang ditentukan dalam pemetaan token atau SCIM. Untuk mempelajari lebih lanjut cara memetakan atribut saat Anda menggunakan SCIM, lihat bagian
Dukungan SCIM.
Tabel berikut menunjukkan cara memetakan atribut dalam klaim token dan atribut SCIM:
| Atribut Google | Pemetaan penyedia workforce identity pool | Pemetaan tenant SCIM |
|---|---|---|
google.subject |
assertion.oid |
user.externalId |
google.subject |
assertion.email |
user.emails[0].value |
google.subject |
assertion.email.lowerAscii() |
user.emails[0].value.lowerAscii() |
google.subject |
assertion.preferred_username |
user.userName |
google.group pastikan Anda memberi tahu penyedia Anda tentang --scim-usage=enabled-for-groups |
N/A |
group.externalId |
Menghapus tenant SCIM secara paksa
Untuk menghapus paksa tenant SCIM, lakukan langkah-langkah berikut:
- Jika
--scim-usage=enabled-for-groupsditetapkan untuk penyedia Anda, nonaktifkan dari konfigurasi penyedia:gcloud iam workforce-pools providers update-oidc --provider=PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location= global --scim-usage=SCIM_USAGE_UNSPECIFIEDGanti kode berikut:
PROVIDER_ID: ID penyedia workforce identity poolWORKFORCE_POOL_ID: ID workforce pool
- Hapus tenant SCIM:
gcloud iam workforce-pools providers scim-tenants delete SCIM_TENANT_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --provider=PROVIDER_ID \ --hard-delete \ --location=globalGanti kode berikut:
SCIM_TENANT_ID: ID tenant SCIM yang akan dihapusWORKFORCE_POOL_ID: ID workforce poolPROVIDER_ID: ID penyedia workforce identity pool
Langkah berikutnya
- Menghapus pengguna Workforce Identity Federation dan datanya
- Pelajari Google Cloud produk mana yang mendukung Workforce Identity Federation
- Menyiapkan akses pengguna ke konsol (gabungan)