Mengonfigurasi Workforce Identity Federation dengan Microsoft Entra ID dan sejumlah besar grup

Dokumen ini menunjukkan cara mengonfigurasi Workforce Identity Federation dengan penyedia identitas (IdP) Microsoft Entra ID dan memetakan hingga 400 grup dari Microsoft Entra ID ke Google Cloud menggunakan Microsoft Graph. Dokumen ini kemudian akan menunjukkan cara memberikan peran IAM ke grup tersebut, dan cara membuat pengguna Microsoft Entra ID yang merupakan anggota grup login ke Google Cloud. Selanjutnya, pengguna dapat mengakses Google Cloud produk yang diberikan akses oleh IAM dan mendukung Workforce Identity Federation.

Untuk memetakan kurang dari 150 grup dari Microsoft Entra ID ke Google Cloud, lihat Mengonfigurasi Federasi Workforce Identity dengan Microsoft Entra ID dan login pengguna.

Anda dapat menggunakan metode yang dijelaskan dalam dokumen ini dengan protokol berikut:

  • OIDC dengan alur implisit
  • OIDC dengan alur kode
  • Protokol SAML 2.0

Jumlah alamat email grup yang dapat dikeluarkan oleh aplikasi Microsoft Entra ID dalam token dibatasi hingga 150 untuk SAML dan 200 untuk JWT. Untuk mempelajari batas ini lebih lanjut, lihat Mengonfigurasi klaim grup untuk aplikasi menggunakan ID Microsoft Entra. Untuk mengambil lebih banyak grup, Workforce Identity Federation menggunakan alur kredensial klien OAuth 2.0 Microsoft Identity untuk mendapatkan kredensial yang memungkinkan Workforce Identity Federation membuat kueri Microsoft Graph API dan mengambil grup pengguna.

Untuk menggunakan metode ini, pada tingkat tinggi, Anda perlu melakukan hal berikut:

  • Buat aplikasi Microsoft Entra ID baru atau perbarui aplikasi yang ada untuk mendapatkan keanggotaan grup pengguna dari Microsoft Graph API. Untuk mempelajari lebih lanjut cara Microsoft Graph mengambil sejumlah besar grup dari Microsoft Entra ID, lihat Kelebihan tagihan grup.

  • Saat membuat penyedia workforce identity pool, Anda menggunakan tanda extra-attributes untuk mengonfigurasi Workforce Identity Federation guna mengambil alamat email grup pengguna dari Microsoft Graph API.

Workforce Identity Federation dapat mengambil maksimum 999 grup dari Microsoft Graph API. Jika Microsoft Graph API menampilkan lebih dari 999 grup, login akan gagal.

Untuk mengurangi jumlah grup yang ditampilkan Microsoft Graph API, Anda dapat meningkatkan kueri Workforce Identity Federation menggunakan tanda --extra-attributes-filter, saat membuat penyedia kumpulan identitas tenaga kerja.

Setelah mengambil grup dari Microsoft Graph API, Workforce Identity Federation akan membuat token akses. Workforce Identity Federation dapat menambahkan maksimal 400 grup ke token akses. Jadi, untuk memfilter lebih lanjut jumlah grup menjadi 400 atau kurang, Anda dapat menentukan pemetaan atribut yang berisi ekspresi common expression language (CEL), saat membuat penyedia workforce identity pool.

