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:

  1. Mulai login: Pengguna menjalankan perintah gcloud anthos auth login --server APISERVER-URL untuk memulai proses login.
  2. Pemilihan penyedia identitas: Pengguna akan 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 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.
  4. 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.

  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 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 file kubeconfig 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.

  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 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.

  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 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}'