Autenticare e configurare l'accesso API all'interno di una workstation

Questo documento descrive come autenticare e configurare l'accesso alle API all'interno di una workstation, incluso come accedere utilizzando la UI di Workstations per autenticare l'interfaccia a riga di comando gcloud e fornire le credenziali alle Credenziali predefinite dell'applicazione (ADC).

Esegui l'autenticazione come utente con Google Cloud CLI

Dopo aver avviato Cloud Workstations, puoi accedere ai servizi Google Cloud e all'API utilizzando i tuoi account utente tramite l'interfaccia a riga di comando gcloud.

Per autenticare l'interfaccia a riga di comando gcloud e fornire le credenziali utente alle Credenziali predefinite dell'applicazione (ADC), scegli una delle seguenti opzioni:

Accesso utente con la UI di Workstations

L'accesso tramite la console Google Cloud autentica automaticamente l'interfaccia a riga di comandogcloud e fornisce le tue credenziali utente alle Credenziali predefinite dell'applicazione (ADC) nell'ambiente della tua workstation.

Abilita l'accesso alla UI sulle risorse della workstation

Prima di poter utilizzare questa funzionalità, assicurati che sia la configurazione della workstation sia il cluster siano configurati per supportare l'accesso alla UI:

  1. Nella console Google Cloud , vai alla sezione Impostazioni ambiente della configurazione della workstation. Nella sezione Autenticazione, seleziona la casella di controllo Abilita l'invio delle credenziali (o imposta enable_pushing_credentials: true nell'API).
  2. Imposta l'URL di base della console nel cluster sul tuo endpoint della console Google Cloud (ad esempio, https://console.cloud.google.com/) utilizzando l'interfaccia a riga di comando gcloud:
    gcloud beta workstations clusters update CLUSTER_NAME \
        --region=REGION \
        --console-base-url="https://console.cloud.google.com/"

Accedi dalla tua workstation

Per accedere e autenticare la tua workstation:

  1. Nell'editor Code OSS per Cloud Workstations, fai clic su Accedi alla tua workstation. Si apre una finestra di accesso alla console Google Cloud .
  2. Nella console Google Cloud , verifica i dettagli della workstation (ad esempio l'ID workstation) e i dettagli dell'account, quindi fai clic su Continua.
  3. Fai clic su Conferma per completare l'accesso.
  4. Dopo la visualizzazione del messaggio di conferma, chiudi la finestra del browser e torna all'editor. Le tue credenziali sono ora disponibili per l'interfaccia a riga di comando gcloud e per le Credenziali predefinite dell'applicazione (ADC) nell'ambiente della tua workstation.

La sessione di accesso scade dopo un'ora. Quando la sessione sta per scadere, il pulsante di accesso nell'editor Code OSS per Cloud Workstations mostra EMAIL (Google) - In scadenza (dove EMAIL è il tuo indirizzo email) o Accesso alla workstation in scadenza. Per aggiornare le tue credenziali, fai clic sul pulsante e segui le istruzioni nella console Google Cloud .

Accedi con l'interfaccia a riga di comando gcloud

Se l'accesso alla UI non è abilitato per la tua configurazione o il tuo cluster, puoi accedere manualmente utilizzando l'interfaccia a riga di comando gcloud da un terminale all'interno della tua workstation:

  1. Apri un terminale nella tua workstation. Il modo in cui apri una finestra del terminale dipende dall'IDE che utilizzi. Ad esempio, se utilizzi l'editor di base di Cloud Workstations, apri un terminale selezionando Terminale > Nuovo terminale o premendo Ctrl+Shift+`.
  2. Esegui l'autenticazione con il seguente comando:
    gcloud auth login --no-launch-browser
  3. Segui le istruzioni fornite dal comando per eseguire l'autenticazione in Google Cloud.
  4. Specifica l'ID progetto Google Cloud con il seguente comando:
    gcloud config set project PROJECT_ID
  5. Attiva le Credenziali predefinite dell'applicazioneper consentirti di chiamare i servizi Google Cloud .
    gcloud auth application-default login
  6. Le tue credenziali dell'interfaccia a riga di comando gcloud sono state salvate e sono disponibili quando utilizzi la workstation nelle sessioni future.

Invia una richiesta HTTP a una workstation

Per inviare una richiesta HTTP a una workstation, devi disporre di un token di accesso per un account con il ruolo Cloud Workstations User su quella workstation:

  1. Genera un token di accesso utilizzando il metodo API generateAccessToken.
  2. Aggiungi un'intestazione HTTP denominata Authorization con il valore Bearer $TOKEN.

Connettiti alla workstation nel browser

L'apertura dell'URL della workstation nel browser esegue automaticamente l'autenticazione tramite un reindirizzamento al server delle workstation e recupera un token di accesso generato dal metodo API generateAccessToken. In questo modo, viene eseguito il reindirizzamento alla workstation e viene impostato un cookie di autenticazione valido per la sessione della workstation corrente.

Per saltare questo reindirizzamento, utilizza il parametro URL _workstationAccessToken:

  1. Genera un token di accesso utilizzando il metodo API generateAccessToken.
  2. Apri l'URL della workstation nel browser e aggiungi un parametro URL con il seguente formato: _workstationAccessToken=TOKEN.

In questo modo, nel browser viene impostato un cookie di autenticazione che consente l'accesso alla sessione della workstation corrente. Saltare il reindirizzamento può essere utile quando l'accesso al server della workstation è bloccato dalle policy di rete o quando si utilizzano iframe per visualizzare la workstation in altri siti.

Rappresentare un account di servizio

Se le policy di sicurezza della tua organizzazione impediscono agli account utente di disporre delle autorizzazioni richieste, puoi anche simulare l'identità di un account di servizio. Per simulare l'identità del service account specificato nella configurazione della workstation, puoi specificare il campo Ambiti del account di servizio account.

        gcloud workstations configs create CONFIG \
            --cluster=CLUSTER \
            --region=REGION \
            --project=PROJECT \
            --service-account=SERVICE_ACCOUNT \
            --service-account-scopes=https://www.googleapis.com/auth/cloud-platform
      
Se specificato, gli utenti delle workstation con questa configurazione devono disporre dell'autorizzazione iam.serviceAccounts.actAs sul service account. Per saperne di più su come specificare gli ambiti per il account di servizio, consulta Ambiti di accesso.

Passaggi successivi