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 mengautentikasi langsung di server Identity Service GKE 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 on-prem (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 berikan setidaknya versi 477.0.0.

Alur kerja login

Berikut adalah langkah-langkah alur kerja saat pengguna login menggunakan pendekatan akses FQDN:

  1. Memulai login: Pengguna menjalankan perintah gcloud anthos auth login --server APISERVER-URL untuk memulai proses login.
  2. Pemilihan penyedia identitas: Pengguna diberi daftar penyedia identitas yang dikonfigurasi. Pengguna memilih penyedia tempat kredensialnya disimpan.
  3. Autentikasi dengan penyedia identitas: Proses autentikasi berbeda-beda berdasarkan protokol penyedia identitas yang Anda pilih:

    • OIDC: Pengguna dialihkan ke halaman login penyedia OIDC. Setelah berhasil login, penyedia akan mengirimkan kode kembali ke Layanan Identitas GKE, yang menukarnya dengan token akses melalui komunikasi back-channel.
    • SAML: Pengguna dialihkan ke halaman login penyedia SAML. Setelah berhasil login, penyedia akan langsung mengirimkan token (pernyataan) kembali ke Identity Service GKE, sehingga menghindari callback tambahan.
    • LDAP: GKE Identity Service tidak mengalihkan ke penyedia eksternal, tetapi menampilkan halaman login tempat pengguna memasukkan kredensial LDAP mereka, yang diverifikasi langsung dengan server LDAP.
  4. Verifikasi token dan pembuatan file kubeconfig: Layanan Identitas GKE memverifikasi token yang diterima (atau pernyataan), membuat token baru untuk pengguna, dan mengirimkan kembali file kubeconfig yang berisi token ini.

  5. Akses cluster: Pengguna dapat mengakses cluster menggunakan perintah kubectl. Klien kubectl secara otomatis mengirimkan token dari file kubeconfig dengan setiap permintaan.

  6. Validasi token dan otorisasi RBAC: Server Kubernetes API menerima token, Layanan Identitas GKE memverifikasi token ini, dan mengambil klaim pengguna (nama pengguna dan grup). Setelah validasi berhasil, server API akan menjalankan pemeriksaan Kontrol Akses Berbasis Peran (RBAC) untuk menentukan resource yang diizinkan untuk diakses 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 pada saat pembuatan cluster. Jika cluster Anda menggunakan sertifikat SNI tepercaya di tingkat cluster, gunakan perintah di bagian ini dengan FQDN yang diberikan oleh administrator untuk login ke cluster dan menerima token akses. Anda juga dapat menggunakan file kubeconfig 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 tanda ini jika file kubeconfig Anda berada di lokasi selain default. Jika tanda ini dihilangkan, token autentikasi akan ditambahkan ke file kubeconfig di lokasi default. Contoh: --kubeconfig /path/to/custom.kubeconfig.

Login menggunakan sertifikat yang diterbitkan CA cluster

Jika Anda tidak menggunakan sertifikat SNI tepercaya di tingkat cluster, 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

Autentikasi lintas perangkat memungkinkan Anda 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 menginstal browser.

Gunakan langkah-langkah berikut untuk penyiapan autentikasi lintas perangkat.

  1. 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 Anda perlukan untuk mengakses cluster tidak menginstal browser.

    gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --no-browser

    Layanan Identitas GKE menampilkan perintah yang perlu Anda gunakan saat login dari perangkat kedua. Berikut adalah 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.

  2. 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
    
  3. Menyelesaikan 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 Anda login, pesan berikut akan ditampilkan:

     You are logged in!
     Context is stored under the name '{cluster-name}'