Dokumen ini ditujukan untuk administrator platform, atau siapa pun yang mengelola penyiapan identitas di organisasi Anda. Dokumen ini menjelaskan cara mengonfigurasi penyedia identitas OpenID Connect (OIDC) pilihan Anda untuk autentikasi ke cluster Kubernetes yang tidak ada di Google Cloud.
Mendaftarkan aplikasi klien ke penyedia Anda
Selama alur autentikasi untuk pengguna, cluster menggunakan client ID dan secret untuk terhubung ke penyedia identitas Anda. Anda bisa mendapatkan client ID dan rahasia dari penyedia identitas dengan mengonfigurasi aplikasi klien untuk Kubernetes. Prosedur untuk menyiapkan aplikasi klien bergantung pada penyedia Anda. Anda dapat menemukan beberapa detail pendaftaran khusus untuk penyedia populer di bagian berikutnya.
Untuk URL pengalihan, tentukan nilai berikut:
https://console.cloud.google.com/kubernetes/oidcadalah URL pengalihan untuk konsol Google Cloud .http://localhost:PORT/callbackadalah URL pengalihan untuk gcloud CLI. Anda dapat menentukan nomor port apa pun yang lebih tinggi dari 1024.APISERVER_URL:11001/finish-loginadalah URL pengalihan jika Anda memilih untuk melakukan autentikasi menggunakan akses FQDN. GantiAPISERVER_URLdengan FQDN server Kubernetes API cluster. Misalnya, jikaAPISERVER_URLadalahhttps://apiserver.company.com, makaredirect_uriharushttps://apiserver.company.com:11001/finish-login.
Simpan ID dan rahasia klien yang Anda dapatkan dari langkah pendaftaran. Bagikan detail ini kepada administrator cluster yang perlu menyiapkan cluster mereka.
Informasi penyiapan penyedia identitas
Bagian ini memberikan langkah-langkah untuk mendaftarkan aplikasi klien dengan Microsoft Active Directory Federation Services (AD FS) atau dengan Microsoft Entra ID.
Microsoft AD FS
Gunakan serangkaian wizard pengelolaan AD FS untuk mengonfigurasi server AD FS dan database pengguna AD Anda.
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 dijelaskan di atas. Anda akan diberi client ID. AD FS mengidentifikasi cluster menggunakan ID klien ini. Simpan ID klien untuk nanti.
Pilih Buat rahasia bersama. Mekanisme autentikasi Kubernetes menggunakan rahasia ini untuk mengautentikasi ke server AD FS. Simpan rahasia untuk nanti.
Mengonfigurasi grup keamanan (opsional)
Di pengelolaan AD FS, pilih Relying party trusts > Add a new relying party trust.
Pilih Claims aware, lalu klik Start.
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. Artinya, semua pengguna membagikan informasi grup keamanan mereka dengan gcloud CLI dan konsolGoogle Cloud .
Klik Selesai.
Memetakan atribut LDAP ke nama klaim
Di pengelolaan AD FS, pilih Relying party trusts > Edit claim issuance policy.
Pilih Send LDAP Attributes as Claims, lalu klik Next.
Untuk Claim rule name, masukkan
groups.Untuk Attribute store, pilih Active Directory.
Di tabel, untuk LDAP Attribute, pilih:
- AD FS versi 5.0 dan yang lebih baru: Token-Groups Qualified by Domain name
- AD FS versi sebelum 5.0: Token Groups - Qualified Names
Untuk Outgoing Claim Type, pilih:
- AD FS versi 5.0 dan yang lebih baru: Grup
- AD FS versi sebelum 5.0: groups
Klik Selesai, lalu klik Terapkan.
Mendaftarkan aplikasi klien Kubernetes 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 ID klien yang Anda peroleh sebelumnya.
[SERVER_ROLE_IDENTIFIER] adalah ID klaim yang Anda masukkan sebelumnya. Ingat bahwa ID yang disarankan adalah
token-groups-claim.
Microsoft Entra ID
Untuk mendaftarkan klien OAuth dengan Microsoft Entra ID, selesaikan langkah-langkah di link berikut:
Jika Anda belum melakukannya, Siapkan tenant Microsoft Entra.
Di pusat admin Microsoft Entra, buka halaman App registrations dan pilih aplikasi Anda. Halaman ringkasan aplikasi akan terbuka.
Buat rahasia klien:
- Di menu navigasi, klik Certificates & Secrets.
- Klik tab Client secrets.
- Klik New client secret. Beri nama secret Anda, lalu klik Tambahkan.
- Simpan Nilai rahasia di lokasi yang aman. Anda tidak akan dapat mengambilnya setelah Anda menutup atau memuat ulang halaman.
Untuk mengetahui informasi selengkapnya, lihat Menambahkan dan mengelola kredensial aplikasi di Microsoft Entra ID.
Tambahkan URI pengalihan:
- Di menu navigasi, klik Authentication.
- Di bagian Konfigurasi platform, klik Tambahkan platform. Panel Konfigurasi platform akan terbuka.
- Klik Web.
- Di kolom Redirect URIs, masukkan
http://localhost:PORT/callbackuntuk alur login gcloud CLI. Pilih PORT yang lebih besar dari 1024. - Klik Configure.
- Klik Tambahkan URI untuk menambahkan URI lain.
- Masukkan
https://console.cloud.google.com/kubernetes/oidcuntuk alur login konsol Google Cloud . - Simpan konfigurasi Anda.
Untuk mengetahui informasi selengkapnya, lihat Cara menambahkan URI pengalihan ke aplikasi Anda.
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. ID penyewa ditampilkan sebagaiDirectory (tenant) IDdi halaman ringkasan aplikasi di pusat admin Microsoft Entra.Client ID: Client ID ditampilkan sebagai
Application (client) IDdi halaman ringkasan aplikasi di pusat admin Microsoft Entra.Rahasia Klien: Nilai rahasia klien yang Anda buat saat mendaftarkan aplikasi klien. Jika Anda tidak memiliki akses ke nilai ini, buat rahasia baru.
Penyiapan lanjutan untuk Microsoft Entra ID
Pertimbangkan untuk menggunakan penyiapan lanjutan ini hanya jika Anda ingin menyiapkan cluster dengan kebijakan otorisasi berbasis grup Microsoft Entra ID yang penggunanya termasuk dalam lebih dari 200 grup Microsoft Entra ID. Penyiapan lanjutan untuk Microsoft Entra ID mendukung platform berikut:
- Google Distributed Cloud on-premise (VMware dan bare metal): Dari versi 1.14
- GKE on AWS: Dari versi 1.14 (Kubernetes versi 1.25 atau yang lebih baru)
- GKE di Azure: Dari versi 1.14 (Kubernetes versi 1.25 atau yang lebih baru)
Sebelum memulai, pastikan setiap pengguna memiliki alamat email terkait yang dikonfigurasi sebagai ID mereka di Microsoft Entra ID. Alamat email ini digunakan untuk menegaskan identitas pengguna dan mengautentikasi permintaan.
Anda harus memastikan bahwa klien yang Anda 'daftarkan di bagian sebelumnya telah mendelegasikan izin untuk mendapatkan informasi pengguna dan grup dari Microsoft Graph API. Izin ini memungkinkan mekanisme autentikasi Kubernetes mengakses endpoint Microsoft Graph API tempat informasi grup diambil. Tanpa langkah ini, cluster tidak dapat memperoleh informasi grup untuk pengguna, yang menyebabkan kebijakan otorisasi RBAC berdasarkan grup tidak berfungsi seperti yang diharapkan.
Anda harus memiliki izin admin global atau admin organisasi untuk melakukan langkah penyiapan ini.
- Login ke pusat admin Microsoft Entra.
- Pilih tenant Microsoft Entra yang memiliki aplikasi klien Anda.
- Pilih App registrations, lalu pilih aplikasi klien Anda.
- Pilih API permissions - Add a permission - Microsoft Graph - Delegated permissions.
- Di tab Group, centang Group.Read.All. Di tab Pengguna, centang User.Read.All.
- Klik Tambahkan izin untuk menyelesaikan proses.
- Berikan izin atas nama semua pengguna dengan mengklik Berikan izin admin untuk.... Untuk mengetahui informasi selengkapnya, lihat 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
- ID klien
- URI pengalihan dan port yang Anda tentukan untuk gcloud CLI
- Kolom nama pengguna (klaim) yang digunakan penyedia Anda untuk mengidentifikasi pengguna dalam tokennya (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 yang khusus untuk penyedia Anda, seperti yang dijelaskan di bagian sebelumnya. Misalnya, jika server otorisasi Anda meminta izin untuk autentikasi dengan Microsoft Entra ID dan Okta, admin cluster harus menentukan
prompt=consentsebagai parameter. Jika Anda telah mengonfigurasi AD FS 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 akan memerlukan sertifikat (atau rantai sertifikat) penyedia identitas. Sertifikat (atau rantai sertifikat) setidaknya harus berisi sertifikat root (rantai parsial diterima, selama rantai tersebut berkesinambungan kembali ke sertifikat root). Saat memberikan nilai ini di ClientConfig, nilai tersebut harus diformat sebagai string berenkode base64. Untuk membuat string, gabungkan sertifikat berenkode PEM lengkap menjadi satu string, lalu lakukan encoding base64.
Untuk mengetahui informasi selengkapnya tentang parameter konfigurasi untuk cluster, lihat Mengonfigurasi cluster.