Questo documento è destinato agli amministratori dei cluster o agli operatori delle applicazioni che vogliono configurare GKE Identity Service su singoli cluster, consentendo a sviluppatori e altri utenti di accedere ai cluster utilizzando i dettagli delle identità esistenti di un provider Security Assertion Markup Language (SAML). La guida presuppone che tu abbia letto la panoramica del servizio di identità GKE. Le istruzioni riportate in questo documento presuppongono che GKE Identity Service sia già stato registrato con il tuo provider di identità come applicazione client.
Prima di iniziare
- Prima di iniziare la configurazione, assicurati che l'amministratore della piattaforma ti abbia fornito tutte le informazioni necessarie dalla sezione Registra GKE Identity Service con il tuo provider.
Assicurati di aver installato i seguenti strumenti a riga di comando:
- Utilizza la versione 466.0.0 o successive di Google Cloud CLI, che include
gcloud
, lo strumento a riga di comando per interagire con Google Cloud. Se devi installare Google Cloud CLI, consulta la guida all'installazione. kubectl
per l'esecuzione di comandi sui cluster Kubernetes. Se devi installarekubectl
, segui queste istruzioni.
Se utilizzi Cloud Shell come ambiente shell per interagire con Google Cloud, questi strumenti vengono installati automaticamente.
- Utilizza la versione 466.0.0 o successive di Google Cloud CLI, che include
Assicurati di aver inizializzato gcloud CLI per l'utilizzo con il progetto in cui sono registrati i cluster.
Configura il cluster
GKE Identity Service utilizza un tipo speciale di risorsa personalizzata Kubernetes (CRD) per configurare i cluster denominati ClientConfig, con campi per le informazioni su il provider di identità e i parametri necessari per restituire le informazioni utente.
kubectl
Per modificare il ClientConfig predefinito, assicurati di poterti connettere al cluster
utilizzando kubectl
ed esegui questo comando:
kubectl --kubeconfig=KUBECONFIG_PATH edit ClientConfigs default -n kube-public
Sostituisci KUBECONFIG_PATH
con il percorso del file kubeconfig del cluster, ad esempio $HOME/.kube/config
.
Un editor di testo carica la risorsa ClientConfig del cluster. Aggiungi l'oggetto saml
come indicato nello snippet.
apiVersion: authentication.gke.io/v2alpha1
kind: ClientConfig
metadata:
name: default
namespace: kube-public
spec:
authentication:
- name: NAME
saml:
idpEntityID: ENTITY_ID
idpSingleSignOnURI: SIGN_ON_URI
idpCertificateDataList: IDP_CA_CERT
userAttribute: USER_ATTRIBUTE
groupsAttribute: {'<var name="user attribute">GROUPS_ATTRIBUTE</var>'}}
userPrefix: USER_PREFIX
groupPrefix: GROUP_PREFIX
attributeMapping:
ATTRIBUTE_KEY_1 : ATTRIBUTE_CEL_EXPRESSION_1
ATTRIBUTE_KEY_2 : ATTRIBUTE_CEL_EXPRESSION_2
certificateAuthorityData: CERTIFICATE_STRING
preferredAuthentication: PREFERRED_AUTHENTICATION
server: <>
# Rest of the resource is managed by Google. DO NOT MODIFY.
...
Puoi configurare più provider di identità in ClientConfig
in base ai tuoi requisiti. In questo modo, la gestione viene semplificata e viene offerta flessibilità, consentendoti di configurare diversi metodi di autenticazione all'interno di una risorsa di configurazione unificata. L'esempio seguente ClientConfig
definisce più provider di identità nell'ordine richiesto di precedenza dell'autenticazione.
apiVersion: v1
items:
- apiVersion: authentication.gke.io/v2alpha1
kind: ClientConfig
...
spec:
authentication:
- aws:
region: us-west-2
name: AWS Login
- ldap:
...
- saml:
...
- azureAD:
...
- oidc:
name: Okta OIDC
...
-oidc:
name: Google OIDC
...
La tabella seguente descrive i campi dell'oggetto ClientConfig saml
. I campi
che devi aggiungere dipendono dal tuo provider di identità e dalle opzioni di configurazione
scelte dall'amministratore della piattaforma durante la configurazione del provider per GKE Identity Service.
Campo | Obbligatorio | Descrizione | Formato |
---|---|---|---|
nome | Sì | Il nome che vuoi utilizzare per identificare questa configurazione, in genere il nome del provider di identità. Il nome di una configurazione deve iniziare con una lettera seguita da un massimo di 39 lettere minuscole, numeri o trattini e non può terminare con un trattino. | Stringa |
idpEntityID | Sì | L'ID entità SAML per il provider SAML, specificato in formato URI. Ad esempio: https://www.idp.com/saml . |
Stringa URL |
idpSingleSignOnURI | sì | L'endpoint SSO del provider SAML, specificato in formato URI. Ad esempio: https://www.idp.com/saml/sso . |
Stringa URL |
idpCertificateDataList | Sì | Corrisponde ai certificati del provider di identità utilizzati per verificare la risposta SAML. Questi certificati devono essere codificati in base64 standard e in formato PEM. Per facilitare la rotazione dei certificati del provider di identità, sono supportati al massimo due certificati. | Stringa |
userAttribute | No | Nome dell'attributo nella risposta SAML che contiene il nome utente. | Stringa |
groupsAttribute | No | Nome dell'attributo nella risposta SAML che contiene le informazioni sul gruppo dell'utente. | Stringa |
userPrefix | No | Il prefisso da anteporre alle attestazioni utente per evitare conflitti con i nomi esistenti, se non vuoi utilizzare il prefisso predefinito. | Stringa |
groupPrefix | No | Il prefisso che vuoi anteporre ai nomi dei gruppi di sicurezza. Questo per evitare conflitti con i nomi esistenti nelle regolecontrollo dell'accesso'accesso se hai configurazioni per più provider di identità (in genere il nome del provider). | Stringa |
attributeMapping | No | La mappatura degli attributi utente aggiuntivi. | Stringa |
certificateAuthorityData | No | Se fornita dall'amministratore della piattaforma, questa è una stringa di certificato con codifica PEM
per il provider di identità. Includi la stringa risultante in certificateAuthorityData come riga singola. |
Stringa |
preferredAuthentication | No | Nome del metodo di autenticazione preferito configurato nel cluster. | Stringa |
Dopo aver completato ClientConfig, salva il file, che aggiorna ClientConfig sul cluster. Se hai commesso errori di sintassi, ti viene chiesto di modificare nuovamente la configurazione per correggerli.
Passaggi successivi
Una volta applicata la configurazione, continua a configurare l'accesso degli utenti ai cluster.