Accedi

Questa pagina descrive come accedere e gestire i tuoi carichi di lavoro e le tue risorse all'interno di Google Distributed Cloud (GDC) air-gapped. Descrive come autenticarsi, generare file kubeconfig per risorse zonali e globali e gestire l'inattività della sessione. La comprensione di questi processi garantisce un accesso sicuro e affidabile ai tuoi progetti e carichi di lavoro.

Questa pagina è dedicata ai segmenti di pubblico all'interno del gruppo di amministratori della piattaforma (ad esempio gli amministratori IT) o del gruppo di operatori dell'applicazione (ad esempio gli sviluppatori di applicazioni) che vogliono utilizzare le risorse GDC. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.

Puoi accedere ai carichi di lavoro utilizzando la console GDC, gdcloud CLI o kubectl CLI.

Autenticare l'account per l'accesso

Per accedere alla console GDC o a un cluster, segui questi passaggi:

Console

Apri il seguente URL in una nuova scheda del browser per accedere all'interfaccia utente (UI) di Distributed Cloud:

https://GDC_URL

Sostituisci GDC_URL con il nome di dominio che utilizzi per accedere a Distributed Cloud fornito dall'operatore dell'infrastruttura (IO). Quando apri un URL per la prima volta, Distributed Cloud ti reindirizza alla pagina di accesso del tuo provider di identità se l'operatore dell'infrastruttura (IO) ha configurato la pagina.

Ad esempio, la seguente immagine mostra l'accesso alla UI della console per un'organizzazione denominata org-1:

Interfaccia utente della console che mostra la schermata di benvenuto per il progetto org-1.

Interfaccia a riga di comando

Quando accedi a gcloud CLI, utilizza il comando gdcloud auth login per autenticare un principal in gcloud CLI. L'interfaccia a riga di comando gcloud utilizza questa entità per l'autenticazione e l'autorizzazione per gestire Google Cloud risorse e servizi.

Prima di accedere, assicurati di:

  • Scarica il file binario di gcloud CLI e installalo nel sistema. Per maggiori informazioni, vedi Scaricare gcloud CLI.
  • Configura e inizializza la configurazione predefinita di gcloud CLI. Assicurati di impostare l'URL dell'organizzazione corretto, che viene utilizzato per recuperare l'endpoint di configurazione dell'accesso. Per saperne di più, consulta la sezione Installazione di gcloud CLI.
  • Installa il plug-in di autenticazione gdcloud-k8s-auth-plugin. Per ulteriori informazioni, consulta Autenticazione gcloud CLI.

