Risolvere i problemi di autenticazione di GKE su Bare Metal

Questo documento aiuta a risolvere i problemi di autenticazione in GKE su Bare Metal. Vengono fornite informazioni generali sulla risoluzione dei problemi e indicazioni, oltre a informazioni specifiche per OpenID Connect (OIDC) e Lightweight Directory Access Protocol (LDAP).

L'autenticazione OIDC e LDAP utilizza GKE Identity Service. Prima di poter utilizzare GKE Identity Service con GKE su Bare Metal, devi configurare un provider di identità. Se non hai configurato un provider di identità per GKE Identity Service, segui le istruzioni relative a uno dei seguenti provider più comuni:

Consulta la guida alla risoluzione dei problemi del provider di identità del servizio GKE Identity per informazioni su come attivare ed esaminare i log delle identità e testare la connettività.

Se hai bisogno di ulteriore aiuto, contatta l'Assistenza Google.

Risoluzione dei problemi generali

I seguenti suggerimenti per la risoluzione dei problemi possono aiutarti in caso di problemi generali di autenticazione e autorizzazione con GKE su Bare Metal. Se questi problemi non sono applicabili o se riscontri problemi con OIDC o LDAP, vai alla sezione relativa alla risoluzione dei problemi di GKE Identity Service.

Mantieni gcloud anthos auth aggiornato

Puoi evitare molti problemi comuni verificando che i componenti dell'installazione di gcloud anthos auth siano aggiornati.

È necessario verificare due parti. Il comando gcloud anthos auth include una logica nel componente principale Google Cloud CLI e un componente anthos-auth in pacchetto separatamente.

  1. Per aggiornare Google Cloud CLI:

    gcloud components update
    
  2. Per aggiornare il componente anthos-auth:

    gcloud components install anthos-auth
    

Configurazione del provider non valida

Se la configurazione del provider di identità non è valida, dopo aver fatto clic su Accedi verrà visualizzata una schermata di errore del provider di identità. Segui le istruzioni specifiche del provider per configurare correttamente il provider o il cluster.

Autorizzazioni non valide

Se completi il flusso di autenticazione, ma non vedi ancora i dettagli del cluster, assicurati di aver concesso le autorizzazioni RBAC corrette all'account che hai utilizzato con OIDC. Potrebbe essere un account diverso da quello che utilizzi per accedere alla console Google Cloud.

Token di aggiornamento mancante

Il seguente problema si verifica quando il server di autorizzazione richiede il consenso, ma il parametro di autenticazione richiesto non è stato fornito.

Error: missing 'RefreshToken' field in 'OAuth2Token' in credentials struct

Per risolvere il problema, nella risorsa ClientConfig aggiungi prompt=consent al campo authentication.oidc.extraParams. Quindi, rigenera il file di autenticazione del client.

Token di aggiornamento scaduto

Il seguente problema si verifica quando il token di aggiornamento nel file kubeconfig è scaduto:

Unable to connect to the server: Get {DISCOVERY_ENDPOINT}: x509:
    certificate signed by unknown authority

Per risolvere il problema, esegui di nuovo il comando gcloud anthos auth login.

L'accesso di autenticazione gcloud anthos non riesce con proxyconnect tcp

Questo problema si verifica in caso di errore nelle configurazioni variabile di ambiente https_proxy o HTTPS_PROXY. Se nelle variabili di ambiente è specificato un https://, le librerie client HTTP di GoLang potrebbero restituire un errore se il proxy è configurato per gestire le connessioni HTTPS utilizzando altri protocolli come SOCK5.

Potrebbe essere restituito il seguente messaggio di errore di esempio:

proxyconnect tcp: tls: first record does not look like a TLS handshake

Per risolvere il problema, modifica le variabili di ambiente https_proxy e HTTPS_PROXY in modo da omettere https:// prefix. Su Windows, modifica le variabili di ambiente del sistema. Ad esempio, modifica il valore della variabile di ambiente https_proxy da https://webproxy.example.com:8000 a webproxy.example.com:8000.

L'accesso al cluster non riesce quando viene utilizzato kubeconfig generato da gcloud anthos auth login

Questo problema si verifica quando il server API Kubernetes non è in grado di autorizzare l'utente. Questo può accadere se gli RBAC appropriati mancano o se sono errati oppure se si è verificato un errore nella configurazione OIDC del cluster. Potrebbe essere visualizzato il seguente errore di esempio:

Unauthorized