Sebelum memulai

  1. Pastikan Anda telah menyiapkan Google Cloud organisasi.
  2. 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
  3. Di Microsoft Entra ID, pastikan token ID diaktifkan untuk alur implisit. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan pemberian implisit token ID.
  4. Untuk login, IdP Anda harus memberikan informasi autentikasi yang ditandatangani: IdP OIDC harus memberikan token JWT, dan respons IdP SAML harus ditandatangani.
  5. Untuk menerima informasi penting tentang perubahan pada organisasi atau produkGoogle Cloud Anda, Anda harus memberikan Kontak Penting. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Federasi Identitas Tenaga Kerja.
  6. Semua grup yang ingin Anda petakan harus ditandai sebagai grup keamanan di Microsoft Entra ID.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengonfigurasi Workforce Identity Federation, minta administrator untuk memberi Anda peran IAM Admin Kumpulan Tenaga Kerja IAM (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.

Jika Anda mengonfigurasi izin di lingkungan pengembangan atau pengujian—tetapi bukan 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 detail tambahan, lihat Membuat 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:

  1. Login ke portal administrator Microsoft Entra.

  2. Buka Identity > Applications > App registrations.

  3. Untuk mulai mengonfigurasi pendaftaran aplikasi, lakukan hal berikut:

    1. Klik New registration.

    2. Masukkan nama untuk aplikasi Anda.

    3. Di Jenis akun yang didukung, pilih salah satu opsi.

    4. Di bagian URI Pengalihan, pada menu drop-down Pilih platform, pilih Web.

    5. 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_ID
      

      Ganti 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-pool

      • WORKFORCE_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-provider

        Untuk mengetahui informasi tentang cara memformat ID, lihat bagian Parameter kueri dalam dokumentasi API.

    6. Untuk membuat pendaftaran permohonan, klik Daftar.

SAML

Untuk membuat pendaftaran aplikasi Microsoft Entra ID yang menggunakan protokol SAML, lakukan hal berikut:

  1. Login ke portal administrator Microsoft Entra.

  2. Buka Identity > Applications > App registrations.

  3. Untuk mulai mengonfigurasi aplikasi perusahaan, lakukan hal berikut:

    1. Klik Aplikasi baru > Buat aplikasi Anda sendiri.

    2. Masukkan nama untuk aplikasi Anda.

    3. Klik Buat.

    4. Buka Single sign-on > SAML.

    5. Update Konfigurasi Basic SAML sebagai berikut:

      1. Di kolom Identifier (ID Entitas), masukkan nilai berikut:

        https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
        

        Ganti 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-pool
        • WORKFORCE_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-provider

          Untuk mengetahui informasi tentang cara memformat ID, lihat bagian Parameter kueri dalam dokumentasi API.

      2. 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_ID
        

        Ganti kode berikut:

        • WORKFORCE_POOL_ID: ID workforce identity pool
        • WORKFORCE_PROVIDER_ID: ID penyedia identitas tenaga kerja
      3. Untuk mengaktifkan login yang dimulai dengan IdP, tetapkan kolom Status Relai ke nilai berikut:

        https://console.cloud.google/
        
      4. Untuk menyimpan konfigurasi aplikasi SAML, klik Simpan.

Mengonfigurasi banyak grup dengan Microsoft Entra ID

Bagian ini menjelaskan cara memetakan hingga 400 grup dari Microsoft Entra ID ke Workforce Identity Federation menggunakan protokol OIDC dan SAML.

Mengonfigurasi sejumlah besar grup dengan Microsoft Entra ID dengan alur implisit OIDC

Bagian ini menjelaskan cara memetakan hingga 400 grup dari Microsoft Entra ID ke Workforce Identity Federation menggunakan protokol OpenID Connect (OIDC) dengan alur implisit.

Mengonfigurasi aplikasi Microsoft Entra ID

Anda dapat mengonfigurasi aplikasi Microsoft Entra ID yang ada atau membuat aplikasi baru. Untuk mengonfigurasi aplikasi, lakukan hal berikut:

  1. Di portal Microsoft Entra ID, lakukan tindakan berikut:
    • Untuk mendaftarkan permohonan baru, ikuti petunjuk di Mendaftarkan permohonan baru.
    • Untuk mengupdate aplikasi yang ada, lakukan langkah berikut:
      • Buka Identity > Applications > Enterprise applications.
      • Pilih aplikasi yang ingin diupdate.
  2. Buat rahasia klien baru di aplikasi dengan mengikuti petunjuk di Sertifikat & rahasia. Pastikan Anda mencatat nilai rahasia klien karena nilai ini hanya ditampilkan sekali.

    Perhatikan nilai berikut dari aplikasi yang Anda buat atau perbarui. Anda akan memberikan nilai tersebut saat mengonfigurasi penyedia kumpulan identitas tenaga kerja nanti dalam dokumen ini.

    • Client ID
    • Issuer URI
    • Client Secret
    • Tenant ID
  3. Untuk mengambil grup Microsoft Entra ID, tambahkan izin API agar Workload Identity Federation dapat mengakses informasi pengguna dari Microsoft Entra ID menggunakan Microsoft Graph API dan memberikan izin admin. Di Microsoft Entra ID, lakukan hal berikut:

    1. Buka API permissions.
    2. Klik Add a Permission.
    3. Pilih Microsoft API.
    4. Pilih Application permissions.
    5. Di kolom penelusuran, ketik User.ReadBasic.All.
    6. Klik Tambahkan izin.

    Anda dapat mengambil grup Microsoft Entra ID sebagai ID objek grup (ID) atau sebagai alamat email grup untuk grup yang mengaktifkan email.

    Jika Anda memilih untuk mengambil grup sebagai alamat email grup, langkah berikutnya diperlukan.

  4. Untuk mengambil grup Microsoft Entra ID sebagai alamat email grup, lakukan hal berikut. Jika Anda mengambil grup sebagai ID objek grup, lewati langkah ini.
    1. Di kolom penelusuran, masukkan GroupMember.Read.All.
    2. Klik Tambahkan izin.
    3. Klik Grant admin consent untuk nama domain Anda.
    4. Pada dialog yang muncul, klik Ya.
    5. Buka halaman Ringkasan aplikasi Microsoft Entra ID yang Anda buat atau perbarui sebelumnya.
    6. Klik Endpoint.

    URI penerbit adalah URI dokumen metadata OIDC, yang menghilangkan jalur /.well-known/openid-configuration.

    Misalnya, jika dokumen metadata OIDC adalah https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration, URI penerbitnya adalah https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.

Membuat workforce identity pool

Konsol

Untuk membuat workforce identity pool, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Workforce Identity Pool:

    Buka Workforce Identity Pools

  2. Pilih organisasi untuk workforce identity pool Anda. Kumpulan identitas tenaga kerja tersedia di semua project dan folder dalam organisasi.

  3. Klik Buat pool dan lakukan tindakan berikut:

    1. 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.

    2. Opsional: Di Deskripsi, masukkan deskripsi pool.

    3. Durasi sesi ditetapkan secara default. Untuk memasukkan durasi sesi khusus, klik Edit. Durasi sesi menentukan durasi validnya token akses Google Cloud, sesi login konsol (gabungan), 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).

    4. Untuk mengaktifkan pool, pastikan Mengaktifkan Pool aktif.

    5. 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 Google Cloud workforce pool 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 untuk kumpulan identitas tenaga kerja. Workforce identity pool tersedia di semua project dan folder di organisasi.
  • 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 Google Cloud token akses, 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).

