Mengonfigurasi Workforce Identity Federation

Panduan ini menjelaskan cara mengonfigurasi Workforce Identity Federation dengan penyedia identitas (IdP) yang mendukung OIDC atau SAML 2.0.

Untuk petunjuk khusus mengenai IdP, baca artikel berikut:

Sebelum memulai

  1. Pastikan Anda telah menyiapkan Google Cloud organisasi.
  2. Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

    gcloud init

    Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  3. Enable the Identity and Access Management (IAM) and Resource Manager APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  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 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 peran IAM Workforce Identity Pool Admin (roles/iam.workforcePoolAdmin) di organisasi. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Atau, peran dasar Pemilik (roles/owner) juga mencakup izin untuk mengonfigurasi Workforce Identity Federation. Anda tidak boleh memberikan peran dasar dalam lingkungan produksi, tetapi Anda dapat memberikannya dalam lingkungan pengembangan atau pengujian.

Mengonfigurasi Workforce Identity Federation

Untuk mengonfigurasi Workforce Identity Federation, Anda harus membuat workforce identity pool dan penyedia workforce identity pool.

Membuat workforce identity pool

Untuk membuat pool, jalankan perintah berikut:

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 dengan s—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:

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

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

    2. Opsional: Di Deskripsi, masukkan deskripsi pool.

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

Bagian ini menjelaskan cara membuat penyedia workforce identity pool untuk memungkinkan pengguna IdP Anda mengakses Google Cloud. Anda dapat mengonfigurasi penyedia untuk menggunakan protokol OIDC atau SAML.

Membuat penyedia workforce pool OIDC

