Login menggunakan nama domain yang sepenuhnya memenuhi syarat (FQDN)
GKE Identity Service memungkinkan Anda login ke cluster yang dikonfigurasi dari command line menggunakan nama pengguna dan sandi dari penyedia identitas pihak ketiga. Ikuti petunjuk di halaman ini jika administrator cluster Anda telah memilih untuk mengizinkan Anda melakukan autentikasi langsung di server GKE Identity Service dengan nama domain yang sepenuhnya memenuhi syarat (FQDN). Untuk penyedia SAML, akses login hanya didukung melalui pendekatan autentikasi ini.
Pendekatan autentikasi ini hanya didukung untuk cluster lokal (Google Distributed Cloud) di VMware dan bare metal, mulai versi 1.29. Jenis cluster lainnya tidak didukung.
Versi CLI gcloud
yang diperlukan untuk login dengan FQDN yang Anda sediakan minimal adalah versi 477.0.0.
Alur kerja login
Berikut adalah langkah-langkah alur kerja saat pengguna login menggunakan pendekatan akses FQDN:
- Mulai login: Pengguna menjalankan perintah
gcloud anthos auth login --server APISERVER-URL
untuk memulai proses login. - Pemilihan penyedia identitas: Pengguna akan diberi daftar penyedia identitas yang dikonfigurasi. Pengguna memilih penyedia tempat kredensial mereka disimpan.
Autentikasi dengan penyedia identitas: Proses autentikasi berbeda-beda berdasarkan protokol penyedia identitas yang Anda pilih:
- OIDC: Pengguna akan dialihkan ke halaman login penyedia OIDC. Setelah login berhasil, penyedia akan mengirimkan kode kembali ke GKE Identity Service, yang menukarnya dengan token akses melalui komunikasi saluran belakang.
- SAML: Pengguna dialihkan ke halaman login penyedia SAML. Setelah login berhasil, penyedia langsung mengirimkan token (pernyataan) kembali ke GKE Identity Service sehingga menghindari callback tambahan.
- LDAP: Bukannya mengalihkan ke penyedia eksternal, GKE Identity Service menampilkan halaman login tempat pengguna memasukkan kredensial LDAP, yang diverifikasi langsung dengan server LDAP.
Verifikasi token dan pembuatan file kubeconfig: GKE Identity Service memverifikasi token yang diterima (atau pernyataan), membuat token baru untuk pengguna, dan mengirim kembali file kubeconfig yang berisi token ini.
Akses cluster: Pengguna dapat mengakses cluster menggunakan perintah
kubectl
. Klienkubectl
secara otomatis mengirim token dari file kubeconfig dengan setiap permintaan.Validasi token dan otorisasi RBAC: Server Kubernetes API menerima token, GKE Identity Service memverifikasi token ini, dan mengambil klaim pengguna (nama pengguna dan grup). Setelah validasi berhasil, server API menjalankan pemeriksaan Role-Based Access Control (RBAC) untuk menentukan resource yang dapat diakses oleh pengguna.
Login menggunakan sertifikat SNI tepercaya
Sertifikat SNI menyederhanakan akses cluster dengan memanfaatkan sertifikat tepercaya
yang sudah ada di perangkat perusahaan. Administrator dapat menentukan sertifikat ini saat pembuatan cluster. Jika cluster Anda menggunakan sertifikat SNI tepercaya di tingkat cluster, gunakan perintah di bagian ini dengan FQDN yang disediakan oleh
administrator untuk login ke cluster dan menerima token akses. Anda juga dapat menggunakan file kubeconfig
yang aman tempat token disimpan setelah autentikasi berhasil.
Jalankan perintah berikut untuk melakukan autentikasi ke server:
gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE
Ganti kode berikut:
- APISERVER-URL: FQDN server Kubernetes API cluster.
- OUTPUT_FILE: Gunakan flag ini jika file
kubeconfig
Anda berada di lokasi selain lokasi default. Jika flag ini dihilangkan, token autentikasi akan ditambahkan ke filekubeconfig
di lokasi default. Contoh:--kubeconfig /path/to/custom.kubeconfig
.
Login menggunakan sertifikat yang dikeluarkan CA cluster
Jika Anda tidak menggunakan sertifikat SNI tepercaya di tingkat cluster, maka sertifikat yang digunakan oleh layanan identitas akan diterbitkan oleh certificate authority (CA) cluster. Administrator mendistribusikan sertifikat CA ini kepada pengguna. Jalankan perintah berikut menggunakan sertifikat CA cluster untuk login ke cluster Anda:
gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --login-config-cert CLUSTER_CA_CERTIFICATE
Autentikasi lintas perangkat
Dengan autentikasi lintas perangkat, Anda dapat login ke cluster Google Distributed Cloud (GDC) dari perangkat yang tidak menginstal browser. Anda dapat memulai proses autentikasi di perangkat utama (yang tidak menginstal browser) dan menyelesaikannya di perangkat sekunder yang diinstal dengan browser.
Gunakan langkah-langkah berikut untuk penyiapan autentikasi lintas perangkat.
Login ke perangkat utama Anda
Jalankan perintah berikut untuk melakukan autentikasi ke server di perangkat utama Anda. Tentukan argumen
--no-browser
untuk menunjukkan bahwa perangkat yang diperlukan untuk mengakses cluster tidak memiliki browser yang terinstal.gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --no-browser
GKE Identity Service menampilkan perintah yang perlu Anda gunakan saat Anda login dari perangkat kedua. Berikut contoh tampilan perintah:
You are authorizing gcloud CLI without access to a web browser. Please run the following command on a machine with a web browser and copy its output back here. gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --remote-bootstrap="URL_TO_COPY_ON_THE_SECOND_DEVICE" Enter the output of the above command:
Salin perintah
gcloud
.Login ke cluster di perangkat kedua
Sebelum login dari perangkat kedua, pastikan Anda telah menginstal browser dan memiliki konektivitas jaringan ke server Kubernetes API. Jalankan perintah yang Anda salin dari langkah sebelumnya di perangkat kedua.
gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --remote-bootstrap="URL_TO_COPY_ON_THE_SECOND_DEVICE"
Saat mencoba login dari perangkat ini, pesan peringatan akan ditampilkan. Ikuti proses autentikasi standar seperti yang ditampilkan di browser. Setelah autentikasi berhasil, Anda akan diberi kode sekali pakai. Salin kode ini.
WARNING: The following line enables access to your Cluster resources. ONLY COPY IT TO A MACHINE YOU TRUST AND RUN 'gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --no-browser' EARLY ON. Or_mHYQFm90efgJdwhajx0KeC_WXkuvBPuWv_83nFX9J_Eawm3tQcBpxBBWszj6Ix8dAWCgc1QjJBrlt67bzIYIBTexU7dc_ggtkMTNkG7wCIGYZ75zfg9P1gBshP33STe0ks-AoVonzk01YekMbyNugeYSO18CBwFhaDDSMABq4PI-clgbaSh8CPqrvDKRLenbvfD9BSK6SW945I0bOgPURxNzUX4sICWcvFozhQdLYICuwRM0AgarNFwoeh-0wbJGyRqUjq2NJbaYdf-VCaByiZaGPR2B1QVGXO7deKGtUnk1_tTFOnB6sJQvT6UJ8Ge5nkR38rqBeeGkYdlVIBTXShENG80An1Ve524xZupSzCHNSVTJqYg
Menyelesaikan proses login di perangkat utama
Tempel kode yang disalin dari langkah sebelumnya ke perintah perangkat utama Anda.
Enter the code you received on the other device: Or_mHYQFm90efgJdwhajx0KeC_WXkuvBPuWv_83nFX9J_Eawm3tQcBpxBBWszj6Ix8dAWCgc1QjJBrlt67bzIYIBTexU7dc_ggtkMTNkG7wCIGYZ75zfg9P1gBshP33STe0ks-AoVonzk01YekMbyNugeYSO18CBwFhaDDSMABq4PI-clgbaSh8CPqrvDKRLenbvfD9BSK6SW945I0bOgPURxNzUX4sICWcvFozhQdLYICuwRM0AgarNFwoeh-0wbJGyRqUjq2NJbaYdf-VCaByiZaGPR2B1QVGXO7deKGtUnk1_tTFOnB6sJQvT6UJ8Ge5nkR38rqBeeGkYdlVIBTXShENG80An1Ve524xZupSzCHNSVTJqYg
Perangkat Anda menggunakan kode ini untuk membuat kredensial yang disimpan dalam file
kubeconfig
. File ini memungkinkan akses ke cluster di perangkat utama Anda. Setelah login, pesan berikut akan ditampilkan:You are logged in! Context is stored under the name '{cluster-name}'