Masuk menggunakan file konfigurasi
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 membagikan file konfigurasi login yang akan digunakan saat melakukan autentikasi dengan gcloud CLI. Untuk informasi selengkapnya tentang cara mengakses cluster, lihat Memilih metode akses untuk login ke cluster.
Alur kerja login
Berikut ini adalah alur kerja yang digunakan GKE Identity Service untuk mengizinkan Anda login ke cluster yang dikonfigurasi menggunakan file konfigurasi login. Alur persisnya bergantung pada jenis penyedia identitas yang digunakan.
Alur kerja OIDC
Dengan penyedia OIDC, administrator cluster mendaftarkan GKE Identity Service sebagai aplikasi klien untuk penyedia identitas dan menyiapkan setiap cluster. Mereka dapat menambahkan kontrol akses terperinci menggunakan role-based access control (RBAC) Kubernetes, jika diperlukan.
Anda dapat login ke cluster dengan cara berikut:
Akses command line
- Autentikasi: Jalankan perintah
gcloud anthos auth login
dan masukkan login OIDC Anda memiliki kredensial yang lengkap. Tindakan ini akan mengambil token identitas dari penyedia. - Perbarui Kubeconfig: Token yang diambil otomatis ditambahkan ke file kubeconfig Anda.
- Cluster akses: Gunakan
kubectl
untuk berinteraksi dengan cluster Anda. Server Kubernetes API menggunakan GKE Identity Service untuk memvalidasi token Anda dan mengizinkan akses.
Akses Konsol Google Cloud
- Mulai login: Saat login dari konsol Google Cloud, Anda akan dialihkan ke halaman login penyedia identitas.
- Autentikasi: Masukkan kredensial Anda dan berhasil login.
- Cluster akses: Kembali ke konsol Google Cloud untuk melihat dan mengelola resource cluster Anda.
Alur kerja LDAP
Dengan penyedia LDAP, administrator cluster menyiapkan GKE Identity Service untuk setiap cluster, yang mencakup kredensial klien LDAP. Administrator cluster dapat menambahkan kontrol akses terperinci menggunakan role-based access control (RBAC) Kubernetes, jika diperlukan.
Akses command line
- Mulai login: Jalankan perintah
gcloud anthos auth login
dan masukkan kredensial login LDAP Anda. - Pembuatan token: GKE Identity Service mengkueri server LDAP, mengambil atribut pengguna, dan memaketkan atribut tersebut ke dalam token berumur pendek (STS). Kredensial LDAP Anda tidak disimpan secara lokal.
- Pembaruan Kubeconfig: Token STS otomatis ditambahkan ke file
kubeconfig
Anda. - Akses cluster: Menggunakan
kubectl
untuk berinteraksi dengan cluster Anda. Server Kubernetes API menggunakan GKE Identity Service untuk memvalidasi token Anda dan mengizinkan akses. Secara default, masa berlaku token akan habis setelah satu jam, sehingga pengguna harus login lagi.
Untuk melakukan autentikasi ke cluster dari command line, Anda perlu menjalankan gcloud
menggunakan file konfigurasi login yang disediakan oleh administrator cluster Anda.
Mendapatkan file konfigurasi
gcloud CLI mengasumsikan nama file dan lokasi default di komputer lokal Anda untuk
file konfigurasi otentikasi Anda. Administrator Anda mungkin menyalin file ke komputer Anda. Jika Anda diberi file secara manual
dan perlu menyimpannya di komputer Anda sendiri, gunakan {i>default<i} untuk menyederhanakan
Perintah autentikasi gcloud
.
Gunakan perintah berikut untuk menyalin file konfigurasi autentikasi ke lokasi default:
Linux
mkdir -p $HOME/.config/google/anthos/ cp [AUTH_CONFIG_FILE] $HOME/.config/google/anthos/kubectl-anthos-config.yaml
dengan [AUTH_CONFIG_FILE] adalah nama autentikasi Anda
file konfigurasi Anda. Contohnya, kubectl-anthos-config.yaml
.
macOS
mkdir -p $HOME/Library/Preferences/google/anthos/ cp [AUTH_CONFIG_FILE] $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml
dengan [AUTH_CONFIG_FILE] adalah nama autentikasi Anda
file konfigurasi Anda. Contohnya, kubectl-anthos-config.yaml
.
Windows
md "%APPDATA%\google\anthos" copy [AUTH_CONFIG_FILE] "%APPDATA%\google\anthos\kubectl-anthos-config.yaml"
dengan [AUTH_CONFIG_FILE] adalah nama autentikasi Anda
file konfigurasi Anda. Contohnya, kubectl-anthos-config.yaml
.
Jika Anda atau administrator memilih untuk menggunakan nama file atau lokasi yang berbeda (misalnya, jika administrator memberikan file di URL aman), Anda dapat menentukannya menggunakan tanda --login-config
dengan setiap permintaan autentikasi. Lihat bagian berikut untuk detail selengkapnya.
Autentikasi cluster
Jalankan perintah gcloud
untuk melakukan autentikasi dengan cluster Anda:
Jalankan perintah
gcloud anthos auth login
untuk memulai autentikasi {i>flow<i} (alur):gcloud anthos auth login \ --cluster [CLUSTER_NAME] \ --user [USER_NAME] \ --login-config [AUTH_CONFIG_FILE_PATH] \ --login-config-cert [CA_CERT_PEM_FILE] \ --kubeconfig [CLUSTER_KUBECONFIG]
Ganti kode berikut:
[CLUSTER_NAME] (opsional) menentukan nama . Jika tanda ini dihilangkan, Anda akan diminta untuk memilih dari cluster yang ditentukan dalam file konfigurasi otentikasi Anda.
[USER_NAME] (opsional) menentukan nama pengguna untuk kredensial yang disimpan dalam file
kubeconfig
. Nilai defaultnya adalah[CLUSTER_NAME]-anthos-default-user
.[AUTH_CONFIG_FILE_PATH] (opsional) menentukan jalur kustom atau URL ke tempat file konfigurasi autentikasi Anda disimpan atau dihosting. Anda dapat menghilangkan parameter ini, jika file berada dalam lokasi default. Contoh:
--login-config /path/to/custom/authentication-config.yaml
[CA_CERT_PEM_FILE] (opsional) menentukan jalur ke PEM dari CA Anda. Jika file konfigurasi autentikasi Anda dihosting dengan aman, Anda dapat menggunakan koneksi HTTPS untuk mengakses file. Contoh:
--login-config-cert my-cert.pem
[CLUSTER_KUBECONFIG] (opsional) menentukan jalur kustom ke file
kubeconfig
cluster Anda. Token ID OIDC yang dikembalikan oleh penyedia OpenID Anda disimpan dalam filekubeconfig
.Gunakan tanda ini jika file
kubeconfig
Anda berada di lokasi selain tindakan default. Jika flag ini dihilangkan, token autentikasi akan ditambahkan ke filekubeconfig
di lokasi default. Contoh:--kubeconfig /path/to/custom.kubeconfig
Contoh:
Autentikasi cluster tertentu:
gcloud anthos auth login --cluster my-production-cluster
Gunakan perintah untuk memilih cluster mana yang akan digunakan untuk mengautentikasi:
gcloud anthos auth login
Hasil:
Please use the --cluster flag to specify a cluster from the list below: Source: $HOME/.config/google/anthos/kubectl-anthos-config.yaml 1. Cluster: projects/1000000000000/locations/global/memberships/gke-gcp-cluster ServerIP: https://104.198.180.50:440 2. Cluster: projects/1000000000000/locations/global/memberships/gke-baremetal-cluster ServerIP: https://104.198.180.51:440 3. Cluster: projects/1000000000000/locations/global/memberships/gke-onprem-cluster ServerIP: https://104.198.180.52:440 4. Cluster: projects/1000000000000/locations/global/memberships/gke-aws-cluster ServerIP: https://104.198.180.53:440
Gunakan file konfigurasi autentikasi yang dihosting:
gcloud anthos auth login \ --cluster my-production-cluster \ --login-config HTTPS://my-secure-server/kubectl-anthos-config.yaml \ --login-config-cert my-cert.pem
Gunakan perintah untuk memilih opsi autentikasi. Untuk mengetahui informasi selengkapnya, lihat Memilih metode autentikasi.
Masukkan kredensial Anda di layar izin berbasis browser yang terbuka. Jika jika berhasil, file
kubeconfig
Anda sekarang seharusnya berisi token ID yangkubectl
yang akan digunakan untuk melakukan autentikasi dengan server Kubernetes API di cluster Anda.Verifikasi bahwa autentikasi berhasil dengan menjalankan salah satu Perintah
kubectl
untuk mengakses resource di cluster Anda. Sebagai misalnya, jika Anda memiliki akses ke "node" resource di cluster (yang dikonfigurasi oleh administrator cluster), Anda seharusnya dapat menjalankan perintah berikut dan melihat node cluster:kubectl get nodes --kubeconfig [CLUSTER_KUBECONFIG]
Untuk memecahkan masalah terkait akses pengguna, lihat Memecahkan masalah akses pengguna.
Pilih metode autentikasi
Jika administrator cluster telah mengonfigurasi beberapa penyedia identitas untuk cluster Anda (misalnya, penyedia OIDC dan server LDAP), dan belum mengonfigurasi penyedia default untuk cluster Anda, Anda akan diminta saat login untuk memilih opsi autentikasi, seperti pada contoh berikut:
gcloud anthos auth login
Please select your preferred authentication option for cluster [gke-onprem-ldap]
[1] LDAP Server
[2] OIDC
[3] cancel
Please enter your numeric choice:
1
Setting Preferred Authentication option to [LDAP Server]
Masukkan pilihan numerik, lalu lanjutkan untuk login seperti yang dijelaskan di bagian Mengautentikasi ke cluster di atas.
Opsi autentikasi yang Anda pilih akan disimpan hingga administrator cluster mengubah penyedia default untuk cluster ini, atau Anda mengubahnya sendiri. Untuk mengubah opsi autentikasi pilihan Anda, gunakan tanda --set-preferred-authentication
.
gcloud anthos auth login --set-preferred-authentication
Anda akan melihat hasil seperti contoh berikut, yang memungkinkan Anda memilih opsi autentikasi pilihan yang baru:
Your current authentication method is [1] AD Server. Please select your preferred authentication option for cluster [gke-onprem-ldap]
[1] LDAP Server
[2] OIDC
[3] cancel
Please enter your numeric choice:
2
Setting Preferred Authentication option to [OIDC]
Menggunakan SSH untuk mengautentikasi dari komputer jarak jauh
Untuk terhubung ke komputer jarak jauh dan mengotentikasi ke cluster dengan SSH, file konfigurasi otentikasi Anda harus berada di komputer jarak jauh, dan Anda harus dapat menghubungi penyedia OpenID Anda dari komputer lokal Anda.
Di komputer lokal Anda, jalankan perintah berikut:
ssh [USER_NAME]@[REMOTE_MACHINE] -L [LOCAL_PORT]:localhost:[REMOTE_PORT]
Ganti kode berikut:
[USER_NAME] dan [REMOTE_MACHINE] adalah standar nilai yang digunakan untuk masuk dengan SSH.
[LOCAL_PORT] adalah port terbuka pilihan Anda di komputer lokal yang akan Anda gunakan untuk mengakses komputer jarak jauh.
[REMOTE_PORT] adalah port yang Anda konfigurasikan untuk pengalihan OIDC . Anda dapat menemukannya di kolom
kubectlRedirectURI
file konfigurasi otentikasi.
Di shell SSH, jalankan perintah berikut untuk memulai autentikasi:
gcloud anthos auth login --login-config [AUTH_CONFIG_FILE]
dengan [AUTH_CONFIG_FILE] adalah jalur file konfigurasi otentikasi pada komputer jarak jauh.
Di komputer lokal Anda, di browser, buka http://localhost:[LOCAL_PORT]/login dan selesaikan Alur login OIDC.
Sekarang file {i>kubeconfig<i} di komputer jarak jauh Anda memiliki token yang Anda butuhkan untuk mengakses cluster.
Di shell SSH, pastikan Anda memiliki akses ke cluster:
kubectl --kubeconfig [CLUSTER_KUBECONFIG] get nodes