Menghubungkan ke penyedia identitas

Halaman ini menjelaskan cara menghubungkan Google Distributed Cloud (GDC) yang terisolasi ke penyedia identitas (IdP) yang sudah ada di organisasi Anda. IdP adalah sistem yang mengelola dan mengamankan identitas pengguna secara terpusat, serta menyediakan layanan autentikasi. Dengan menghubungkan ke IdP yang ada, pengguna dapat mengakses GDC menggunakan kredensial organisasi mereka, tanpa perlu membuat atau mengelola akun terpisah dalam GDC. Proses ini memastikan pengalaman login yang lancar dan aman. Karena IdP adalah resource global, pengguna dapat mengakses GDC melalui IdP yang sama, terlepas dari zona tempat mereka bekerja.

Halaman ini ditujukan bagi audiens dalam grup administrator platform, seperti admin IT atau engineer keamanan, yang ingin terhubung ke IdP. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Audiens untuk GDC yang terisolasi dari internet.

Anda dapat terhubung ke penyedia identitas yang ada menggunakan salah satu cara berikut:

Sebelum memulai

Sebelum Anda terhubung ke penyedia identitas yang ada, pastikan penyiapan awal selesai dan Anda memiliki izin yang diperlukan.

Penyiapan koneksi awal penyedia identitas

Anggota grup operator infrastruktur untuk organisasi Anda harus mengonfigurasi koneksi awal ke IdP sebelum pengguna dapat mengakses cluster atau dasbor GDC.

Mereka dapat melakukannya dengan membuka tiket di sistem tiket dan memberikan informasi berikut tentang penyedia identitas:

  • Jumlah server dan jenisnya.
  • Jumlah penyimpanan blok dalam TB.
  • Jumlah penyimpanan objek dalam TB.
  • Parameter wajib untuk OIDC:
    • clientID: ID untuk aplikasi klien yang membuat permintaan autentikasi ke penyedia OpenID.
    • clientSecret: rahasia yang hanya diketahui oleh aplikasi dan penyedia OpenID.
    • issuerURL: URL tempat permintaan otorisasi dikirim ke OpenID Anda.
    • scopes: cakupan tambahan yang akan dikirim ke penyedia OpenID.
    • userclaim: Klaim token web JSON (JWT) yang akan digunakan sebagai nama pengguna.
    • certificateAuthorityData: Sertifikat yang dienkode PEM dan dienkode base64 untuk penyedia OIDC.
  • Parameter wajib untuk penyedia SAML:
    • idpCertificateDataList: Sertifikat IdP untuk memverifikasi respons SAML. Sertifikat ini harus dienkode base64 standar dan diformat PEM. Hanya maksimum dua sertifikat yang didukung untuk memfasilitasi rotasi sertifikat IdP.
    • idpEntityID: ID entitas SAML untuk penyedia SAML, yang ditentukan dalam format URI. Contoh: https://www.idp.com/saml.
    • idpSingleSignOnURI: URI ke endpoint SSO penyedia SAML. Contoh: https://www.idp.com/saml/sso.
  • Nama pengguna atau grup nama pengguna untuk administrator awal.

Izin yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk menghubungkan penyedia identitas yang ada, lakukan hal berikut:

  • Minta Admin IAM Organisasi Anda untuk memberi Anda peran IdP Federation Admin (idp-federation-admin).
  • Pastikan admin awal yang Anda tentukan saat menghubungkan penyedia identitas memiliki peran Admin IAM Organisasi (organization-iam-admin).

Menghubungkan ke penyedia identitas yang sudah ada

Untuk menghubungkan penyedia identitas, Anda harus memiliki satu ID klien dan rahasia dari penyedia identitas Anda. Anda dapat terhubung ke penyedia OIDC yang sudah ada atau penyedia SAML.

Menghubungkan ke penyedia OIDC yang sudah ada

Untuk terhubung ke penyedia OIDC yang ada, selesaikan langkah-langkah berikut:

Konsol

  1. Login ke konsol GDC. Contoh berikut menunjukkan konsol setelah login ke organisasi bernama org-1: Halaman selamat datang konsol dengan link akses cepat ke tugas umum
  2. Di menu navigasi, klik Identity and Access > Identity.
  3. Klik Siapkan Penyedia Identitas Baru.

  4. Di bagian Konfigurasi penyedia identitas, selesaikan langkah-langkah berikut dan klik Berikutnya:

    1. Di menu dropdown Identity provider, pilih Open ID Connect (OIDC).
    2. Masukkan Nama penyedia identitas.
    3. Di kolom URL Google Distributed Cloud, masukkan URL yang Anda gunakan untuk mengakses GDC.
    4. Di kolom URI Penerbit, masukkan URL tempat permintaan otorisasi dikirim ke penyedia identitas Anda. Server Kubernetes API menggunakan URL ini untuk menemukan kunci publik agar dapat memverifikasi token. URL harus menggunakan HTTPS.
    5. Di kolom Client ID, masukkan ID untuk aplikasi klien yang membuat permintaan autentikasi ke penyedia identitas.
    6. Di bagian Client secret, pilih Configure client secret (Recommended).
      1. Di kolom Rahasia klien, masukkan rahasia klien, yang merupakan rahasia bersama antara penyedia identitas Anda dan Distributed Cloud.
    7. Opsional: Di kolom Prefix, masukkan awalan. Awalan ditambahkan di awal klaim pengguna dan klaim grup. Awalan digunakan untuk membedakan konfigurasi penyedia identitas yang berbeda. Misalnya, jika Anda menetapkan awalan myidp, klaim pengguna mungkin berupa myidpusername@example.com dan klaim grup mungkin berupa myidpgroup@example.com. Awalan juga harus disertakan saat menetapkan izin kontrol akses berbasis peran (RBAC) ke grup.

    8. Opsional: Di bagian Enkripsi, pilih Aktifkan token terenkripsi.

      Untuk mengaktifkan token enkripsi, Anda harus memiliki peran Admin Federasi IdP. Minta Admin IAM Organisasi Anda untuk memberi Anda peran IdP Federation Admin (idp-federation-admin).

      1. Di kolom Key ID, masukkan ID kunci Anda. ID kunci adalah kunci publik dari token enkripsi web JSON (JWT). Penyedia OIDC Anda menyiapkan dan menyediakan ID kunci.
      2. Di kolom Decryption key, masukkan kunci dekripsi dalam format PEM. Kunci dekripsi adalah kunci asimetris yang mendekripsi enkripsi. Penyedia OIDC Anda akan menyiapkan dan menyediakan kunci dekripsi.
  5. Di bagian Konfigurasi atribut, selesaikan langkah-langkah berikut dan klik Berikutnya:

    1. Di kolom Certificate authority for OIDC provider, masukkan sertifikat berenkode PEM yang dienkode base64 untuk penyedia identitas. Untuk mengetahui informasi selengkapnya, lihat https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Untuk membuat string, enkode sertifikat, termasuk header, ke dalam base64.
      2. Sertakan string yang dihasilkan sebagai satu baris. Contoh: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    2. Di kolom Klaim grup, masukkan nama klaim dalam token penyedia identitas yang menyimpan informasi grup pengguna.
    3. Di kolom Klaim pengguna, masukkan klaim untuk mengidentifikasi setiap pengguna. Klaim default untuk banyak penyedia adalah sub. Anda dapat memilih klaim lain, seperti email atau name, bergantung pada penyedia identitas. Klaim selain email diawali dengan URL penerbit untuk mencegah bentrokan penamaan.
    4. Opsional: Di bagian Atribut kustom, klik Tambahkan dan masukkan key-value pair untuk klaim tambahan tentang pengguna, seperti departemen atau URL foto profilnya.
    5. Jika penyedia identitas Anda memerlukan cakupan tambahan, di kolom Cakupan, masukkan cakupan yang dipisahkan koma untuk dikirim ke penyedia identitas.
    6. Di bagian Parameter tambahan, masukkan pasangan nilai kunci tambahan (dipisahkan dengan koma) yang diperlukan oleh penyedia identitas Anda. Jika Anda memberikan otorisasi ke grup, teruskan resource=token-groups-claim.
  6. Di bagian Tentukan admin awal, selesaikan langkah-langkah berikut lalu klik Berikutnya:

    1. Pilih apakah akan menambahkan pengguna atau grup individual sebagai administrator awal.
    2. Di kolom Alias pengguna atau grup, masukkan alamat email pengguna atau grup untuk mengakses organisasi. Jika Anda adalah administrator, masukkan alamat email Anda, misalnya kiran@example.com. Awalan ditambahkan sebelum nama pengguna, seperti myidp-kiran@example.com.
  7. Tinjau pilihan Anda, lalu klik Siapkan.

Profil penyedia identitas baru tersedia di daftar Profil identitas.

API