Untuk membuat penyedia workforce identity pool menggunakan protokol OIDC, lakukan hal berikut:

  1. Di IdP OIDC Anda, daftarkan aplikasi baru untuk Google Cloud Workforce Identity Federation. Perhatikan client ID dan URI penerbit yang diberikan oleh IdP. Anda menggunakannya dalam dokumen ini.

  2. Jika Anda berencana menyiapkan akses pengguna ke konsol, tambahkan URL alihan berikut ke IdP OIDC Anda:

    https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Ganti kode berikut:

    • WORKFORCE_POOL_ID: ID workforce identity pool

    • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang Anda buat nanti dalam dokumen ini.

    Untuk mempelajari cara mengonfigurasi login konsol (federasi), lihat Menyiapkan akses pengguna ke konsol (federasi).

  3. Di Google Cloud, untuk membuat penyedia, lakukan hal berikut:

    gcloud

    Alur kode

    Untuk membuat penyedia OIDC yang menggunakan alur kode otorisasi untuk login web, jalankan perintah berikut:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION" \
        --issuer-uri="ISSUER_URI" \
        --client-id="OIDC_CLIENT_ID" \
    --client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=global

    Ganti kode berikut:

    • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang unik. Awalan gcp- 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 dengan https; misalnya, https://example.com/oidc. Catatan: Untuk alasan keamanan, ISSUER_URI harus menggunakan skema HTTPS.
    • OIDC_CLIENT_ID: ID klien OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaim aud JWT yang dikeluarkan oleh IdP Anda.
    • OIDC_CLIENT_SECRET: Rahasia klien OIDC.
    • WEB_SSO_ADDITIONAL_SCOPES: Cakupan tambahan opsional yang akan dikirim ke IdP OIDC untuk login berbasis browser konsol (federasi) atau gcloud CLI.
    • ATTRIBUTE_MAPPING: Pemetaan atribut. Berikut adalah contoh pemetaan atribut:
      google.subject=assertion.sub,
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      Contoh ini memetakan atribut IdP subject, groups, dan costcenter dalam pernyataan OIDC ke masing-masing atribut google.subject, google.groups, dan attribute.costcenter.
    • ATTRIBUTE_CONDITION: Kondisi atribut; misalnya, assertion.role == 'gcp-users'. Contoh kondisi ini memastikan bahwa hanya pengguna dengan peran gcp-users yang dapat login menggunakan penyedia ini.
    • JWK_JSON_PATH: Jalur opsional ke JWK OIDC yang diupload secara lokal. Jika parameter ini tidak disediakan, Google Cloud akan menggunakan jalur /.well-known/openid-configuration IdP Anda untuk mendapatkan JWK yang berisi kunci publik. Untuk informasi selengkapnya tentang JWK OIDC yang diupload secara lokal, lihat mengelola JWK OIDC.
    • 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-logging saat Anda menjalankan gcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.

    Dalam respons perintah, POOL_RESOURCE_NAME adalah nama pool; misalnya, locations/global/workforcePools/enterprise-example-organization-employees.

    Alur implisit

    Untuk membuat penyedia OIDC yang menggunakan alur implisit untuk login web, jalankan perintah berikut:

    gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION" \
        --issuer-uri="ISSUER_URI" \
        --client-id="OIDC_CLIENT_ID" \
        --web-sso-response-type="id-token" \
        --web-sso-assertion-claims-behavior="only-id-token-claims" \
        --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \
        --attribute-mapping="ATTRIBUTE_MAPPING" \
        --attribute-condition="ATTRIBUTE_CONDITION" \
        --jwk-json-path="JWK_JSON_PATH" \
        --detailed-audit-logging \
        --location=global
    

    Ganti kode berikut:

    • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool yang unik. Awalan gcp- 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 dengan https; misalnya, https://example.com/oidc. Catatan: Untuk alasan keamanan, ISSUER_URI harus menggunakan skema HTTPS.
    • OIDC_CLIENT_ID: ID klien OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaim aud JWT yang dikeluarkan oleh IdP Anda.
    • WEB_SSO_ADDITIONAL_SCOPES: Cakupan tambahan opsional yang akan dikirim ke IdP OIDC untuk login berbasis browser konsol (federasi) atau gcloud CLI.
    • ATTRIBUTE_MAPPING: Pemetaan atribut. Berikut adalah contoh pemetaan atribut:
      google.subject=assertion.sub,
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      Contoh ini memetakan atribut IdP subject, groups, dan costcenter dalam pernyataan OIDC ke masing-masing atribut google.subject, google.groups, dan attribute.costcenter.
    • ATTRIBUTE_CONDITION: Kondisi atribut; misalnya, assertion.role == 'gcp-users'. Contoh kondisi ini memastikan bahwa hanya pengguna dengan peran gcp-users yang dapat login menggunakan penyedia ini.
    • JWK_JSON_PATH: Jalur opsional ke JWK OIDC yang diupload secara lokal. Jika parameter ini tidak disediakan, Google Cloud akan menggunakan jalur /.well-known/openid-configuration IdP Anda untuk mendapatkan JWK yang berisi kunci publik. Untuk informasi selengkapnya tentang JWK OIDC yang diupload secara lokal, lihat mengelola JWK OIDC.
    • 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-logging saat Anda menjalankan gcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.

    Dalam respons perintah, POOL_RESOURCE_NAME adalah nama pool; misalnya, locations/global/workforcePools/enterprise-example-organization-employees.

    Awalan gcp- dicadangkan dan tidak dapat digunakan dalam ID penyedia workforce identity pool atau workforce identity pool.

    Untuk federasi OIDC, Anda dapat menggunakan assertion.NAME: string yang sama dengan nilai klaim bernama serupa dalam payload token ID.

    Konsol

    Alur kode

    Di konsol Google Cloud , untuk membuat penyedia OIDC yang menggunakan alur kode otorisasi, lakukan hal berikut:

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

      Buka Workforce Identity Pools

    2. Di tabel Workforce Identity Pool, pilih pool tempat Anda ingin membuat penyedia.

    3. Di bagian Penyedia, klik Tambahkan Penyedia.

    4. Di daftar Pilih vendor Penyedia, pilih IdP Anda.

      Jika IdP Anda tidak tercantum, pilih Penyedia Identitas Umum.

    5. Di bagian Pilih protokol autentikasi, pilih OpenID Connect (OIDC).

    6. Di bagian Buat penyedia, lakukan hal berikut:

      1. Di bagian Nama, masukkan nama penyedia.
      2. Di bagian Deskripsi, masukkan deskripsi penyedia.
      3. 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.
      4. Di bagian Client ID, masukkan client ID OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaim aud JWT yang dikeluarkan oleh IdP Anda.
      5. Untuk membuat penyedia yang diaktifkan, pastikan Aktifkan penyedia telah aktif.

      6. Klik Lanjutkan.
    7. 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.

    8. Klik Lanjutkan.

    9. Di bagian Configure OIDC Web Sign-in, lakukan hal berikut:

      1. Di daftar Flow type, pilih Code.
      2. Di daftar Perilaku klaim pernyataan, pilih salah satu opsi berikut:

        • Info pengguna dan token ID
        • Hanya token ID
      3. Di kolom Rahasia klien, masukkan rahasia klien dari IdP Anda.

      4. Opsional: Jika Anda memilih Okta sebagai IdP, tambahkan cakupan OIDC tambahan di kolom Additional scopes beyond openid, profile, and email.

    10. Klik Lanjutkan.

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

      1. Wajib: Pada OIDC 1, masukkan subjek dari IdP—misalnya, assertion.sub.

      2. Opsional: Untuk menambahkan pemetaan atribut tambahan, lakukan hal berikut:

        1. Klik Tambahkan pemetaan.
        2. Pada Google n, dengan n adalah angka, masukkan salah satu kunci yang didukungGoogle Cloud.
        3. Di kolom OIDC n yang sesuai, masukkan nama kolom khusus IdP yang akan dipetakan, dalam format CEL.
      3. Jika Anda memilih Microsoft Entra ID sebagai IdP, Anda dapat menambah jumlah grup.

        1. Pilih Gunakan Atribut Tambahan.
        2. Di kolom Extra Attributes Issuer URI, masukkan URL penerbit.
        3. Di kolom Extra Attributes Client ID, masukkan ID klien.
        4. Di kolom Extra Attributes Client Secret, masukkan rahasia klien.
        5. Di daftar Jenis Atribut Tambahan, pilih jenis atribut untuk atribut tambahan.
        6. Di kolom Filter Atribut Tambahan, masukkan ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup.
      4. Untuk membuat kondisi atribut, lakukan hal berikut:

        1. Klik Add condition.
        2. Di kolom Kondisi Atribut, masukkan kondisi dalam format CEL; misalnya, assertion.role == 'gcp-users'. Contoh kondisi ini memastikan bahwa hanya pengguna dengan peran gcp-users yang dapat login menggunakan penyedia ini.
      5. 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-logging saat Anda menjalankan gcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.

    12. Untuk membuat penyedia, klik Kirim.

    Alur implisit

    Di konsol Google Cloud , untuk membuat penyedia OIDC yang menggunakan alur implisit, lakukan hal berikut:

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

      Buka Workforce Identity Pools

    2. Di tabel Workforce Identity Pool, pilih pool tempat Anda ingin membuat penyedia.

    3. Di bagian Penyedia, klik Tambahkan Penyedia.

    4. Di daftar Pilih vendor Penyedia, pilih IdP Anda.

      Jika IdP Anda tidak tercantum, pilih Penyedia Identitas Umum.

    5. Di bagian Pilih protokol autentikasi, pilih OpenID Connect (OIDC).

    6. Di bagian Buat penyedia, lakukan hal berikut:

      1. Di bagian Nama, masukkan nama penyedia.
      2. Di bagian Deskripsi, masukkan deskripsi penyedia.
      3. 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.
      4. Di bagian Client ID, masukkan client ID OIDC yang terdaftar dengan IdP OIDC Anda; ID harus cocok dengan klaim aud JWT yang dikeluarkan oleh IdP Anda.
      5. Untuk membuat penyedia yang diaktifkan, pastikan Aktifkan penyedia sudah aktif.
      6. Klik Lanjutkan.
    7. 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.

    8. Klik Lanjutkan.

    9. Di bagian Configure OIDC Web Sign-in, lakukan hal berikut:

      1. Di daftar Flow type, pilih ID Token.

      2. Dalam daftar Perilaku klaim pernyataan, Token ID dipilih.

      3. Opsional: Jika Anda memilih Okta sebagai IdP, tambahkan cakupan OIDC tambahan di kolom Additional scopes beyond openid, profile, and email.

    10. Klik Lanjutkan.

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

      1. Wajib: Pada OIDC 1, masukkan subjek dari IdP; misalnya, assertion.sub.

      2. Opsional: Untuk menambahkan pemetaan atribut tambahan, lakukan hal berikut:

        1. Klik Tambahkan pemetaan.
        2. Pada Google n, dengan n adalah angka, masukkan salah satu kunci yang didukungGoogle Cloud.
        3. Di kolom OIDC n yang sesuai, masukkan nama kolom khusus IdP yang akan dipetakan, dalam format CEL.
      3. Jika Anda memilih Microsoft Entra ID sebagai IdP, Anda dapat menambah jumlah grup.

        1. Pilih Gunakan Atribut Tambahan.
        2. Di kolom Extra Attributes Issuer URI, masukkan URL penerbit.
        3. Di kolom Extra Attributes Client ID, masukkan ID klien.
        4. Di kolom Extra Attributes Client Secret, masukkan rahasia klien.
        5. Di daftar Jenis Atribut Tambahan, pilih jenis atribut untuk atribut tambahan.
        6. Di kolom Filter Atribut Tambahan, masukkan ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup.
      4. Untuk membuat kondisi atribut, lakukan hal berikut:

        1. Klik Add condition.
        2. Di kolom Kondisi Atribut, masukkan kondisi dalam format CEL; misalnya, assertion.role == 'gcp-users'. Contoh kondisi ini memastikan bahwa hanya pengguna dengan peran gcp-users yang dapat login menggunakan penyedia ini.
      5. 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-logging saat Anda menjalankan gcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.

    12. Untuk membuat penyedia, klik Kirim.

