Autentica le richieste API

Vertex AI sull'appliance Google Distributed Cloud (GDC) con air gap fornisce API e servizi che richiedono l'autenticazione. L'autenticazione è il modo in cui dimostri la tua identità per accedere ai servizi utilizzando i token.

I token sono oggetti digitali che verificano che un chiamante abbia fornito le credenziali corrette e che siano state scambiate correttamente con il token. Il token contiene informazioni sull'identità dell'account richiedente e sull'accesso specifico a cui è autorizzato.

Questa pagina descrive come eseguire l'autenticazione alle API Vertex AI in modo programmatico. A seconda che tu acceda alle API Vertex AI come utente o con un account di servizio, questa pagina descrive i passaggi per ottenere un token di autenticazione per le richieste API.

Scegli una delle seguenti opzioni per ottenere un token di autenticazione:

Account utente

Segui questi passaggi per ottenere un token di autenticazione con le autorizzazioni utente:

  1. Prendi nota dell'endpoint dell'API che vuoi utilizzare.

  2. Ottieni l'accesso al servizio Vertex AI che vuoi utilizzare concedendo al tuo account utente il ruolo corrispondente elencato in Preparare le autorizzazioni IAM.

  3. Accedi all'appliance GDC con air gap con l'account utente con cui devi interagire con l'API:

    gdcloud auth login
    
  4. Ottieni il token di autenticazione:

    gdcloud auth print-identity-token --audiences=https://ENDPOINT
    

    Sostituisci ENDPOINT con l'endpoint del servizio che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint.

    A seconda dell'uso previsto del token di autenticazione, potrebbe essere necessario includere la porta dopo l'endpoint del servizio nel percorso dei destinatari come segue:

    • Se utilizzi una libreria client per la richiesta, devi includere la porta :443 dopo l'endpoint del servizio nel percorso dei destinatari. Pertanto, il percorso --audiences nel comando deve essere https://ENDPOINT:443.
    • Se utilizzi gRPC, curl o chiamate REST programmatiche per la richiesta, non includere la porta. Pertanto, il percorso --audiences nel comando deve essere https://ENDPOINT.

L'output mostra il token di autenticazione. Aggiungi il token all'intestazione delle richieste della riga di comando che effettui, come nel seguente esempio:

-H "Authorization: Bearer TOKEN"

Sostituisci TOKEN con il valore del token di autenticazione visualizzato nell'output.

Service account

Segui questi passaggi per ottenere un token di autenticazione con un account di servizio:

  1. Prendi nota dell'endpoint dell'API che vuoi utilizzare.

  2. Configura il service account che vuoi utilizzare per accedere al servizio Vertex AI.

  3. Concedi al account di servizio il ruolo corrispondente elencato in Preparare le autorizzazioni IAM per consentirgli di accedere al servizio che vuoi utilizzare.

  4. Ottieni le coppie di chiavi di servizio del tuo service account.

  5. Installa la libreria client google-auth:

    pip install google-auth
    
  6. Aggiungi il seguente codice a uno script Python:

    import os
    import google.auth
    from google.auth.transport import requests
    import requests as reqs
    
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "PATH_TO_SERVICE_KEY"
    os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "CERT_NAME"
    
    # If you use a client library for your request,
    # you must include port :443 after the service endpoint
    # in the audience path.
    audience = "https://ENDPOINT"
    
    creds, project_id = google.auth.default()
    print(project_id)
    creds = creds.with_gdch_audience(audience)
    
    def test_get_token():
      sesh = reqs.Session()
      req = requests.Request(session=sesh)
      creds.refresh(req)
      print(creds.token)
    
    if __name__=="__main__":
      test_get_token()
    

    Sostituisci quanto segue:

    • PATH_TO_SERVICE_KEY: il percorso del file JSON contenente le coppie di chiavi del tuo account di servizio.
    • CERT_NAME: il nome del file del certificato dell'autorità di certificazione (CA), ad esempio org-1-trust-bundle-ca.cert. Questo valore è necessario solo se ti trovi in un ambiente di sviluppo. In caso contrario, omettilo.
    • ENDPOINT: l'endpoint del servizio che utilizzi per la tua organizzazione. Per ulteriori informazioni, consulta Stato del servizio ed endpoint. A seconda dell'uso previsto del token di autenticazione, potrebbe essere necessario includere la porta dopo l'endpoint del servizio nel percorso del destinatario come segue:

      • Se utilizzi una libreria client per la richiesta, devi includere la porta :443 dopo l'endpoint del servizio nel percorso del destinatario. Pertanto, il percorso audience nello script deve essere "https://ENDPOINT:443".
      • Se utilizzi gRPC, curl o chiamate REST programmatiche per la richiesta, non includere la porta. Pertanto, il audience percorso nello script deve essere "https://ENDPOINT".
  7. Salva lo script Python.

  8. Esegui lo script Python per recuperare il token:

    python SCRIPT_NAME
    

    Sostituisci SCRIPT_NAME con il nome che hai assegnato allo script Python, ad esempio token.py.

L'output mostra il token di autenticazione. Aggiungi il token all'intestazione delle richieste della riga di comando che effettui, come nel seguente esempio:

-H "Authorization: Bearer TOKEN"

Sostituisci TOKEN con il valore del token di autenticazione visualizzato nell'output.