Per accedere a un server API Management o a un cluster Kubernetes, completa i seguenti passaggi:

  • Server API Management:
  1. Esporta il percorso in cui vuoi archiviare il file kubeconfig del server API Management:

    export KUBECONFIG=MANAGEMENT_API_SERVER
    

    Sostituisci MANAGEMENT_API_SERVER con il percorso della directory in cui archiviare il file kubeconfig.

  2. Autentica l'istanza di gcloud CLI per accedere. Esistono due modi per autenticarsi:

    • Accesso standard al browser:utilizza questo flusso di autenticazione quando accedi da un browser.

      gdcloud auth login
      
    • Accesso da un dispositivo secondario:utilizza questo flusso di autenticazione se il tuo dispositivo principale non dispone di un browser. Questo flusso avvia l'accesso sul dispositivo principale senza accesso al browser e continua l'accesso con il dispositivo secondario che ha accesso al browser.

      Avvia l'accesso sul tuo dispositivo principale senza browser:

      gdcloud auth login --no-browser
      

      La variabile di ambiente KUBECONFIG viene aggiornata con i file kubeconfig per tutti i server API e i cluster dell'organizzazione. Se la variabile KUBECONFIG non è impostata, la CLI kubectl utilizza il file kubeconfig predefinito archiviato in $HOME/.kube/config.

      Per saltare la modifica dei file kubeconfig, aggiungi il flag --skip-kubeconfig-update al comando. Ad esempio:

      gdcloud auth login --no-browser --skip-kubeconfig-update
      

      Copia l'output comando dell'interfaccia a riga di comando gcloud stampato ed eseguilo su una macchina con accesso al browser.

  3. Segui le istruzioni riportate nella pagina web per completare la procedura di accesso.

    Una volta completato l'accesso, il browser visualizza il messaggio Autenticazione riuscita. Chiudi questa finestra.

  4. Segui le istruzioni sul terminale. Una volta eseguito l'accesso, il terminale visualizza il messaggio: Accesso eseguito.

  • Cluster Kubernetes:
  1. Autentica l'istanza di gcloud CLI per accedere. Esistono due modi per autenticarsi:

    • Accesso standard al browser:utilizza questo flusso di autenticazione quando accedi da un browser.

      gdcloud auth login
      
    • Accesso da un dispositivo secondario:utilizza questo flusso di autenticazione se il tuo dispositivo principale non dispone di un browser. Questo flusso avvia l'accesso sul dispositivo principale senza accesso al browser e continua l'accesso con il dispositivo secondario che ha accesso al browser.

      1. Avvia l'accesso sul tuo dispositivo principale senza browser:

        gdcloud auth login --no-browser
        

        Il comando nel dispositivo principale stampa un altro comando gdcloud che devi eseguire sul dispositivo secondario nel passaggio c.

      2. Ripeti il passaggio 1 per scaricare il certificato sul dispositivo secondario.

      3. Completa l'accesso sul dispositivo secondario inserendo il comando stampato sul dispositivo principale nel passaggio a.

    Questa azione apre un browser per accedere al provider di identità (IdP) configurato. Fornisci l'utente e la password che hai impostato durante la configurazione iniziale di gdcloud CLI per accedere.

  2. Esporta il file kubeconfig dell'identità utente come variabile:

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. Genera un file kubeconfig con l'identità utente:

    gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Sostituisci ZONE con il nome della zona.

    Viene generato un file kubeconfig con la tua identità utente. Il seguente file YAML mostra un esempio:

    apiVersion: v1
    clusters:
    - cluster:
      certificate-authority-data: <REDACTED>
      server: https://10.200.0.32:443
    name: cluster-name
    contexts:
    - context:
      cluster: cluster-name
      user: cluster-name-anthos-default-user
    name: cluster-name-cluster-name-anthos-default-user
    current-context: cluster-name-cluster-name-anthos-default-user
    kind: Config
    preferences: {}
    users:
    - name: cluster-name-anthos-default-user
    user:
      exec:
        apiVersion: client.authentication.k8s.io/v1
        args:
        - --audience=root-admin
        command: gdcloud-k8s-auth-plugin
        env: null
        installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin
        interactiveMode: Never
        provideClusterInfo: false
    
  4. Per verificare di poter accedere al cluster, accedi con il file kubeconfig generato con un'identità utente:

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

Esci

Per uscire dalla console GDC:

Console

Fai clic su Disconnetti nella barra dei menu.

Interfaccia a riga di comando

Esci dall'interfaccia a riga di comando:

gdcloud auth revoke

Generare manualmente il file kubeconfig

Se gestisci le risorse con la CLI kubectl chiamando direttamente le API KRM, devi generare il file kubeconfig per il cluster o il server API che ospita la risorsa, a seconda del tipo di risorsa che stai gestendo.

Devi anche conoscere la configurazione del tuo universo GDC per determinare le zone in cui intendi eseguire il deployment delle risorse zonali o il server API globale per le risorse globali. Per saperne di più, vedi Server API globali e di zona.

Determina se la risorsa che stai manipolando è una risorsa globale o di zona. Se non hai la certezza, consulta la documentazione dedicata della risorsa per ricevere assistenza.

Completa la configurazione applicabile in base al tipo di risorsa.

Risorse del server API di gestione zonale

Completa i seguenti passaggi per generare il file kubeconfig per il server API Management zonale:

  1. Visualizza tutte le zone disponibili:

    gdcloud zones list
    

    Prendi nota del nome della zona che ospita la risorsa personalizzata.

  2. Imposta la variabile di ambiente ZONE sulla zona che ospita le risorse zonali:

    export ZONE="ZONE"
    

    Sostituisci ZONE con il nome della zona.

  3. Imposta la variabile di ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="ORG_NAME-admin"
    

    Sostituisci ORG_NAME con il nome della tua organizzazione, ad esempio org-1.

  4. Genera il file kubeconfig del server API Management per la zona di destinazione e convalida le credenziali:

    export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, quello esistente viene sovrascritto. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Risorse del cluster Kubernetes di zona