Membuat penyedia workforce pool SAML

  1. Pada IdP SAML, daftarkan aplikasi baru untuk Google Cloud Workforce Identity Federation.

  2. Tetapkan audiens untuk pernyataan SAML. Biasanya ini adalah kolom SP Entity ID di konfigurasi IdP Anda. Anda harus menetapkannya ke URL berikut:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    
  3. Tetapkan 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_ID
      

      Ganti kode berikut:

      • WORKFORCE_POOL_ID: ID workforce identity pool

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

  4. 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 mengonfigurasi penyedia SAML menggunakan gcloud CLI, lakukan langkah berikut:

  gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
      --workforce-pool=WORKFORCE_POOL_ID \
      --display-name="DISPLAY_NAME" \
      --description="DESCRIPTION" \
      --idp-metadata-path=METADATA_FILE_PATH \
      --attribute-mapping="ATTRIBUTE_MAPPING" \
      --attribute-condition="ATTRIBUTE_CONDITION" \
      --location=global

Ganti kode berikut:

  • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool.
  • WORKFORCE_POOL_ID: ID workforce identity pool.
  • DISPLAY_NAME Nama tampilan untuk penyedia; misalnya, idp-eu-employees.
  • DESCRIPTION: Deskripsi untuk penyedia workforce identity pool; misalnya, IdP for Partner Example Organization EU employees.
  • METADATA_FILE_PATH: Jalur file metadata SAML.
  • ATTRIBUTE_MAPPING: Pemetaan atribut; misalnya:

    google.subject=assertion.subject,
    google.groups=assertion.attributes['https://example.com/aliases'],
    attribute.costcenter=assertion.attributes.costcenter[0]
    Contoh ini memetakan atribut IdP assertion.subject, assertion.attributes['https://example.com/aliases'], dan assertion.attributes.costcenter[0] ke atribut Google Cloud google.subject, google.groups, dan google.costcenter.

  • ATTRIBUTE_CONDITION: Kondisi atribut. Misalnya, untuk membatasi atribut ipaddr ke rentang IP tertentu, Anda dapat mengatur kondisi menjadi assertion.attributes.ipaddr.startsWith('98.11.12.'). Contoh kondisi ini memastikan bahwa hanya pengguna dengan alamat IP yang diawali dengan 98.11.12. yang dapat login menggunakan penyedia workforce ini.