Per risolvere il problema, completa la procedura seguente:

  1. Nel file kubeconfig generato da gcloud anthos auth login, copia il valore di id-token.

    kind: Config
    ...
    users:
    - name: ...
      user:
        auth-provider:
          config:
            id-token: xxxxyyyy
    
  2. Installa jwt-cli ed esegui:

    jwt ID_TOKEN
    
  3. Verifica la configurazione OIDC.

    La risorsa ClientConfig contiene i campi group e username. Questi campi vengono utilizzati per impostare i flag --oidc-group-claim e --oidc-username-claim nel server API Kubernetes. Quando al server API viene presentato il token, lo inoltra al servizio GKE Identity, che restituisce i valori group-claim e username-claim estratti al server API. Il server API utilizza la risposta per verificare che il gruppo o l'utente corrispondente disponga delle autorizzazioni corrette.

    Verifica che le attestazioni impostate per group e user nella risorsa ClientConfig siano presenti nel token ID.

  4. Controlla gli RBAC applicati.

    Verifica che esista un RBAC con le autorizzazioni corrette per l'utente specificato da username-claim o per uno dei gruppi elencati group-claim nel passaggio precedente. Il nome dell'utente o del gruppo in RBAC deve essere preceduto dal prefisso usernameprefix o groupprefix specificato nella risorsa ClientConfig.

    Se usernameprefix è vuoto e username è un valore diverso da email, il prefisso è issuerurl# per impostazione predefinita. Per disattivare i prefissi nome utente, imposta usernameprefix su -.

    Per ulteriori informazioni sui prefissi di utenti e gruppi, consulta Autenticazione con OIDC.

    ClientConfig risorsa:

    oidc:
      ...
      username: "unique_name"
      usernameprefix: "-"
      group: "group"
      groupprefix: "oidc:"
    

    Token ID:

    {
      ...
      "email": "cluster-developer@example.com",
      "unique_name": "EXAMPLE\cluster-developer",
      "group": [
        "Domain Users",
        "EXAMPLE\developers"
      ],
    ...
    }
    

    Le seguenti associazioni RBAC concedono a questo gruppo e all'utente il ruolo di cluster pod-reader. Nota la barra singola nel campo del nome anziché una doppia barra:

    GroupRoleBinding:

    apiVersion:
    kind: ClusterRoleBinding
    metadata:
      name: example-binding
    subjects:
    - kind: Group
      name: "oidc:EXAMPLE\developers"
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: ClusterRole
      name: pod-reader
      apiGroup: rbac.authorization.k8s.io
    

    ClusterRoleBinding utente:

    apiVersion:
    kind: ClusterRoleBinding
    metadata:
      name: example-binding
    subjects:
    - kind: User
      name: "EXAMPLE\cluster-developer"
      apiGroup: rbac.authorization.k8s.io
    roleRef:
      kind: ClusterRole
      name: pod-reader
      apiGroup: rbac.authorization.k8s.io
    
  5. Controlla i log del server API Kubernetes.

    Se il plug-in OIDC configurato nel server API Kubernetes non si avvia correttamente, il server API restituisce un errore Unauthorized quando viene presentato il token ID. Per verificare se si sono verificati problemi con il plug-in OIDC nel server API, esegui:

    kubectl logs statefulset/kube-apiserver -n USER_CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Sostituisci quanto segue:

    • USER_CLUSTER_NAME: il nome del cluster utente per cui visualizzare i log.
    • ADMIN_CLUSTER_KUBECONFIG: il file kubeconfig del cluster di amministrazione.

Risolvere i problemi relativi a OIDC

Quando l'autenticazione OIDC non funziona per GKE su Bare Metal, in genere la specifica OIDC nella risorsa ClientConfig è stata configurata in modo errato. La risorsa ClientConfig fornisce istruzioni per esaminare i log e la specifica OIDC al fine di identificare la causa di un problema OIDC.

Consulta la guida alla risoluzione dei problemi del provider di identità del servizio GKE Identity per informazioni su come attivare ed esaminare i log delle identità e testare la connettività. Dopo aver verificato che GKE Identity Service funzioni come previsto o aver identificato un problema, esamina le seguenti informazioni per la risoluzione dei problemi OIDC.

Controlla la specifica OIDC nel cluster