Mengonfigurasi penyedia workforce identity pool alur implisit OIDC

Untuk membuat penyedia workforce identity pool OIDC, jalankan perintah berikut:

gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global \
    --display-name=DISPLAY_NAME \
    --issuer-uri=ISSUER_URI \
    --client-id=CLIENT_ID \
    --attribute-mapping=ATTRIBUTE_MAPPING \
    --web-sso-response-type=id-token \
    --web-sso-assertion-claims-behavior=only-id-token-claims \
    --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \
    --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \
    --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \
    --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE  \
    –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER

Ganti kode berikut:

  • PROVIDER_ID: ID penyedia unik. Awalan gcp- dicadangkan dan tidak dapat digunakan dalam ID penyedia atau ID pool.
  • WORKFORCE_POOL_ID: ID workforce pool.
  • DISPLAY_NAME: Nama tampilan untuk penyedia.
  • ISSUER_URI: URI penerbit dari aplikasi Microsoft Entra ID yang Anda buat sebelumnya dalam dokumen ini.
  • CLIENT_ID: Client ID dari aplikasi Microsoft Entra ID Anda.
  • ATTRIBUTE_MAPPING: Pemetaan atribut dari Microsoft Entra ID ke Google Cloud. Misalnya, untuk memetakan groups dan subject dari Microsoft Entra ID, gunakan pemetaan atribut berikut:
    --attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"

    Untuk mengetahui informasi selengkapnya, lihat Pemetaan atribut.

  • EXTRA_ATTRIBUTES_ISSUER_URI: URI penerbit dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_CLIENT_ID: Client ID dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_CLIENT_SECRET: Rahasia klien tambahan dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_TYPE: Gunakan azure-ad-groups-mail untuk mengambil alamat email grup. Gunakan azure-ad-groups-id untuk mengambil ID grup.
  • EXTRA_ATTRIBUTES_FILTER: Opsional. Ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup. Anda dapat menggunakan parameter ini untuk memastikan bahwa jumlah grup yang diambil dari IdP tetap di bawah batas 999 grup.

    Contoh berikut mengambil grup yang memiliki awalan sales di ID emailnya:

    –-extra-attributes-filter='"mail:sales"'

    Ekspresi berikut mengambil grup dengan nama tampilan yang berisi string sales.

    -–extra-attributes-filter='"displayName:sales”'