Penyedia memerlukan waktu beberapa menit untuk mulai menerima permintaan.

Untuk federasi SAML, Anda dapat menggunakan kata kunci berikut dalam pemetaan dan ketentuan atribut:

  • assertion.subject: string yang sama dengan atribut NameID dalam pernyataan SAML.
  • assertion.attributes.NAME: daftar string yang sama dengan nilai atribut bernama serupa dalam pernyataan SAML.

Opsional: Menerima pernyataan SAML terenkripsi dari IdP

Untuk mengaktifkan IdP SAML 2.0 guna memproduksi pernyataan SAML terenkripsi yang dapat diterima oleh workforce identity federation, lakukan hal berikut:

  • Dalam workforce identity federation, lakukan hal berikut:
    • Buat pasangan kunci asimetris untuk penyedia workforce identity pool Anda.
    • Download file sertifikat yang berisi kunci publik.
    • Konfigurasikan IdP SAML untuk menggunakan kunci publik guna mengenkripsi pernyataan SAML yang dikeluarkan.
  • Di IdP Anda, lakukan hal berikut:
    • Aktifkan enkripsi pernyataan, yang juga dikenal sebagai enkripsi token.
    • Upload kunci publik yang Anda buat di workforce identity federation.
    • Pastikan IdP Anda menghasilkan pernyataan SAML terenkripsi.