Le informazioni OIDC per il tuo cluster sono specificate nella risorsa ClientConfig nello spazio dei nomi kube-public.

  1. Utilizza kubectl get per stampare la risorsa OIDC per il cluster utente:

    kubectl --kubeconfig KUBECONFIG -n kube-public get \
      clientconfig.authentication.gke.io default -o yaml
    

    Sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster utente.

  2. Esamina i valori dei campi per confermare che la specifica è configurata correttamente per il tuo provider OIDC.

  3. Se identifichi un problema di configurazione nella specifica, riconfigura OIDC.

  4. Se non riesci a diagnosticare e a risolvere il problema autonomamente, rivolgiti all'assistenza Google Cloud.

    L'assistenza Google Cloud richiede i log di GKE Identity Service e la specifica OIDC per diagnosticare e risolvere i problemi OIDC.

Verifica che l'autenticazione OIDC sia abilitata

Prima di testare l'autenticazione OIDC, verifica che l'autenticazione OIDC sia abilitata nel cluster.

  1. Esamina i log del servizio GKE Identity:

    kubectl logs -l k8s-app=ais -n anthos-identity-service
    

    Il seguente output di esempio mostra che l'autenticazione OIDC è abilitata correttamente:

    ...
    I1011 22:14:21.684580      33 plugin_list.h:139] OIDC_AUTHENTICATION[0] started.
    ...
    

    Se l'autenticazione OIDC non è abilitata correttamente, vengono visualizzati errori simili all'esempio seguente:

    Failed to start the OIDC_AUTHENTICATION[0] authentication method with error:
    

    Esamina gli errori specifici segnalati e prova a correggerli.

Testa l'autenticazione OIDC

Per usare la funzionalità OIDC, usa una workstation con l'interfaccia utente e il browser attivati. Non puoi eseguire questi passaggi da una sessione SSH basata su testo. Per verificare che OIDC funzioni correttamente nel tuo cluster, completa i seguenti passaggi:

  1. Scarica Google Cloud CLI.
  2. Per generare il file di configurazione dell'accesso, esegui questo comando gcloud anthos create-login-config:

    gcloud anthos create-login-config \
      --output user-login-config.yaml \
      --kubeconfig KUBECONFIG
    

    Sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster utente.

  3. Per autenticare l'utente, esegui questo comando:

    gcloud anthos auth login --cluster CLUSTER_NAME \
      --login-config user-login-config.yaml \
      --kubeconfig AUTH_KUBECONFIG
    

    Sostituisci quanto segue:

    • CLUSTER_NAME con il nome del cluster utente a cui connetterti.
    • AUTH_KUBECONFIG con il nuovo file kubeconfig da creare che include le credenziali per accedere al cluster. Per ulteriori informazioni, consulta Eseguire l'autenticazione nel cluster.
  4. Dovresti ricevere una pagina per il consenso all'accesso aperta nel browser web predefinito della tua workstation locale. Fornisci informazioni di autenticazione valide per un utente in questa richiesta di accesso.

    Dopo aver completato il passaggio di accesso precedente, nella directory attuale viene generato un file kubeconfig.

  5. Per testare il nuovo file kubeconfig che include le tue credenziali, elenca i pod nel cluster utente:

    kubectl get pods --kubeconfig AUTH_KUBECONFIG
    

    Sostituisci AUTH_KUBECONFIG con il percorso del nuovo file kubeconfig generato nel passaggio precedente.

    Potrebbe essere restituito il seguente messaggio di esempio che indica che l'autenticazione è riuscita, ma che all'account non sono stati assegnati controlli dell'accesso basati sui ruoli (RBAC):

    Error from server (Forbidden): pods is forbidden: User "XXXX" cannot list resource "pods" in API group "" at the cluster scope
    

Esamina i log di autenticazione OIDC

