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 dari versi 1.29. Jenis cluster lainnya tidak didukung.

Versi CLI gcloud yang diperlukan untuk login dengan FQDN yang Anda berikan adalah minimal versi 477.0.0.

Alur kerja login

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

  1. Mulai 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 kredensial mereka 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 login berhasil, penyedia akan mengirimkan kode kembali ke Layanan Identitas GKE, yang menukarnya dengan token akses melalui komunikasi saluran belakang.
    • SAML: Pengguna dialihkan ke halaman login penyedia SAML. Setelah login berhasil, penyedia akan langsung mengirimkan token (pernyataan) kembali ke Layanan Identitas GKE sehingga tidak memerlukan callback tambahan.
    • LDAP: Daripada mengalihkan ke penyedia eksternal, GKE Identity Service 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 (atau pernyataan) yang diterima, membuat token baru untuk pengguna, dan mengirim kembali file kubeconfig yang berisi token ini.

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

  6. 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 Kontrol Akses Berbasis Peran (RBAC) untuk menentukan resource yang berhak 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 Anda 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 tanda ini jika file kubeconfig Anda berada di lokasi selain default. Jika tanda ini tidak ada, 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, maka sertifikat yang digunakan oleh layanan identitas 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 butuhkan untuk mengakses cluster Anda tidak menginstal browser.

    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 adalah contoh tampilan perintahnya:

    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. Selesaikan login di perangkat utama Anda

    Tempel kode yang disalin dari langkah sebelumnya ke dalam 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}'