Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Vertex AI sull'appliance con air gap di Google Distributed Cloud (GDC) 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 stati scambiati correttamente con il token. Il token contiene
informazioni sull'identità dell'account richiedente e sull'accesso specifico
che è autorizzato ad avere.
Questa pagina descrive come autenticarsi 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 tue richieste API.
Scegli una delle seguenti opzioni per ottenere un token di autenticazione:
Account utente
Per ottenere un token di autenticazione con le autorizzazioni utente:
A seconda dell'utilizzo previsto del token di autenticazione, potrebbe essere necessario includere la porta dopo l'endpoint del servizio nel percorso dei segmenti di pubblico nel seguente modo:
Se utilizzi una libreria client per la tua richiesta, devi includere la porta :443 dopo l'endpoint del servizio nel percorso dei segmenti di pubblico. Pertanto, il percorso --audiences nel comando deve essere https://ENDPOINT:443.
Se utilizzi gRPC, curl o chiamate REST programmatiche per la tua 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:
Concedi al account di servizio il ruolo corrispondente elencato in Prepara le autorizzazioni IAM per consentirgli di accedere al servizio che vuoi utilizzare.
importosimportgoogle.authfromgoogle.auth.transportimportrequestsimportrequestsasreqsos.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)deftest_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 saperne di più, visualizza lo stato del servizio e gli endpoint. A seconda dell'utilizzo previsto del token di autenticazione, potrebbe essere necessario includere la porta dopo l'endpoint del servizio nel percorso del pubblico nel seguente modo:
Se utilizzi una libreria client per la tua richiesta, devi includere la porta :443 dopo l'endpoint del servizio nel percorso del segmento di pubblico. Pertanto, il percorso audience nello script deve essere "https://ENDPOINT:443".
Se utilizzi gRPC, curl o chiamate REST programmatiche per la tua richiesta, non includere la porta. Pertanto, il percorso audience nello script deve essere "https://ENDPOINT".
Salva lo script Python.
Esegui lo script Python per recuperare il token:
pythonSCRIPT_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.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[],[],null,["# Authenticate API requests\n\nVertex AI on Google Distributed Cloud (GDC) air-gapped appliance provides APIs\nand services that require authentication. Authentication is how you prove your\nidentity to access services by using tokens.\n\nTokens are digital objects that verify a caller provided proper credentials and\nthat they have been successfully exchanged for the token. The token carries\ninformation about the identity of the requesting account and the specific access\nit is authorized to have.\n\nThis page describes how to authenticate to Vertex AI APIs\nprogrammatically. Depending on whether you access the Vertex AI\nAPIs as a user or with a service account, this page describes the steps to get\nan authentication token for your API requests.\n\nChoose one of the following options to get an authentication token: \n\n### User account\n\nFollow these steps to get an authentication token with user permissions:\n\n1. Note [the endpoint of the API](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-api-status) you want to use.\n\n2. Gain access to the Vertex AI service you want to use by granting your user account the corresponding role listed in [Prepare IAM permissions](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-ao-permissions).\n\n3. Sign in to GDC air-gapped appliance with the user account you have to interact with the API:\n\n gdcloud auth login\n\n4. Get the authentication token:\n\n gdcloud auth print-identity-token --audiences=https://\u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e with the service endpoint that you use for your organization. For more information, [view service status and endpoints](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-api-status).\n\n Depending on the intended use of the authentication token, you might need to include the port after the service endpoint in the audiences path as follows:\n - If you use a [client library](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-install-libraries) for your request, you must include port `:443` after the service endpoint in the audiences path. Therefore, the `--audiences` path in the command must be `https://`\u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e`:443`.\n - If you use gRPC, `curl`, or programmatic REST calls for your request, don't include the port. Therefore, the `--audiences` path in the command must be `https://`\u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e.\n\nThe output displays the authentication token. Add the token to the header of the command-line requests you make, as in the following example: \n\n -H \"Authorization: Bearer \u003cvar translate=\"no\"\u003eTOKEN\u003c/var\u003e\"\n\nReplace \u003cvar translate=\"no\"\u003eTOKEN\u003c/var\u003e with the value for the authentication token that the output displays.\n\n### Service account\n\nFollow these steps to get an authentication token with a service account:\n\n1. Note [the endpoint of the API](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-api-status) you want to use.\n\n2. [Set up the service account](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-set-up-project#set-up-service) you want to use to access the Vertex AI service.\n\n3. Grant the service account the corresponding role listed in [Prepare IAM permissions](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-ao-permissions) to let it gain access to the service you want to use.\n\n4. [Get the service key pairs of your service account](/distributed-cloud/hosted/docs/latest/appliance/platform/pa-user/iam/service-identity#create_and_add_key_pairs).\n\n5. Install the `google-auth` client library:\n\n pip install google-auth\n\n6. Add the following code to a Python script:\n\n import os\n import google.auth\n from google.auth.transport import requests\n import requests as reqs\n\n os.environ[\"GOOGLE_APPLICATION_CREDENTIALS\"] = \"\u003cvar translate=\"no\"\u003ePATH_TO_SERVICE_KEY\u003c/var\u003e\"\n os.environ[\"GRPC_DEFAULT_SSL_ROOTS_FILE_PATH\"] = \"\u003cvar translate=\"no\"\u003eCERT_NAME\u003c/var\u003e\"\n\n # If you use a client library for your request,\n # you must include port :443 after the service endpoint\n # in the audience path.\n audience = \"https://\u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e\"\n\n creds, project_id = google.auth.default()\n print(project_id)\n creds = creds.with_gdch_audience(audience)\n\n def test_get_token():\n sesh = reqs.Session()\n req = requests.Request(session=sesh)\n creds.refresh(req)\n print(creds.token)\n\n if __name__==\"__main__\":\n test_get_token()\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003ePATH_TO_SERVICE_KEY\u003c/var\u003e: the path to the JSON file that contains the key pairs of your service account.\n - \u003cvar translate=\"no\"\u003eCERT_NAME\u003c/var\u003e: the name of the Certificate Authority (CA) certificate file, such as `org-1-trust-bundle-ca.cert`. You only need this value if you are in a development environment. Otherwise, omit it.\n - \u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e: the service endpoint that you use for your organization. For more information, [view service status and endpoints](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-api-status). Depending on the intended use of the authentication token, you might need to include the port after the service endpoint in the audience path as follows:\n\n - If you use a [client library](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vertex-ai-install-libraries) for your request, you must include port `:443` after the service endpoint in the audience path. Therefore, the `audience` path in the script must be `\"https://`\u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e`:443\"`.\n - If you use gRPC, `curl`, or programmatic REST calls for your request, don't include the port. Therefore, the `audience` path in the script must be `\"https://`\u003cvar translate=\"no\"\u003eENDPOINT\u003c/var\u003e`\"`.\n7. Save the Python script.\n\n8. Run the Python script to fetch the token:\n\n python \u003cvar translate=\"no\"\u003eSCRIPT_NAME\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eSCRIPT_NAME\u003c/var\u003e with the name you gave to your Python script, such as `token.py`.\n\nThe output displays the authentication token. Add the token to the header of the command-line requests you make, as in the following example: \n\n -H \"Authorization: Bearer \u003cvar translate=\"no\"\u003eTOKEN\u003c/var\u003e\"\n\nReplace \u003cvar translate=\"no\"\u003eTOKEN\u003c/var\u003e with the value for the authentication token that the output displays."]]