Se non riesci a eseguire l'autenticazione con OIDC, i log di GKE Identity Service forniscono le informazioni più pertinenti e utili per il debug del problema.

  1. Utilizza kubectl logs per stampare i log del servizio GKE Identity:

    kubectl --kubeconfig KUBECONFIG \
      -n anthos-identity-service logs \
      deployment/ais --all-containers=true
    

    Sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster utente.

  2. Esamina i log per individuare eventuali errori che possono aiutarti a diagnosticare i problemi OIDC.

    Ad esempio, la risorsa ClientConfig potrebbe contenere un errore di battitura nel campo issuerURL, come htps://accounts.google.com (senza t in https). I log del servizio GKE Identity conterrebbero una voce simile al seguente esempio:

    OIDC (htps://accounts.google.com) - Unable to fetch JWKs needed to validate OIDC ID token.
    
  3. Se identifichi un problema di configurazione nei log, riconfigura OIDC e correggi i problemi.

  4. Se non riesci a diagnosticare e a risolvere il problema autonomamente, contatta l'assistenza Google Cloud. L'assistenza Google Cloud richiede i log di GKE Identity Service e la specifica OIDC per diagnosticare e risolvere i problemi OIDC.

Problemi comuni con OIDC

In caso di problemi con l'autenticazione OIDC, esamina i seguenti problemi comuni. Segui eventuali indicazioni su come risolvere il problema.

Nessun endpoint disponibile per il servizio "ais"

Quando salvi la risorsa ClientConfig, viene restituito il seguente messaggio di errore:

  Error from server (InternalError): Internal error occurred: failed calling webhook "clientconfigs.validation.com":
  failed to call webhook: Post "https://ais.anthos-identity-service.svc:15000/admission?timeout=10s":
  no endpoints available for service "ais"

Questo errore è causato dall'endpoint non integro di GKE Identity Service. Il pod di servizio di GKE Identity non è in grado di gestire il webhook di convalida.

  1. Per verificare che il pod del servizio GKE Identity sia integro, esegui questo comando:

    kubectl get pods -n anthos-identity-service \
      --kubeconfig KUBECONFIG
    

    Sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster utente.

    Il seguente output di esempio indica che il pod del servizio GKE Identity ha subito un arresto anomalo:

    NAME                  READY  STATUS            RESTARTS  AGE
    ais-5949d879cd-flv9w  0/1    ImagePullBackOff  0         7m14s
    
  2. Per capire perché il pod ha un problema, esamina gli eventi del pod:

    kubectl describe pod -l k8s-app=ais \
      -n anthos-identity-service \
      --kubeconfig KUBECONFIG
    

    Sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster utente.

    L'output dell'esempio seguente segnala un errore di autorizzazione durante il pull dell'immagine:

    Events:
      Type     Reason     Age                     From               Message
      ----     ------     ----                    ----               -------
      Normal   Scheduled  10m                     default-scheduler  Successfully assigned anthos-identity-service/ais-5949d879cd-flv9w to pool-1-76bbbb8798-dknz5
      Normal   Pulling    8m23s (x4 over 10m)     kubelet            Pulling image "gcr.io/gke-on-prem-staging/ais:hybrid_identity_charon_20220808_2319_RC00"
      Warning  Failed     8m21s (x4 over 10m)     kubelet            Failed to pull image "gcr.io/gke-on-prem-staging/ais:hybrid_identity_charon_20220808_2319_RC00": rpc error: code = Unknown desc = failed to pull and unpack image "gcr.io/gke-on-prem-staging/ais:hybrid_identity_charon_20220808_2319_RC00": failed to resolve reference "gcr.io/gke-on-prem-staging/ais:hybrid_identity_charon_20220808_2319_RC00": pulling from host gcr.io failed with status code [manifests hybrid_identity_charon_20220808_2319_RC00]: 401 Unauthorized
      Warning  Failed     8m21s (x4 over 10m)     kubelet            Error: ErrImagePull
      Warning  Failed     8m10s (x6 over 9m59s)   kubelet            Error: ImagePullBackOff
      Normal   BackOff    4m49s (x21 over 9m59s)  kubelet            Back-off pulling image "gcr.io/gke-on-prem-staging/ais:hybrid_identity_charon_20220808_2319_RC00"
    
  3. Se gli eventi del pod segnalano un problema, continua con la risoluzione dei problemi nelle aree interessate. Se hai bisogno di ulteriore aiuto, contatta l'assistenza Google Cloud.

Impossibile leggere i byte di risposta dal server

Nei log di GKE Identity Service potresti visualizzare i seguenti errori:

  E0516 07:24:38.314681      65 oidc_client.cc:207] Failed fetching the Discovery URI
  "https://oidc.idp.cloud.example.com/auth/idp/k8sIdp/.well-known/openid-configuration" with error:
  Failed reading response bytes from server.

  E0516 08:24:38.446504      65 oidc_client.cc:223] Failed to fetch the JWKs URI
  "https://oidc.idp.cloud.example.com/auth/idp/k8sIdp/certs" with error:
  Failed reading response bytes from server.