Untuk menghubungkan penyedia identitas ke organisasi Anda, buat resource kustom IdentityProviderConfig global.

  1. Buat file YAML resource kustom IdentityProviderConfig, seperti pa-idp-oidc.yaml:

    apiVersion: iam.global.gdc.goog/v1
    kind: IdentityProviderConfig
    metadata:
      name: pa-idp-oidc
      namespace: platform
    spec:
      oidc:
        certificateAuthorityData: "IDP_BASE64_ENCODED_CERTIFICATE"
        clientID: IDP_CLIENT_ID
        clientSecret: IDP_CLIENT_SECRET
        groupPrefix: IDP_GROUP_PREFIX
        groupsClaim: IDP_GROUP_CLAIM
        issuerURI: IDP_ISSUER_URI
        scopes: openid email profile
        userClaim: IDP_USER_CLAIM
        userPrefix: IDP_USER_PREFIX
    

    Ganti variabel berikut:

    • IDP_BASE64_ENCODED_CERTIFICATE: sertifikat berenkode base64 untuk IdP.
    • IDP_CLIENT_ID: ID klien untuk IdP.
    • IDP_CLIENT_SECRET: rahasia klien untuk IdP.
    • IDP_GROUP_PREFIX: awalan untuk grup di IdP.
    • IDP_GROUP_CLAIM: nama klaim dalam token IdP yang mengelompokkan informasi.
    • IDP_ISSUER_URI: URI penerbit untuk IdP.
    • IDP_USER_CLAIM: nama klaim dalam token IdP untuk pengguna.
    • IDP_USER_PREFIX: awalan untuk IdP pengguna.
  2. Terapkan resource kustom IdentityProviderConfig ke server API global:

    kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f pa-idp-oidc.yaml
    

    Ganti variabel GLOBAL_API_SERVER_KUBECONFIG dengan jalur ke file kubeconfig untuk server API global.

Menghubungkan ke penyedia SAML yang ada

Untuk menghubungkan ke penyedia SAML yang ada, selesaikan langkah-langkah berikut:

Konsol

  1. Login ke konsol GDC.
  2. Di menu navigasi, klik Identity and Access > Identity.
  3. Di bagian Konfigurasi penyedia identitas, selesaikan langkah-langkah berikut dan klik Berikutnya:

    1. Di menu drop-down Identity provider, pilih Security Assertion Markup Language (SAML).
    2. Masukkan Nama penyedia identitas.
    3. Di kolom Identity ID, masukkan ID untuk aplikasi klien yang membuat permintaan autentikasi ke penyedia identitas.
    4. Di kolom SSO URI, masukkan URL ke endpoint single sign-on penyedia. Contoh: https://www.idp.com/saml/sso.
    5. Di kolom Awalan penyedia identitas, masukkan awalan. Awalan ditambahkan ke awal klaim pengguna dan grup. Awalan membedakan konfigurasi penyedia identitas yang berbeda. Misalnya: Jika Anda menetapkan awalan myidp, klaim pengguna dapat ditampilkan sebagai myidpusername@example.com dan klaim grup dapat ditampilkan sebagai myidpgroup@example.com. Anda juga harus menyertakan awalan saat menetapkan izin RBAC ke grup.

    6. Untuk meningkatkan keamanan, konfigurasikan penyedia SAML Anda untuk mengeluarkan pernyataan dengan masa berlaku 5 hingga 10 menit. Setelan ini dapat dikonfigurasi dalam setelan penyedia SAML Anda.

    7. Opsional: Di bagian Pernyataan SAML, pilih Aktifkan pernyataan SAML terenkripsi.

      Untuk mengaktifkan pernyataan SAML terenkripsi, Anda harus memiliki peran Admin Federasi IdP. Minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin Federasi IdP (idp-federation-admin).

      1. Di kolom Encryption certificate, masukkan sertifikat enkripsi Anda dalam format PEM. Anda menerima sertifikat enkripsi setelah membuat penyedia SAML.
      2. Di kolom Decryption key, masukkan kunci dekripsi Anda. Anda menerima kunci dekripsi setelah membuat penyedia SAML.
    8. Opsional: Di bagian SAML Signed requests, centang Enable signed SAML requests.

      1. Di kolom Signing certificate, masukkan sertifikat penandatanganan Anda dalam format file PEM. Penyedia SAML Anda akan menyiapkan dan membuat sertifikat penandatanganan untuk Anda.
      2. Di kolom Signing key, masukkan kunci penandatanganan Anda dalam format file PEM. Penyedia SAML Anda menyiapkan dan membuat kunci penandatanganan untuk Anda.
  4. Di halaman Configure attributes, selesaikan langkah-langkah berikut dan klik Next:

    1. Di kolom IDP certificate, masukkan sertifikat berenkode PEM yang dienkode ke base64 untuk penyedia identitas. Untuk mengetahui informasi selengkapnya, lihat https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Untuk membuat string, enkode sertifikat, termasuk header, ke dalam base64.
      2. Sertakan string yang dihasilkan sebagai satu baris. Contoh: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    2. Masukkan sertifikat tambahan di kolom Additional IDP certificate.
    3. Di kolom Atribut pengguna, masukkan atribut untuk mengidentifikasi setiap pengguna. Atribut default untuk banyak penyedia adalah sub. Anda dapat memilih atribut lain, seperti email atau name, bergantung pada penyedia identitas. Atribut selain email diberi awalan dengan URL penerbit untuk mencegah bentrokan penamaan.
    4. Di kolom Atribut grup, masukkan nama atribut di token penyedia identitas yang menyimpan informasi grup pengguna.
    5. Opsional: Di area Pemetaan atribut, klik Tambahkan dan masukkan pasangan nilai kunci untuk atribut tambahan tentang pengguna, seperti URL foto profil atau departemennya.
  5. Di bagian Tentukan admin awal, selesaikan langkah-langkah berikut lalu klik Berikutnya:

    1. Pilih apakah akan menambahkan pengguna atau grup individual sebagai administrator awal.
    2. Di kolom Username, masukkan alamat email pengguna atau grup untuk mengakses organisasi. Jika Anda adalah administrator, masukkan alamat email Anda, misalnya kiran@example.com. Awalan ditambahkan sebelum nama pengguna, seperti myidp-kiran@example.com.
  6. Di halaman Tinjau, periksa semua nilai setiap konfigurasi identitas sebelum melanjutkan. Klik Kembali untuk kembali ke halaman sebelumnya dan melakukan koreksi yang diperlukan. Setelah mengonfigurasi semua nilai sesuai spesifikasi Anda, klik Siapkan.

