Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Menyiapkan cluster untuk Identity Service GKE dengan SAML
Dokumen ini ditujukan untuk administrator cluster atau operator aplikasi yang ingin menyiapkan Identity Service GKE di setiap cluster, sehingga developer dan pengguna lain dapat login ke cluster menggunakan detail identitas mereka yang ada dari penyedia Security Assertion Markup Language (SAML). Panduan ini mengasumsikan bahwa Anda telah membaca ringkasan GKE Identity Service.
Petunjuk dalam dokumen ini mengasumsikan bahwa Layanan Identitas GKE telah terdaftar dengan penyedia identitas Anda sebagai aplikasi klien.
Pastikan Anda telah menginstal alat command line berikut:
Gunakan Google Cloud CLI versi 466.0.0 atau yang lebih baru, yang menyertakan gcloud, alat command line untuk berinteraksi dengan Google Cloud. Jika Anda perlu menginstal Google Cloud CLI, lihat panduan penginstalan.
kubectl untuk menjalankan perintah terhadap cluster Kubernetes. Jika Anda perlu menginstal kubectl, ikuti petunjuk berikut.
Jika Anda menggunakan Cloud Shell sebagai lingkungan shell untuk berinteraksi dengan Google Cloud, alat ini akan diinstal untuk Anda.
Pastikan Anda telah melakukan inisialisasi gcloud CLI untuk digunakan dengan project tempat cluster didaftarkan.
Mengonfigurasi cluster
Layanan Identitas GKE menggunakan jenis resource kustom (CRD) Kubernetes khusus
untuk mengonfigurasi cluster Anda yang disebut ClientConfig, dengan kolom untuk informasi tentang
penyedia identitas dan parameter yang diperlukan untuk menampilkan informasi pengguna.
kubectl
Untuk mengedit ClientConfig default, pastikan Anda dapat terhubung ke cluster menggunakan kubectl, dan jalankan perintah berikut:
Ganti KUBECONFIG_PATH dengan jalur ke file kubeconfig cluster Anda—misalnya $HOME/.kube/config.
Editor teks memuat resource ClientConfig cluster Anda. Tambahkan objek saml
seperti yang ditunjukkan dalam cuplikan.
apiVersion:authentication.gke.io/v2alpha1kind:ClientConfigmetadata:name:defaultnamespace:kube-publicspec:authentication:-name:NAMEsaml:idpEntityID:ENTITY_IDidpSingleSignOnURI:SIGN_ON_URIidpCertificateDataList:IDP_CA_CERTuserAttribute:USER_ATTRIBUTEgroupsAttribute:{'<varname="userattribute">GROUPS_ATTRIBUTE</var>'}}userPrefix:USER_PREFIXgroupPrefix:GROUP_PREFIXattributeMapping:ATTRIBUTE_KEY_1 :ATTRIBUTE_CEL_EXPRESSION_1ATTRIBUTE_KEY_2 :ATTRIBUTE_CEL_EXPRESSION_2certificateAuthorityData:CERTIFICATE_STRINGpreferredAuthentication:PREFERRED_AUTHENTICATIONserver:<>
# Rest of the resource is managed by Google. DO NOT MODIFY....
Anda dapat mengonfigurasi beberapa penyedia identitas di ClientConfig sesuai dengan persyaratan Anda. Hal ini menyederhanakan pengelolaan dan memberikan fleksibilitas, sehingga Anda dapat mengonfigurasi berbagai metode autentikasi dalam resource konfigurasi terpadu. Contoh ClientConfig berikut menentukan beberapa penyedia identitas dalam urutan prioritas autentikasi yang diperlukan.
Tabel berikut menjelaskan kolom objek saml ClientConfig. Kolom
yang perlu Anda tambahkan bergantung pada penyedia identitas dan opsi penyiapan
yang dipilih oleh administrator platform saat mengonfigurasi penyedia untuk Identity Service GKE.
Kolom
Diperlukan
Deskripsi
Format
nama
Ya
Nama yang ingin Anda gunakan untuk mengidentifikasi konfigurasi ini, biasanya nama penyedia identitas. Nama konfigurasi harus dimulai dengan huruf, diikuti dengan maksimal 39 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung.
String
idpEntityID
Ya
ID entitas SAML untuk penyedia SAML, yang ditentukan dalam format URI. Misalnya: https://www.idp.com/saml.
URL String
idpSingleSignOnURI
ya
Endpoint SSO penyedia SAML, yang ditentukan dalam format URI. Misalnya: https://www.idp.com/saml/sso.
URL String
idpCertificateDataList
Ya
Sesuai dengan sertifikat penyedia identitas yang digunakan untuk memverifikasi respons SAML.
Sertifikat ini harus dienkode dengan base64 standar dan diformat PEM. Hanya
maksimal dua sertifikat yang didukung untuk memfasilitasi rotasi sertifikat
penyedia identitas.
String
userAttribute
Tidak
Nama atribut dalam respons SAML yang menyimpan nama pengguna.
String
groupsAttribute
Tidak
Nama atribut dalam respons SAML yang menyimpan informasi grup pengguna.
String
userPrefix
Tidak
Awalan yang ingin ditambahkan ke klaim pengguna untuk mencegah bentrok dengan
nama yang ada, jika Anda tidak ingin menggunakan awalan default.
String
groupPrefix
Tidak
Awalan yang ingin ditambahkan ke nama grup keamanan. Hal ini untuk menghindari
konflik dengan nama yang ada dalam aturan kontrol akses jika Anda memiliki
konfigurasi untuk beberapa penyedia identitas (biasanya nama penyedia).
String
attributeMapping
Tidak
Pemetaan atribut pengguna tambahan.
String
certificateAuthorityData
Tidak
Jika disediakan oleh administrator platform Anda, ini adalah string sertifikat yang dienkode PEM untuk penyedia identitas. Sertakan string yang dihasilkan di certificateAuthorityData sebagai satu baris.
String
preferredAuthentication
Tidak
Nama metode autentikasi pilihan yang dikonfigurasi di cluster.
String
Setelah Anda menyelesaikan ClientConfig, simpan file, yang akan memperbarui
ClientConfig di cluster Anda. Jika Anda membuat error sintaksis, Anda akan diminta untuk mengedit ulang konfigurasi untuk memperbaikinya.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-31 UTC."],[],[],null,["# Set up clusters for GKE Identity Service with SAML\n==================================================\n\nThis document is for **cluster administrators** or application operators who want to set up GKE Identity Service on individual clusters, allowing developers and other users to log in to the clusters using their existing identity details from a [Security Assertion Markup Language (SAML)](https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html) provider. The guide assumes that you have read the GKE Identity Service [overview](/kubernetes-engine/enterprise/identity).\nThe instructions in this document assume that GKE Identity Service has already been [registered with your identity provider](/kubernetes-engine/enterprise/identity/setup/saml-provider) as a client application.\n\nBefore you begin\n----------------\n\n- Ensure that your platform administrator has given you all the necessary information from [Register GKE Identity Service with your provider](/kubernetes-engine/enterprise/identity/setup/saml-provider) before you start setup.\n- Ensure that you have the following command line tools installed:\n\n - Use the 466.0.0 version of the Google Cloud CLI or higher, which includes `gcloud`, the command line tool for interacting with Google Cloud. If you need to install the Google Cloud CLI, see the [installation guide](/sdk/docs/install).\n - `kubectl` for running commands against Kubernetes clusters. If you need to install `kubectl`, follow these [instructions](/kubernetes-engine/fleet-management/docs/before-you-begin#install-kubectl).\n\n If you are using Cloud Shell as your shell environment for interacting with Google Cloud, these tools are installed for you.\n- Ensure that you have [initialized](/sdk/docs/install-sdk#initializing_the) the gcloud CLI for use with the project where the clusters are registered.\n\nConfigure the cluster\n---------------------\n\nGKE Identity Service uses a special Kubernetes custom resource type (CRD)\nto configure your clusters called ClientConfig, with fields for information about\nthe identity provider and the parameters it needs to return user information. \n\n### kubectl\n\nTo edit your default ClientConfig, make sure you can connect to your cluster\nusing `kubectl`, and run the following command: \n\n kubectl --kubeconfig=\u003cvar translate=\"no\"\u003eKUBECONFIG_PATH\u003c/var\u003e edit ClientConfigs default -n kube-public\n\nReplace \u003cvar translate=\"no\"\u003eKUBECONFIG_PATH\u003c/var\u003e with the path to your\ncluster's kubeconfig file---for example `$HOME/.kube/config`.\n\nA text editor loads your cluster's ClientConfig resource. Add the `saml`\nobject as indicated in the snippet. \n\n apiVersion: authentication.gke.io/v2alpha1\n kind: ClientConfig\n metadata:\n name: default\n namespace: kube-public\n spec:\n authentication:\n - name: \u003cvar name=\"name\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eNAME\u003c/span\u003e\u003c/var\u003e\n saml:\n idpEntityID: \u003cvar name=\"entity id\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eENTITY_ID\u003c/span\u003e\u003c/var\u003e\n idpSingleSignOnURI: \u003cvar name=\"sign on uri\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eSIGN_ON_URI\u003c/span\u003e\u003c/var\u003e\n idpCertificateDataList: \u003cvar name=\"idp ca cert\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eIDP_CA_CERT\u003c/span\u003e\u003c/var\u003e\n userAttribute: \u003cvar name=\"user attribute\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eUSER_ATTRIBUTE\u003c/span\u003e\u003c/var\u003e\n groupsAttribute: {'\u003cvar name=\"user attribute\"\u003eGROUPS_ATTRIBUTE\u003c/var\u003e'}}\n userPrefix: \u003cvar name=\"user prefix\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eUSER_PREFIX\u003c/span\u003e\u003c/var\u003e\n groupPrefix: \u003cvar name=\"group prefix\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eGROUP_PREFIX\u003c/span\u003e\u003c/var\u003e\n attributeMapping:\n ATTRIBUTE_KEY_1 : \u003cvar name=\"attribute cel expression 1\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eATTRIBUTE_CEL_EXPRESSION_1\u003c/span\u003e\u003c/var\u003e\n ATTRIBUTE_KEY_2 : \u003cvar name=\"attribute cel expression 2\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eATTRIBUTE_CEL_EXPRESSION_2\u003c/span\u003e\u003c/var\u003e\n certificateAuthorityData: \u003cvar name=\"cert string\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eCERTIFICATE_STRING\u003c/span\u003e\u003c/var\u003e\n preferredAuthentication: \u003cvar name=\"auth string\" translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePREFERRED_AUTHENTICATION\u003c/span\u003e\u003c/var\u003e\n server: \u003c\u003e\n\n # Rest of the resource is managed by Google. DO NOT MODIFY.\n ...\n\n| **Tip:** GKE Identity Service lets you configure multiple OIDC, LDAP, and SAML identity provider configurations in a single `ClientConfig` custom resource (CRD) for client authentication. GKE Identity Service attempts authentication with each CRD in the order they are defined, and stops after the first successful authentication.\n\nYou can configure multiple identity providers in your `ClientConfig` according to your requirements. This streamlines management and provides flexibility, letting you configure diverse authentication methods within a unified configuration resource. The following example `ClientConfig` defines multiple identity providers in the required order of authentication precedence. \n\n apiVersion: v1\n items:\n - apiVersion: authentication.gke.io/v2alpha1\n kind: ClientConfig\n ...\n spec:\n authentication:\n - aws:\n region: us-west-2\n name: AWS Login\n - ldap:\n ...\n - saml:\n ...\n - azureAD:\n ...\n - oidc:\n name: Okta OIDC\n ...\n -oidc:\n name: Google OIDC\n ...\n\nThe following table describes the fields of the ClientConfig `saml` object. The\nfields you need to add depend on your identity provider and the setup options\nchosen by your platform administrator when configuring the provider for GKE Identity Service.\n\nAfter you complete your ClientConfig, save the file, which updates the\nClientConfig on your cluster. If you've made any syntax errors, you are\nprompted to re-edit the configuration to fix them.\n\nWhat's next?\n------------\n\nAfter the configuration is applied, continue to [set up user access to clusters](/kubernetes-engine/enterprise/identity/setup/user-access)."]]