Mengonfigurasi penyedia OIDC untuk GKE Identity Service
Dokumen ini ditujukan untuk administrator platform, atau siapa pun yang mengelola penyiapan identitas di organisasi Anda. Panduan ini menjelaskan cara mengonfigurasi penyedia identitas OpenID Connect (OIDC) yang Anda pilih untuk GKE Identity Service.
Mendaftarkan GKE Identity Service dengan penyedia Anda
Penyiapan GKE Identity Service memerlukan satu client ID dan secret dari penyedia identitas Anda. ID dan rahasia ini digunakan oleh GKE Identity Service saat terhubung ke penyedia sebagai bagian dari alur autentikasi untuk pengguna. Untuk mendapatkannya, Anda perlu mendaftarkan GKE Identity Service dengan penyedia Anda sebagai aplikasi klien, dengan mengikuti prosedur standar untuk penyedia pilihan Anda. Anda dapat menemukan beberapa detail pendaftaran spesifik untuk penyedia populer di bagian berikutnya.
Untuk URL alihan, tentukan nilai berikut:
https://console.cloud.google.com/kubernetes/oidc
adalah URL alihan untuk Konsol Google Cloud.http://localhost:PORT/callback
adalah URL alihan untuk gcloud CLI. Anda dapat menentukan nomor port yang lebih tinggi dari 1024.APISERVER-URL:11001/finish-login
adalah URL alihan jika Anda memilih untuk melakukan autentikasi menggunakan akses FQDN. GantiAPISERVER-URL
dengan FQDN server Kubernetes API cluster. Misalnya, jikaAPISERVER-URL
adalahhttps://apiserver.company.com
, makaredirect_uri
harushttps://apiserver.company.com:11001/finish-login
.
Simpan client ID dan rahasia yang Anda dapatkan dari langkah pendaftaran. Bagikan detail ini kepada administrator cluster yang perlu menyiapkan GKE Identity Service.
Informasi penyiapan penyedia identitas
Bagian ini memberikan informasi tambahan khusus penyedia untuk mendaftarkan GKE Identity Service. Jika penyedia Anda tercantum di sini, daftarkan GKE Identity Service dengan penyedia Anda sebagai aplikasi klien menggunakan petunjuk berikut.
Microsoft AD FS
Gunakan serangkaian wizard manajemen AD FS untuk mengkonfigurasi server AD FS dan AD FS di skrip untuk menyiapkan database.
Buka panel pengelolaan AD FS.
Pilih Grup Aplikasi > Tindakan > Tambahkan Grup Aplikasi.
Pilih Server Application. Masukkan nama dan deskripsi pilihan Anda. Klik Next.
Masukkan dua URL pengalihan Anda, seperti yang disebutkan di atas. Anda akan diberi client ID. Beginilah cara Server AD FS mengidentifikasi GKE Identity Service. Simpan {i>client ID<i} untuk nanti.
Pilih Buat rahasia bersama. GKE Identity Service menggunakan rahasia ini untuk melakukan autentikasi ke server AD FS. Simpan rahasia untuk nanti.
Mengonfigurasi grup keamanan (opsional)
Dalam pengelolaan AD FS, pilih Relying party trust > Menambahkan tepercaya baru kepercayaan pihak ketiga.
Pilih Sadar Klaim, lalu klik Mulai.
Pilih Masukkan data tentang pihak tepercaya secara manual.
Masukkan nama tampilan.
Lewati dua langkah berikutnya.
Masukkan ID kepercayaan pihak tepercaya. Saran:
token-groups-claim
.Untuk Kebijakan kontrol akses, pilih Izinkan semua orang. Hal ini berarti bahwa semua pengguna membagikan informasi grup keamanan mereka dengan gcloud CLI dan Konsol Google Cloud.
Klik Selesai.
Memetakan atribut LDAP untuk mengklaim nama
Dalam pengelolaan AD FS, pilih Relying party trust > Edit penerbitan klaim kebijakan kami.
Pilih Send LDAP Attributes as Claims, lalu klik Next.
Untuk Nama aturan klaim, masukkan
groups
.Untuk Attribute store, pilih Active Directory.
Di tabel, untuk LDAP Attribute, pilih:
- AD FS versi 5.0 dan yang lebih baru: Grup Token yang Memenuhi Syarat berdasarkan Nama domain
- Versi AD FS sebelum 5.0: Grup Token - Nama yang Memenuhi Syarat
Untuk Outbound Claims Type, pilih:
- AD FS versi 5.0 dan yang lebih baru: Grup
- Versi AD FS sebelum 5.0: grup
Klik Selesai, lalu klik Terapkan.
Mendaftarkan GKE Identity Service dengan AD FS
Buka jendela PowerShell dalam mode Administrator, lalu masukkan perintah ini:
Grant-AD FSApplicationPermission ` -ClientRoleIdentifier "[CLIENT_ID]" ` -ServerRoleIdentifier [SERVER_ROLE_IDENTIFIER] ` -ScopeName "allatclaims", "openid"
Ganti kode berikut:
[CLIENT_ID] adalah client ID yang Anda dapatkan sebelumnya.
[SERVER_ROLE_IDENTIFIER] adalah ID klaim yang Anda masukkan seperti yang telah dibahas sebelumnya. Ingat bahwa ID yang disarankan adalah
token-groups-claim
.
Azure AD
Mendaftarkan klien OAuth ke Azure
Untuk mendaftarkan klien OAuth dengan Azure, selesaikan langkah-langkah di bawah ini link:
Jika Anda belum melakukannya, Menyiapkan tenant di Azure Active Directory.
Buka Pendaftaran aplikasi di Portal Azure dan pilih aplikasi Anda berdasarkan nama.
Membuat Rahasia Klien.
Klik Tambahkan sertifikat atau rahasia di bagian Penting. Daftar sertifikat dan daftar rahasia akan muncul.
Klik New client secret. Beri nama rahasia Anda lalu klik Tambahkan.
Simpan Value* rahasia di lokasi yang aman. Anda tidak akan dapat mengambilnya setelah Anda menutup atau menyegarkan laman.
Menambahkan URI pengalihan.
Kembali ke halaman permohonan.
Pilih Add a Redirect URI di bagian Essentials. Tujuan Halaman Authentication akan muncul.
Pilih Add a platform, lalu panel bernama Configure platform muncul di sebelah kanan.
Pilih Web. Di bagian Redirect URI, masukkan
http://localhost:PORT/callback
untuk Alur login gcloud CLI. Pilih PORT lebih banyak dari 1024. Klik tombol Configure.Klik tombol Add URI untuk menambahkan URI lain,
https://console.cloud.google.com/kubernetes/oidc
, untuk login konsol Google Cloud.Klik tombol Simpan di bagian atas.
Sekarang pendaftaran klien Anda sudah selesai. Anda harus memiliki info berikut untuk dibagikan kepada administrator cluster:
URI penerbit:
https://login.microsoftonline.com/TENANT_ID/v2.0
. Tujuan ID tenant ditampilkan sebagaiDirectory (tenant) ID
pada Aplikasi di portal Azure.Client ID: Client ID ditampilkan sebagai
Application (client) ID
di halaman Aplikasi di portal Azure.Rahasia Klien: Anda sudah diberi informasi ini di langkah terakhir. Anda tidak akan dapat ambil ini jika Anda menutup halaman saat pembuatan secret. Pastikan untuk simpan nilai di lokasi yang aman (atau buat secret baru jika Anda kehilangan nilai dengan sebelumnya).
Penyiapan lanjutan untuk Azure AD
Pertimbangkan untuk menggunakan penyiapan lanjutan ini hanya jika Anda ingin menyiapkan cluster dengan kebijakan otorisasi berbasis grup Azure AD di mana pengguna cluster termasuk dalam lebih dari 200 grup Azure AD. Penyiapan lanjutan untuk Azure AD mendukung platform berikut:
- Cluster GKE lokal (baik VMware maupun bare metal): Dari GKE Enterprise 1.14
- Cluster Anthos di AWS: Dari GKE Enterprise 1.14 (Kubernetes versi 1.25 atau yang lebih baru)
- Cluster Anthos di Azure: Dari GKE Enterprise 1.14 (Kubernetes versi 1.25 atau yang lebih baru)
- Cluster Anthos di AWS (generasi sebelumnya): Dari GKE Enterprise 1.14
Sebelum memulai, pastikan setiap pengguna memiliki alamat email terkait sebagai ID mereka di Azure AD. GKE Identity Service menggunakan email pengguna untuk menyatakan identitas pengguna dan mengautentikasi permintaan.
Anda perlu memastikan bahwa klien yang Anda daftarkan di bagian sebelumnya memiliki izin yang didelegasikan untuk mendapatkan informasi pengguna dan grup dari Microsoft Graph API. Izin ini memungkinkan plugin GKE Identity Service mengakses endpoint Microsoft Graph API tempat informasi grup diambil. Tanpa langkah ini, GKE Identity Service tidak dapat mencantumkan grup pengguna, dan kebijakan otorisasi RBAC berdasarkan grup tidak akan berfungsi seperti yang diharapkan.
Anda harus memiliki izin admin organisasi atau admin organisasi global untuk melakukan langkah penyiapan ini.
- Login ke portal Azure.
- Jika Anda memiliki akses ke beberapa tenant, gunakan Direktori + filter langganan di menu atas untuk memilih tenant yang berisi pendaftaran aplikasi klien Anda.
- Pilih Azure Active Directory - App Registrations, lalu pilih aplikasi klien Anda.
- Pilih API permissions - Add a permissions - Microsoft Graph - Delegated permissions.
- Di tab Group, centang Group.Read.All. Pada tab User, centang User.Read.All.
- Klik Tambahkan izin untuk menyelesaikan proses.
- Berikan izin atas nama semua pengguna dengan mengklik tombol Berikan izin admin untuk.... Anda dapat menemukan informasi selengkapnya tentang cara memberikan izin admin di Selengkapnya tentang izin API dan izin admin.
Bagikan detail penyedia identitas
Bagikan informasi penyedia berikut kepada administrator cluster Anda untuk penyiapan cluster:
- URI penerbit penyedia
- Rahasia klien
- Client-ID
- URI pengalihan dan port yang Anda tentukan untuk gcloud CLI
- Kolom nama pengguna (klaim) yang digunakan penyedia Anda untuk mengidentifikasi pengguna dalam tokennya (setelan default yang diasumsikan saat mengonfigurasi cluster adalah
sub
) - Kolom nama grup (klaim) yang digunakan penyedia Anda untuk menampilkan grup keamanan, jika ada.
- Cakupan atau parameter tambahan apa pun yang spesifik untuk penyedia Anda, seperti yang dijelaskan di bagian sebelumnya. Misalnya, jika server otorisasi Anda meminta izin untuk autentikasi dengan Microsoft Azure dan Okta, admin cluster harus menentukan
prompt=consent
sebagai parameter. Jika Anda telah mengonfigurasi ADFS untuk memberikan informasi grup keamanan, parameter tambahan yang relevan adalahresource=token-groups-claim
(atau apa pun yang Anda pilih sebagai ID kepercayaan pihak tepercaya). - (Opsional) Jika penyedia Anda tidak menggunakan sertifikat yang ditandatangani oleh otoritas sertifikat publik (misalnya jika Anda menggunakan sertifikat yang ditandatangani sendiri), Anda memerlukan sertifikat (atau rantai sertifikat) dari penyedia identitas. Sertifikat (atau rantai sertifikat) harus berisi minimal root certificate (rantai parsial diterima, selama rantai tersebut berdekatan kembali ke root certificate). Saat memberikan nilai ini di ClientConfig, nilai ini harus diformat sebagai string berenkode base64. Untuk membuat string, gabungkan sertifikat lengkap berenkode PEM menjadi satu string, lalu enkode base64.
Anda dapat melihat daftar lengkap parameter konfigurasi GKE Identity Service di Mengonfigurasi cluster.
Langkah selanjutnya
Administrator cluster Anda dapat menyiapkan GKE Identity Service untuk cluster individual atau fleet.