Questi errori di rete potrebbero essere visualizzati nei log in uno dei seguenti modi:

  • Vengono visualizzati raramente nel log: gli errori di riserva probabilmente non sono il problema principale e potrebbero essere problemi di rete intermittenti.

    Il plug-in OIDC di GKE Identity Service ha un processo daemon per sincronizzare periodicamente l'URL di rilevamento OIDC ogni 5 secondi. Se la connessione di rete è instabile, questa richiesta in uscita potrebbe non riuscire. Un errore occasionale non influisce sull'autenticazione OIDC. I dati memorizzati nella cache possono essere riutilizzati.

    Se si verificano altri errori nei log, continua con i passaggi aggiuntivi per la risoluzione dei problemi.

  • Appaiono costantemente nel log o nel caso in cui GKE Identity Service non raggiunga mai l'endpoint noto: questi problemi costanti indicano un problema di connettività tra GKE Identity Service e il tuo provider di identità OIDC.

    I seguenti passaggi di risoluzione dei problemi possono aiutare a diagnosticare questi problemi di connettività:

    1. Assicurati che un firewall non stia bloccando le richieste in uscita da GKE Identity Service.
    2. Verifica che il server del provider di identità sia in esecuzione correttamente.
    3. Verifica che l'URL dell'emittente OIDC nella risorsa ClientConfig sia configurato correttamente.
    4. Se hai abilitato il campo proxy nella risorsa ClientConfig, esamina lo stato o il log del server proxy in uscita.
    5. Verifica la connettività tra il tuo pod di GKE Identity Service e il server del provider di identità OIDC.

Devi aver eseguito l'accesso al server (non autorizzato)

Quando provi ad accedere utilizzando l'autenticazione OIDC, potresti ricevere il seguente messaggio di errore:

  You must be logged in to the server (Unauthorized)

Questo errore è un problema generale di autenticazione di Kubernetes che non fornisce ulteriori informazioni. Tuttavia, questo errore indica un problema di configurazione.

Per determinare il problema, consulta le sezioni precedenti su come controllare la specifica OIDC nel cluster e configurare la risorsa ClientConfig.

Impossibile effettuare la richiesta di autenticatore webhook

Nei log di GKE Identity Service, potresti visualizzare il seguente errore:

  E0810 09:58:02.820573       1 webhook.go:127] Failed to make webhook authenticator request:
  error trying to reach service: net/http: TLS handshake timeout

Questo errore indica che il server API non riesce a stabilire la connessione con il pod del servizio GKE Identity.

  1. Per verificare se l'endpoint del servizio GKE Identity può essere raggiunto dall'esterno, esegui questo comando curl:

    curl -k  -s -o /dev/null -w "%{http_code}" -X POST \
      https://APISERVER_HOST/api/v1/namespaces/anthos-identity-service/services/https:ais:https/proxy/authenticate -d '{}'
    

    Sostituisci APISERVER_HOST con l'indirizzo del tuo server API.

    La risposta prevista è un codice di stato HTTP 400. Se la richiesta è scaduta, riavvia il pod di servizio GKE Identity. Se l'errore persiste, significa che non si avvia il server HTTP di GKE Identity Service. Per ulteriore assistenza, contatta l'assistenza Google Cloud.

Risolvere i problemi relativi a LDAP

In caso di problemi con l'autenticazione LDAP, assicurati di aver configurato l'ambiente seguendo uno dei documenti di configurazione appropriati:

Devi inoltre assicurarti di compilare il secret dell'account di servizio LDAP e di aver configurato la risorsa ClientConfig per abilitare l'autenticazione LDAP.

Consulta la guida alla risoluzione dei problemi del provider di identità del servizio GKE Identity per informazioni su come attivare ed esaminare i log delle identità e testare la connettività. Dopo aver verificato che GKE Identity Service funzioni come previsto o aver identificato un problema, esamina le seguenti informazioni per la risoluzione dei problemi di LDAP.

Verificare che l'autenticazione LDAP sia attivata

Prima di testare l'autenticazione LDAP, verifica che questa sia abilitata nel cluster.

  1. Esamina i log del servizio GKE Identity:

    kubectl logs -l k8s-app=ais -n anthos-identity-service
    

    Il seguente output di esempio mostra che l'autenticazione LDAP è correttamente abilitata:

    ...
    I1012 00:14:11.282107      34 plugin_list.h:139] LDAP[0] started.
    ...
    

    Se l'autenticazione LDAP non è abilitata correttamente, vengono visualizzati errori simili all'esempio seguente:

    Failed to start the LDAP_AUTHENTICATION[0] authentication method with error:
    

    Esamina gli errori specifici segnalati e prova a correggerli.

Testare l'autenticazione LDAP