API

Untuk menghubungkan penyedia identitas ke organisasi Anda, buat resource kustom IdentityProviderConfig global.

  1. Buat file YAML resource kustom IdentityProviderConfig, seperti pa-idp-saml.yaml:

    apiVersion: iam.global.gdc.goog/v1
    kind: IdentityProviderConfig
    metadata:
      name: pa-idp-saml
      namespace: platform
    spec:
      saml:
        groupPrefix: IDP_GROUP_PREFIX
        groupsAttribute: IDP_GROUP_ATTRIBUTE
        idpCertificateDataList:
        - "IDP_BASE64_ENCODED_CERTIFICATE"
        idpEntityID: IDP_SAML_ENTITY_ID
        idpSingleSignOnURI: IDP_SAML_SSO_URI
        userAttribute: IDP_USER_ATTRIBUTE
        userPrefix: IDP_USER_PREFIX
    

    Ganti variabel berikut:

    • IDP_GROUP_PREFIX: awalan untuk grup di IdP.
    • IDP_GROUP_ATTRIBUTE: atribut untuk grup di IdP.
    • IDP_BASE64_ENCODED_CERTIFICATE: sertifikat berenkode base64 untuk IdP.
    • IDP_SAML_ENTITY_ID: URL atau URI untuk mengidentifikasi IdP secara unik.
    • IDP_SAML_SSO_URI: URI penerbit untuk IdP.
    • IDP_USER_ATTRIBUTE: atribut untuk pengguna IdP, seperti email.
    • IDP_USER_PREFIX: nama klaim dalam token IdP untuk pengguna.
  2. Terapkan resource kustom IdentityProviderConfig ke server API global:

    kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f pa-idp-saml.yaml
    

    Ganti variabel GLOBAL_API_SERVER_KUBECONFIG dengan jalur ke file kubeconfig untuk server API global.

Menghapus penyedia identitas yang ada

Menghapus penyedia identitas yang ada menggunakan konsol GDC:

  1. Login ke konsol GDC.
  2. Di pemilih project, pilih organisasi tempat Anda ingin menghapus penyedia identitas.
  3. Di menu navigasi, klik Identity and Access > Identity.
  4. Centang kotak di samping nama satu atau beberapa penyedia identitas.

    Pesan akan muncul dengan jumlah penyedia identitas yang Anda pilih dan tombol Hapus.

  5. Klik Hapus.