Perlu diketahui, meskipun kunci penyedia enkripsi SAML telah dikonfigurasi, workforce identity federation masih dapat memproses pernyataan teks biasa.

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 pilih
  • WORKFORCE_POOL_ID: ID pool
  • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool
  • KEY_SPECIFICATION: spesifikasi kunci, yang dapat berupa salah satu dari rsa-2048, rsa-3072, dan rsa-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 kunci
  • WORKFORCE_POOL_ID: ID pool
  • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool
  • CERTIFICATE_PATH: jalur untuk menulis sertifikat misalnya, saml-certificate.cer atau saml-certificate.pem

Mengonfigurasi IdP yang sesuai dengan SAML 2.0 untuk mengeluarkan pernyataan SAML terenkripsi

Konfigurasikan IdP SAML agar menggunakan sertifikat publik yang didownload dari langkah terakhir untuk mengenkripsi pernyataan SAML yang dikeluarkan. Konsultasikan dengan tim IdP Anda untuk mendapatkan petunjuk khusus.

Setelah mengonfigurasi IdP untuk mengenkripsi pernyataan SAML, sebaiknya periksa untuk memastikan bahwa pernyataan yang dihasilkan benar-benar dienkripsi. Bahkan dengan enkripsi pernyataan SAML yang dikonfigurasi, workforce identity federation masih dapat memproses pernyataan teks biasa.

Menghapus kunci enkripsi workforce identity federation

Untuk menghapus kunci enkripsi SAML, jalankan perintah berikut:
  gcloud iam workforce-pools providers keys delete KEY_ID \
      --workforce-pool WORKFORCE_POOL_ID \
      --provider WORKFORCE_PROVIDER_ID \
      --location global