Mengonfigurasi banyak grup di Microsoft Entra ID dengan alur kode OIDC

Bagian ini menjelaskan cara memetakan hingga 400 grup dari Microsoft Entra ID ke Workforce Identity Federation menggunakan protokol OIDC dengan alur kode.

Mengonfigurasi aplikasi Microsoft Entra ID

Anda dapat mengonfigurasi aplikasi Microsoft Entra ID yang ada atau membuat aplikasi baru. Untuk mengonfigurasi aplikasi, lakukan hal berikut:

  1. Di portal Microsoft Entra ID, lakukan tindakan berikut:
    • Untuk mendaftarkan permohonan baru, ikuti petunjuk di Mendaftarkan permohonan baru.
    • Untuk mengupdate aplikasi yang ada, lakukan langkah berikut:
      • Buka Identity > Applications > Enterprise applications.
      • Pilih aplikasi yang ingin diupdate.
  2. Buat rahasia klien baru di aplikasi dengan mengikuti petunjuk di Sertifikat & rahasia. Pastikan Anda mencatat nilai rahasia klien karena nilai ini hanya ditampilkan sekali.

    Perhatikan nilai berikut dari aplikasi yang Anda buat atau perbarui. Anda akan memberikan nilai tersebut saat mengonfigurasi penyedia kumpulan identitas tenaga kerja nanti dalam dokumen ini.

    • Client ID
    • Issuer URI
    • Client Secret
    • Tenant ID
  3. Untuk mengambil grup Microsoft Entra ID, tambahkan izin API agar Workload Identity Federation dapat mengakses informasi pengguna dari Microsoft Entra ID menggunakan Microsoft Graph API dan memberikan izin admin. Di Microsoft Entra ID, lakukan hal berikut:

    1. Buka API permissions.
    2. Klik Add a Permission.
    3. Pilih Microsoft API.
    4. Pilih Izin yang didelegasikan.
    5. Di kolom penelusuran, ketik User.Read.
    6. Klik Tambahkan izin.

    Anda dapat mengambil grup Microsoft Entra ID sebagai ID objek grup (ID) atau sebagai alamat email grup untuk grup yang mengaktifkan email.

    Jika Anda memilih untuk mengambil grup sebagai alamat email grup, langkah berikutnya diperlukan.

  4. Untuk mengambil grup Microsoft Entra ID sebagai alamat email grup, lakukan hal berikut. Jika Anda mengambil grup sebagai ID objek grup, lewati langkah ini.
    1. Di kolom penelusuran, masukkan GroupMember.Read.All.
    2. Klik Tambahkan izin.
    3. Klik Grant admin consent untuk nama domain Anda.
    4. Pada dialog yang muncul, klik Ya.
    5. Buka halaman Ringkasan aplikasi Microsoft Entra ID yang Anda buat atau perbarui sebelumnya.
    6. Klik Endpoint.

    URI penerbit adalah URI dokumen metadata OIDC, yang menghilangkan jalur /.well-known/openid-configuration.

    Misalnya, jika dokumen metadata OIDC adalah https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration, URI penerbitnya adalah https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.

Membuat workforce identity pool

Konsol

Untuk membuat workforce identity pool, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Workforce Identity Pool:

    Buka Workforce Identity Pools

  2. Pilih organisasi untuk workforce identity pool Anda. Kumpulan identitas tenaga kerja tersedia di semua project dan folder dalam organisasi.

  3. Klik Buat pool dan lakukan tindakan berikut:

    1. 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.

    2. Opsional: Di Deskripsi, masukkan deskripsi pool.

    3. 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).

    4. Untuk mengaktifkan pool, pastikan Mengaktifkan Pool aktif.

    5. 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 Google Cloud workforce pool 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 untuk kumpulan identitas tenaga kerja. Workforce identity pool tersedia di semua project dan folder di organisasi.
  • 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 Google Cloud token akses, 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).

Mengonfigurasi penyedia workforce identity pool alur kode OIDC

Untuk membuat penyedia workforce identity pool OIDC, jalankan perintah berikut:

gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global \
    --display-name=DISPLAY_NAME \
    --issuer-uri=ISSUER_URI \
    --client-id=CLIENT_ID \
    --attribute-mapping=ATTRIBUTE_MAPPING \
    --web-sso-response-type=code \
    --web-sso-assertion-claims-behavior=merge-user-info-over-id-token-claims \
    --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \
    --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \
    --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \
    --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE  \
    –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER

Ganti kode berikut:

  • PROVIDER_ID: ID penyedia unik. Awalan gcp- dicadangkan dan tidak dapat digunakan dalam ID penyedia atau ID pool.
  • WORKFORCE_POOL_ID: ID workforce pool.
  • DISPLAY_NAME: Nama tampilan untuk penyedia.
  • ISSUER_URI: URI penerbit dari aplikasi Microsoft Entra ID yang Anda buat sebelumnya dalam dokumen ini.
  • CLIENT_ID: Client ID dari aplikasi Microsoft Entra ID Anda.
  • ATTRIBUTE_MAPPING: Pemetaan atribut dari Microsoft Entra ID ke Google Cloud. Misalnya, untuk memetakan groups dan subject dari Microsoft Entra ID, gunakan pemetaan atribut berikut:
    --attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"

    Untuk mengetahui informasi selengkapnya, lihat Pemetaan atribut.

  • EXTRA_ATTRIBUTES_ISSUER_URI: URI penerbit dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_CLIENT_ID: Client ID dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_CLIENT_SECRET: Rahasia klien tambahan dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_TYPE: Gunakan azure-ad-groups-mail untuk mengambil alamat email grup. Gunakan azure-ad-groups-id untuk mengambil ID grup.
  • EXTRA_ATTRIBUTES_FILTER: Opsional. Ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup. Anda dapat menggunakan parameter ini untuk memastikan bahwa jumlah grup yang diambil dari IdP tetap di bawah batas 999 grup.

    Contoh berikut mengambil grup yang memiliki awalan sales di ID emailnya:

    –-extra-attributes-filter='"mail:sales"'

    Ekspresi berikut mengambil grup dengan nama tampilan yang berisi string sales.

    -–extra-attributes-filter='"displayName:sales”'

Mengonfigurasi banyak grup di Microsoft Entra ID dengan SAML 2.0

Bagian ini menjelaskan cara memetakan hingga 400 grup dari Microsoft Entra ID ke Workforce Identity Federation menggunakan protokol SAML 2.0.

Mengonfigurasi aplikasi Microsoft Entra ID

Untuk mengonfigurasi aplikasi, lakukan hal berikut:

  1. Di portal Microsoft Entra ID, lakukan tindakan berikut:
    • Untuk mendaftarkan permohonan baru, ikuti petunjuk di Mendaftarkan permohonan baru.
    • Untuk mengupdate aplikasi yang ada, lakukan langkah berikut:
      • Buka Identity > Applications > Enterprise applications.
      • Pilih aplikasi yang ingin diupdate.
  2. Buat rahasia klien baru di aplikasi dengan mengikuti petunjuk di Sertifikat & rahasia. Pastikan Anda mencatat nilai rahasia klien karena nilai ini hanya ditampilkan sekali.

    Perhatikan nilai berikut dari aplikasi yang Anda buat atau perbarui. Anda akan memberikan nilai tersebut saat mengonfigurasi penyedia kumpulan identitas tenaga kerja nanti dalam dokumen ini.

    • Client ID
    • Issuer URI
    • Client Secret
    • Tenant ID
  3. Untuk mengambil grup Microsoft Entra ID, tambahkan izin API agar Workload Identity Federation dapat mengakses informasi pengguna dari Microsoft Entra ID menggunakan Microsoft Graph API dan memberikan izin admin. Di Microsoft Entra ID, lakukan hal berikut:

    1. Buka API permissions.
    2. Klik Add a Permission.
    3. Pilih Microsoft API.
    4. Pilih Application permissions.
    5. Di kolom penelusuran, ketik User.ReadBasic.All.
    6. Klik Tambahkan izin.

    Anda dapat mengambil grup Microsoft Entra ID sebagai ID objek grup (ID) atau sebagai alamat email grup untuk grup yang mengaktifkan email.

    Jika Anda memilih untuk mengambil grup sebagai alamat email grup, langkah berikutnya diperlukan.

  4. Untuk mengambil grup Microsoft Entra ID sebagai alamat email grup, lakukan hal berikut. Jika Anda mengambil grup sebagai ID objek grup, lewati langkah ini.
    1. Di kolom penelusuran, masukkan GroupMember.Read.All.
    2. Klik Tambahkan izin.
    3. Klik Grant admin consent untuk nama domain Anda.
    4. Pada dialog yang muncul, klik Ya.
    5. Buka halaman Ringkasan aplikasi Microsoft Entra ID yang Anda buat atau perbarui sebelumnya.
    6. Klik Endpoint.

    URI penerbit adalah URI dokumen metadata OIDC, yang menghilangkan jalur /.well-known/openid-configuration.

    Misalnya, jika dokumen metadata OIDC adalah https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration, URI penerbitnya adalah https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.