Completa i seguenti passaggi per generare il file kubeconfig per il cluster Kubernetes zonale:

  1. Visualizza tutte le zone disponibili:

    gdcloud zones list
    

    Prendi nota del nome della zona che ospita la risorsa personalizzata.

  2. Imposta la variabile di ambiente ZONE sulla zona che ospita il cluster Kubernetes:

    export ZONE="ZONE"
    

    Sostituisci ZONE con il nome della zona.

  3. Imposta la variabile di ambiente KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
    

    Sostituisci KUBERNETES_CLUSTER_NAME con il nome del tuo cluster Kubernetes.

  4. Genera il file kubeconfig del cluster Kubernetes per la variabile della zona di destinazione e convalida le credenziali:

    export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, quello esistente viene sovrascritto. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Risorse del server API globale

Completa i seguenti passaggi per generare il file kubeconfig per il server API globale:

  1. Imposta la variabile di ambiente GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Genera il file kubeconfig del server API globale e convalida le credenziali:

    export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?}
    [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Il comando rm ${KUBECONFIG:?} rimuove il file kubeconfig esistente nella home directory. Quando generi un nuovo file kubeconfig, quello esistente viene sovrascritto. Se non vuoi sovrascrivere o rimuovere il file esistente, esegui il backup in un'altra posizione sicura.

Disconnessione per inattività della sessione

Dopo quindici o più minuti di inattività in una sessione, la console GDC e gcloud CLI ti disconnettono. Distributed Cloud considera l'inattività della sessione come un periodo durante una sessione aperta senza coinvolgimento attivo da parte tua, ad esempio nessun movimento del cursore o della tastiera. Una sessione attiva dura fino a 12 ore con l'attività dell'utente.

Console

Per inattività della sessione, la console GDC ti disconnette. Due minuti prima che la console GDC ti disconnetta per inattività, riceverai una finestra di dialogo che ti avvisa della disconnessione:

Interfaccia utente della console che mostra la finestra di dialogo con un timer di 99 secondi prima di disconnettere l&#39;utente per inattività.

Dopo la disconnessione per inattività, viene visualizzata la seguente schermata:

Interfaccia utente della console che mostra la schermata di accesso con un banner contenente il testo relativo alla disconnessione dalla sessione: &quot;Il tuo account è stato disconnesso dal sistema perché la sessione è rimasta inattiva troppo a lungo. Accedi di nuovo o contatta l&#39;amministratore per ricevere assistenza.&quot;

Per accedere di nuovo alla console GDC, seleziona il tuo identity provider e aggiungi le tue credenziali di accesso. Se utilizzi un servizio, ad esempio la dashboard di monitoraggio, e la console GDC ti disconnette per inattività, accedi di nuovo per ottenere l'accesso.

gdcloud

In caso di inattività della sessione, gcloud CLI esegue la disconnessione. Dopo che gcloud CLI ti disconnette e provi a eseguire un comando, ricevi un errore di autorizzazione:

Error: error when creating kube client: unable to create k8sclient: Unauthorized

Per accedere di nuovo a GDC, segui i passaggi della CLI descritti in Accedi.

Se accedi di nuovo a GDC tramite un server API di gestione, il file kubeconfig viene aggiornato automaticamente. Per evitare l'aggiornamento del file kubeconfig, utilizza il flag --skip-kubeconfig-update nel comando gdcloud auth login.

kubectl

L'interfaccia a riga di comando gdcloud fa scadere i file kubeconfig dopo l'inattività della sessione. Se tenti di eseguire un comando kubectl dopo un periodo di inattività, ricevi un errore di autorizzazione:

error: You must be logged in to the server (Unauthorized)

Per accedere di nuovo e utilizzare il file kubeconfig, segui i passaggi della CLI descritti in Accedere. Per ogni timeout della sessione, devi rigenerare i file kubeconfig.

Monitorare le attività di accesso e dei nuovi utenti

Attività come l'accesso vengono esportate come audit log. Per ulteriori informazioni sulla visualizzazione dei log di controllo, vedi Log di controllo.