Ganti kode berikut:

  • KEY_ID: adalah nama kunci
  • WORKFORCE_POOL_ID: ID pool
  • WORKFORCE_PROVIDER_ID: ID penyedia workforce identity pool

Algoritma enkripsi SAML yang didukung

Workforce identity federation mendukung algoritma transpor kunci berikut:

Workforce identity federation mendukung algoritma enkripsi blok berikut:

Persyaratan kunci penandatanganan SAML X.509

Spesifikasi kunci berikut berlaku untuk kunci penandatanganan SAML X.509:

  • Kunci publik RSA yang digabungkan dalam sertifikat X.509 v3.

  • Persyaratan validitas sertifikat:

    • notBefore: stempel waktu yang tidak lebih dari 7 hari ke depan
    • notAfter: stempel waktu yang tidak lebih dari 25 tahun ke depan
  • Algoritma yang direkomendasikan:

Penyedia workforce identity pool dapat dikonfigurasi dengan maksimal tiga kunci penandatanganan secara bersamaan. Jika ada beberapa kunci, Google Cloud akan melakukan iterasi dan mencoba menggunakan setiap kunci yang belum habis masa berlakunya untuk memenuhi permintaan pertukaran token.

Praktik terbaiknya, sebaiknya Anda tidak menggunakan kembali pasangan kunci yang sama dengan layanan lain.

Pengelolaan kunci

Untuk mengupdate kunci penandatanganan IdP, lakukan langkah-langkah berikut:

  1. Buat pasangan kunci asimetris baru dan konfigurasikan penyedia identitas SAML dengan pasangan kunci tersebut. Awalnya, Anda menandainya sebagai tidak aktif sebelum mengaktifkannya di langkah berikutnya.

  2. Download dokumen XML metadata SAML dari IdP Anda.

  3. Perbarui resource penyedia workforce identity pool dengan dokumen metadata SAML. Jika ada beberapa kunci, Google Cloud akan melakukan iterasi melalui setiap kunci yang belum habis masa berlakunya dan mencoba menggunakan setiap kunci untuk memenuhi permintaan pertukaran token.

    Untuk memperbarui penyedia workforce identity pool dengan metadata SAML, jalankan perintah berikut.

    gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --idp-metadata-path=SAML_METADATA_FILE_PATH \
        --location=global
    

    Ganti kode berikut:

    • WORKFORCE_PROVIDER_ID: ID penyedia kumpulan identitas tenaga kerja
    • WORKFORCE_POOL_ID: ID workforce identity pool
    • SAML_METADATA_FILE_PATH: jalur ke file metadata SAML
  4. Tunggu hingga operasi yang ditampilkan dari langkah sebelumnya selesai (operasi ditandai sebagai selesai), lalu pada IdP SAML, aktifkan kunci penandatanganan baru. Kunci penandatanganan lama ditandai sebagai tidak aktif. Pernyataan yang dikeluarkan oleh IdP Anda ditandatangani menggunakan kunci baru.

Langkah berikut bersifat opsional, tetapi sebaiknya Anda melakukannya untuk hasil terbaik:

  1. Hapus kunci penandatanganan lama yang sekarang tidak aktif dari IdP Anda.
  2. Download dokumen XML metadata SAML dari IdP Anda.
  3. Perbarui resource penyedia workforce identity pool menggunakan dokumen metadata SAML. Google Cloud menolak pernyataan yang ditandatangani dengan kunci penandatanganan yang sudah habis masa berlakunya. Untuk memperbarui dokumen, jalankan perintah berikut:

    gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --idp-metadata-path=SAML_METADATA_FILE_PATH \
        --location=global
    

    Ganti kode berikut:

    • WORKFORCE_PROVIDER_ID: ID penyedia kumpulan identitas tenaga kerja
    • WORKFORCE_POOL_ID: ID workforce identity pool
    • SAML_METADATA_FILE_PATH: jalur metadata SAML

Batasan penghapusan kunci