Membuat workforce identity pool

Konsol

Untuk membuat workforce identity pool, lakukan hal berikut:

  1. Di konsol Google Cloud, buka halaman Workforce Identity Pool:

    Buka Workforce Identity Pools

  2. Pilih organisasi untuk workforce identity pool Anda. Kumpulan identitas tenaga kerja tersedia di semua project dan folder dalam organisasi.

  3. Klik Buat pool dan lakukan tindakan berikut:

    1. 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.

    2. Opsional: Di Deskripsi, masukkan deskripsi pool.

    3. Durasi sesi ditetapkan secara default. Untuk memasukkan durasi sesi khusus, klik Edit. Durasi sesi menentukan durasi validnya Google Cloud token akses, sesi login konsol (gabungan), 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).

    4. Untuk mengaktifkan pool, pastikan Mengaktifkan Pool aktif.

    5. 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 Google Cloud workforce pool 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 untuk kumpulan identitas tenaga kerja. Workforce identity pool tersedia di semua project dan folder di organisasi.
  • 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 Google Cloud token akses, 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).

Mengonfigurasi penyedia workforce identity pool SAML 2.0

Untuk membuat penyedia workforce identity pool SAML, jalankan perintah berikut:

gcloud iam workforce-pools providers create-saml PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global \
    --display-name=DISPLAY_NAME \
    --idp-metadata-path=XML_METADATA_PATH \
    --attribute-mapping=ATTRIBUTE_MAPPING \
    --extra-attributes-issuer-uri=EXTRA_ATTRIBUTES_ISSUER_URI \
    --extra-attributes-client-id=EXTRA_ATTRIBUTES_CLIENT_ID \
    --extra-attributes-client-secret-value=EXTRA_ATTRIBUTES_CLIENT_SECRET \
    --extra-attributes-type=EXTRA_ATTRIBUTES_TYPE  \
    –-extra-attributes-filter=EXTRA_ATTRIBUTES_FILTER

Ganti kode berikut:

  • PROVIDER_ID: ID penyedia unik. Awalan gcp- dicadangkan dan tidak dapat digunakan dalam ID penyedia atau ID pool.
  • WORKFORCE_POOL_ID: ID workforce pool.
  • DISPLAY_NAME: Nama tampilan untuk penyedia.
  • XML_METADATA_PATH: Jalur ke file metadata XML SAML 2.0.
  • ATTRIBUTE_MAPPING: Pemetaan atribut dari Microsoft Entra ID ke Google Cloud. Misalnya, untuk memetakan groups dan subject dari Microsoft Entra ID, gunakan pemetaan atribut berikut:
    --attribute-mapping=”google.groups=assertion.groups, google.subject=assertion.sub"

    Untuk mengetahui informasi selengkapnya, lihat Pemetaan atribut.

  • EXTRA_ATTRIBUTES_ISSUER_URI: URI penerbit dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_CLIENT_ID: Client ID dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_CLIENT_SECRET: Rahasia klien tambahan dari aplikasi Microsoft Entra ID Anda.
  • EXTRA_ATTRIBUTES_TYPE: Gunakan azure-ad-groups-mail untuk mengambil alamat email grup. Gunakan azure-ad-groups-id untuk mengambil ID grup.
  • EXTRA_ATTRIBUTES_FILTER: Opsional. Ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup. Anda dapat menggunakan parameter ini untuk memastikan bahwa jumlah grup yang diambil dari IdP tetap di bawah batas 999 grup.

    Contoh berikut mengambil grup yang memiliki awalan sales di ID emailnya:

    –-extra-attributes-filter='"mail:sales"'

    Ekspresi berikut mengambil grup dengan nama tampilan yang berisi string sales.

    -–extra-attributes-filter='"displayName:sales”'

Memberikan peran IAM ke grup