Per utilizzare la funzionalità LDAP, utilizza una workstation con l'interfaccia utente e il browser attivati. Non puoi eseguire questi passaggi da una sessione SSH basata su testo. Per verificare che l'autenticazione LDAP funzioni correttamente nel cluster, completa i seguenti passaggi:

  1. Scarica Google Cloud CLI.
  2. Per generare il file di configurazione di accesso, esegui questo comando gcloud anthos create-login-config:

    gcloud anthos create-login-config \
      --output user-login-config.yaml \
      --kubeconfig KUBECONFIG
    

    Sostituisci KUBECONFIG con il percorso del file kubeconfig del cluster utente.

  3. Per autenticare l'utente, esegui questo comando:

    gcloud anthos auth login --cluster CLUSTER_NAME \
      --login-config user-login-config.yaml \
      --kubeconfig AUTH_KUBECONFIG
    

    Sostituisci quanto segue:

    • CLUSTER_NAME con il nome del cluster utente a cui connetterti.
    • AUTH_KUBECONFIG con il nuovo file kubeconfig da creare che include le credenziali per accedere al cluster. Per ulteriori informazioni, consulta Eseguire l'autenticazione nel cluster.
  4. Dovresti ricevere una pagina per il consenso all'accesso aperta nel browser web predefinito della tua workstation locale. Fornisci informazioni di autenticazione valide per un utente in questa richiesta di accesso.

    Dopo aver completato il passaggio di accesso precedente, nella directory attuale viene generato un file kubeconfig.

  5. Per testare il nuovo file kubeconfig che include le tue credenziali, elenca i pod nel cluster utente:

    kubectl get pods --kubeconfig AUTH_KUBECONFIG
    

    Sostituisci AUTH_KUBECONFIG con il percorso del cluster utente kubeconfig generato nel passaggio precedente.

    Error from server (Forbidden): pods is forbidden: User "XXXX" cannot list resource "pods" in API group "" at the cluster scope
    

Problemi comuni di LDAP

In caso di problemi con l'autenticazione LDAP, esamina i problemi comuni riportati di seguito. Segui eventuali indicazioni su come risolvere il problema.

Gli utenti non possono autenticarsi con le virgole nel proprio CN

Quando utilizzi LDAP, potresti riscontrare problemi nei quali gli utenti non riescono ad autenticarsi se il loro CN contiene una virgola, ad esempio CN="a,b". Se attivi il log di debug per GKE Identity Service, viene segnalato il seguente messaggio di errore:

  I0207 20:41:32.670377 30 authentication_plugin.cc:977] Unable to query groups from the LDAP server directory.example.com:636, using the LDAP service account
  'CN=svc.anthos_dev,OU=ServiceAccount,DC=directory,DC=example,DC=com'.
  Encountered the following error: Empty entries.

Questo problema si verifica perché il plug-in LDAP di GKE Identity Service esegue due volte l'escape della virgola. Questo problema si verifica solo nelle versioni GKE su Bare Metal 1.13 e precedenti.

Per risolvere il problema, completa uno dei seguenti passaggi:

  1. Esegui l'upgrade del cluster a GKE su Bare Metal 1.13 o versioni successive.
  2. Scegli un identifierAttribute diverso, ad esempio sAMAccountName, anziché utilizzare CN.
  3. Rimuovi le virgole all'interno del CN nella directory LDAP.

Errore di autenticazione con Google Cloud CLI 1.4.2

Con Google Cloud CLI anthos-auth 1.4.2, potresti visualizzare il seguente messaggio di errore quando esegui il comando gcloud anthos auth login:

  Error: LDAP login failed: could not obtain an STS token: Post "https://127.0.0.1:15001/sts/v1beta/token":
  failed to obtain an endpoint for deployment anthos-identity-service/ais: Unauthorized
  ERROR: Configuring Anthos authentication failed

Nel log di GKE Identity Service viene visualizzato anche il seguente errore:

  I0728 12:43:01.980012      26 authentication_plugin.cc:79] Stopping STS   authentication, unable to decrypt the STS token:
  Decryption failed, no keys in the current key set could decrypt the payload.

Per risolvere questo errore, completa i seguenti passaggi:

  1. Controlla se utilizzi Google Cloud CLI anthos-auth versione 1.4.2:

    gcloud anthos auth version
    

    L'output di esempio seguente mostra che la versione è 1.4.2:

    Current Version: v1.4.2
    
  2. Se esegui Google Cloud CLI anthos-auth versione 1.4.2, esegui l'upgrade alla versione 1.4.3 o successive.

Passaggi successivi

Se hai bisogno di ulteriore aiuto, contatta l'Assistenza Google.