Google Cloud menolak pernyataan yang ditandatangani dengan kunci yang dihapus.

Konsol

Untuk mengonfigurasi penyedia SAML menggunakan konsol Google Cloud , lakukan langkah berikut:

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

    Buka Workforce Identity Pools

  2. Di tabel Workforce Identity Pool, pilih pool yang ingin Anda buatkan penyedia.

  3. Di bagian Penyedia, klik Tambahkan Penyedia.

  4. Di daftar Pilih vendor Penyedia, pilih IdP Anda.

    Jika IdP Anda tidak tercantum, pilih Penyedia Identitas Umum.

  5. Di bagian Pilih protokol autentikasi, pilih SAML.

  6. Di bagian Buat penyedia, lakukan hal berikut:

    1. Di bagian Nama, masukkan nama penyedia.

    2. Opsional: Di bagian Deskripsi, masukkan deskripsi penyedia.

    3. Di file metadata IDP (XML), pilih file XML metadata yang Anda buat sebelumnya dalam panduan ini.

    4. Untuk membuat penyedia yang diaktifkan, pastikan Aktifkan penyedia sudah aktif.

    5. Klik Lanjutkan.

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

  8. Klik Lanjutkan.

  9. Di bagian Konfigurasi penyedia, lakukan langkah berikut:

    1. Di Pemetaan atribut, masukkan ekspresi CEL untuk google.subject.

    2. Opsional: Untuk memasukkan pemetaan lain, klik Tambahkan pemetaan, lalu masukkan pemetaan lain, misalnya:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['https://example.com/aliases'],
      attribute.costcenter=assertion.attributes.costcenter[0]
      Contoh ini memetakan atribut IdP assertion.subject, assertion.attributes['https://example.com/aliases'], dan assertion.attributes.costcenter[0] ke atribut Google Cloud google.subject, google.groups, dan google.costcenter.

    3. Jika Anda memilih Microsoft Entra ID sebagai IdP, Anda dapat meningkatkan jumlah grup dengan melakukan hal berikut:

      1. Pilih Gunakan Atribut Tambahan.
      2. Di kolom Extra Attributes Issuer URI, masukkan URL penerbit.
      3. Di kolom Extra Attributes Client ID, masukkan ID klien.
      4. Di kolom Extra Attributes Client Secret, masukkan rahasia klien.
      5. Di daftar Jenis Atribut Tambahan, pilih jenis atribut untuk atribut tambahan.
      6. Di kolom Filter Atribut Tambahan, masukkan ekspresi filter yang digunakan saat membuat kueri Microsoft Graph API untuk grup.
    4. Opsional: Untuk menambahkan kondisi atribut, klik Tambahkan kondisi, lalu masukkan ekspresi CEL yang mewakili kondisi atribut. Misalnya, untuk membatasi atribut ipaddr ke rentang IP tertentu, Anda dapat mengatur kondisi menjadi assertion.attributes.ipaddr.startsWith('98.11.12.'). Contoh kondisi ini memastikan bahwa hanya pengguna dengan alamat IP yang diawali dengan 98.11.12. yang dapat login menggunakan penyedia workforce ini.

    5. Klik Lanjutkan.

    6. 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-logging saat Anda menjalankan gcloud iam workforce-pools providers create. Untuk menonaktifkan logging audit mendetail, Anda juga dapat memperbarui penyedia.

  10. Untuk membuat penyedia, klik Kirim.

ID utama tenaga kerja untuk kebijakan IAM

Tabel berikut menunjukkan ID utama yang dapat Anda gunakan untuk memberikan peran kepada pengguna individu dan grup pengguna.

Identitas Format ID
Identitas tunggal dalam workforce identity pool principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
Semua identitas workforce dalam grup principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
Semua identitas workforce dengan nilai atribut tertentu principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
Semua identitas dalam workforce identity pool principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*

Untuk mengetahui daftar lengkap ID utama, lihat ID utama.

Memberikan peran IAM ke akun utama