Di bagian ini, Anda memberikan peran kepada grup di resource Google Cloud . Untuk mempelajari ID akun utama Workforce Identity Federation lebih lanjut, lihat Merepresentasikan pengguna kumpulan tenaga kerja dalam kebijakan IAM.

Contoh berikut memberikan peran Storage Admin (roles/storage.admin) kepada pengguna dalam grup Microsoft Entra ID.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"

Ganti kode berikut:

  • PROJECT_ID: the project ID
  • WORKFORCE_POOL_ID: ID workforce identity pool
  • GROUP_ID: ID grup, yang bergantung pada nilai --extra-attributes-type yang digunakan untuk membuat penyedia workforce identity pool, sebagai berikut:
    • azure-ad-groups-mail: ID grup adalah alamat email—misalnya: admin-group@altostrat.com
    • azure-ad-groups-id: ID grup adalah UUID untuk grup—misalnya: abcdefgh-0123-0123-abcdef

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 Google Cloud konsol Workforce Identity Federation, yang juga dikenal sebagai konsol (gabungan), lakukan tindakan berikut:

  1. Buka halaman login konsol (gabungan).

    Buka konsol (gabungan)

  2. Masukkan nama penyedia, dengan format berikut:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
  3. Jika diminta, masukkan kredensial pengguna di Microsoft Entra ID.

    Jika Anda memulai login yang dimulai dengan IdP, gunakan URL berikut untuk URL relay: 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 pool
  • PROVIDER_ID: ID penyedia
  • LOGIN_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 audiens ke IdP yang dikonfigurasi di penyedia workforce identity pool. File tidak berisi informasi rahasia.

Outputnya terlihat mirip dengan yang berikut ini:

{
  "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://googleapis.com/v1/introspect",
}

Login menggunakan autentikasi berbasis browser

Untuk mengautentikasi menggunakan autentikasi login berbasis browser, Anda dapat menggunakan salah satu metode berikut:

  • Jika Anda menggunakan flag --activate saat membuat file konfigurasi, atau jika Anda mengaktifkan file konfigurasi dengan gcloud 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_FILE ke jalur konfigurasi.

Nonaktifkan login berbasis browser

Untuk menghentikan penggunaan file konfigurasi login, lakukan langkah berikut:

  • Jika Anda menggunakan flag --activate saat membuat file konfigurasi, atau jika Anda mengaktifkan file konfigurasi dengan gcloud 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-langkah berikut:

OIDC

  1. Ikuti langkah-langkah di Mengirim permintaan login. Login akun pengguna ke aplikasi Anda dengan Microsoft Entra ID menggunakan OIDC.

  2. Salin token ID dari parameter id_token URL 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.

  3. Buat file konfigurasi yang mirip dengan contoh nanti 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.json
    

    Ganti kode berikut:

    • WORKFORCE_POOL_ID: ID workforce identity pool.
    • WORKFORCE_PROVIDER_ID: ID penyedia kumpulan identitas tenaga kerja.
    • 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 izin serviceusage.services.use di 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"
      }
    }
    
  4. Buka gcloud CLI dan jalankan perintah berikut:

    gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALS
    

    Ganti 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

  1. Buat pengguna login ke aplikasi Microsoft Entra ID dan dapatkan respons SAML.

  2. 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_PATH
    
  3. Untuk 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.json
    

    Ganti kode berikut:

    • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang Anda buat sebelumnya dalam panduan ini
    • WORKFORCE_POOL_ID: ID workforce identity pool yang Anda buat sebelumnya dalam panduan ini
    • SAML_ASSERTION_PATH: jalur file pernyataan SAML
    • PROJECT_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"
    }
    
  4. Untuk login ke gcloud CLI menggunakan pertukaran token Workload Identity Federation, jalankan perintah berikut:

    gcloud auth login --cred-file=config.json
    

    Gcloud CLI kemudian 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].
  5. 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) kepada 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 apakah Anda memiliki akses menggunakan konsol (gabungan), lakukan langkah-langkah berikut:

  • Membuka halaman Cloud Storage

    Buka Cloud Storage

  • Pastikan Anda dapat melihat daftar bucket yang ada untuk TEST_PROJECT_ID.

gcloud CLI

Untuk menguji apakah Anda memiliki akses menggunakan gcloud CLI, Anda dapat mencantumkan objek dan bucket Cloud Storage untuk project yang aksesnya Anda miliki. 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 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 berikutnya