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 autentikasi ini pendekatan.

Pendekatan autentikasi ini hanya didukung untuk cluster lokal (Google Distributed Cloud) di VMware dan bare metal, dari versi 1.29. Jenis cluster lainnya tidak didukung.

Versi CLI gcloud yang diperlukan untuk login dengan FQDN yang Anda berikan adalah setidaknya 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 {i>login<i}.
  2. Pemilihan penyedia identitas: Pengguna diberi daftar konfigurasi penyedia identitas. 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 berhasil login, penyedia mengirimkan kode kembali ke GKE Identity Service, yang menukarnya dengan token akses melalui komunikasi {i>back-channel<i}.
    • SAML: Pengguna dialihkan ke halaman login penyedia SAML. Setelah berhasil login, 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 mengirimkan kembali file {i>kubeconfig<i} 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 akan memverifikasi token ini, dan mengambil klaim pengguna (nama pengguna dan grup). Setelah validasi berhasil, server API menjalankan Role-Based Access Control (RBAC) untuk menentukan sumber daya yang dapat diakses oleh pengguna.

Login menggunakan sertifikat SNI tepercaya

Sertifikat SNI menyederhanakan akses cluster dengan memanfaatkan sertifikat tepercaya sudah ada di perangkat perusahaan. Administrator dapat menetapkan sertifikat ini di pada waktu pembuatan cluster. Jika cluster Anda menggunakan sertifikat SNI tepercaya di cluster gunakan perintah di bagian ini dengan FQDN yang disediakan oleh administrator untuk login ke cluster dan menerima token akses. Anda juga dapat Gunakan 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 defaultnya. Jika flag ini dihilangkan, autentikasi token 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 yang tepercaya di tingkat klaster, maka sertifikat yang digunakan oleh layanan identitas diterbitkan oleh {i>certificate authority<i} (CA). 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. Menentukan argumen --no-browser untuk menunjukkan bahwa perangkat yang perlu Anda untuk mengakses cluster Anda tidak memiliki browser yang diinstal.

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

    GKE Identity Service menampilkan perintah yang perlu Anda gunakan saat mencatat 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 perintah utama perangkat seluler.

    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 di File kubeconfig. File ini mengaktifkan akses ke cluster di cluster utama perangkat seluler. Setelah login, pesan berikut akan ditampilkan:

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