Anda dapat memberikan peran ke akun utama, seperti identitas tunggal, sekelompok identitas, atau keseluruhan pool.

Untuk memberikan peran pada project kepada akun utama, jalankan perintah berikut:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --role="ROLE" \
    --member="PRINCIPAL"

Ganti kode berikut:

  • PROJECT_ID: the project ID
  • ROLE: peran yang akan diberikan
  • PRINCIPAL: akun utama; lihat ID utama untuk Workforce Identity Federation.

Pada contoh berikut, perintah memberikan peran Storage Admin (roles/storage.admin) ke semua identitas dalam grup GROUP_ID:

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

Untuk mengetahui informasi selengkapnya tentang format utama, lihat ID utama untuk Workforce Identity Federation.

Menghapus pengguna

Workforce Identity Federation membuat metadata dan resource pengguna untuk identitas pengguna gabungan. 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:

  1. 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:
      google.subject=user.externalId,google.group=group.externalId
      Atribut google.subject yang Anda petakan di tenant SCIM harus secara unik merujuk ke identitas yang sama yang dipetakan di atribut google.subject di 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.
  2. Setelah perintah selesai, lakukan hal berikut:

    1. Di kolom baseUri dalam output, simpan seluruh URI, yang diformat sebagai https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID. Anda harus memberikan URI ini ke IdP Anda.
    2. Selain itu, dari URI, simpan hanya SCIM_TENANT_UID. Anda memerlukan UID ini untuk menetapkan kebijakan IAM pada tenant SCIM, nanti dalam dokumen ini.
  3. 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 global
        

    Ganti kode berikut:

    • SCIM_TOKEN_ID: ID untuk token SCIM
    • DISPLAY_NAME: nama tampilan token SCIM
    • WORKFORCE_POOL_ID: ID workforce pool
    • SCIM_TENANT_ID: ID tenant SCIM
    • PROVIDER_ID: ID penyedia workforce identity pool
  4. Setelah perintah gcloud iam workforce-pools providers scim-tenants tokens create selesai, lakukan hal berikut:

    1. Di output, simpan nilai SCIM_TOKEN di kolom securityToken. 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.
    2. Untuk memeriksa apakah SCIM_TOKEN ditolak oleh kebijakan organisasi Anda, jalankan perintah berikut:
      curl -v -H "Authorization: Bearer SCIM_TOKEN"  https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Users
      Jika perintah gagal dengan error terkait izin, jalankan gcloud organizations add-iam-policy-binding, yang dijelaskan pada langkah selanjutnya. Jika perintah berhasil, Anda dapat melewati langkah tersebut.
  5. Menetapkan kebijakan IAM pada token dan tenant SCIM. Jika perintah curl pada 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.scimSyncer
        

    Ganti 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 IdP OIDC atau SAML Anda

Di IdP Anda, konfigurasi SCIM seperti yang dijelaskan dalam dokumentasi IdP Anda. Gunakan URL SCIM dan token SCIM yang diperoleh pada langkah sebelumnya.

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 pool
  • WORKFORCE_POOL_ID: ID workforce pool
  • LOCATION: 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 pool
  • WORKFORCE_POOL_ID: ID workforce pool
  • LOCATION: 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:

  1. Jika --scim-usage=enabled-for-groups ditetapkan 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_UNSPECIFIED
            

    Ganti kode berikut:

    • PROVIDER_ID: ID penyedia workforce identity pool
    • WORKFORCE_POOL_ID: ID workforce pool

  2. 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=global
    

    Ganti kode berikut:

    • SCIM_TENANT_ID: ID tenant SCIM yang akan dihapus
    • WORKFORCE_POOL_ID: ID workforce pool
    • PROVIDER_ID: ID penyedia workforce identity pool
    Untuk mempelajari SCIM lebih lanjut, termasuk cara menghapus tenant SCIM, lihat Dukungan SCIM.

Langkah berikutnya