Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird beschrieben, wie Sie Aufrufe von Vertex AI-Diensten in Google Distributed Cloud (GDC) Air-Gap authentifizieren. Sie müssen die Token-Authentifizierung einrichten, um Ihre Anfragen an die Vertex AI API in Ihren Air-Gap-Anwendungen zu sichern. Bei diesem Vorgang werden Ihre API-Anfragen validiert, indem Ihre Identität angegeben und Ihre Interaktionen autorisiert werden.
Diese Seite richtet sich an Anwendungsentwickler in Anwendungsbetreibergruppen, die für die Einrichtung ihrer Anwendungs- und Entwicklungsumgebungen zur Aktivierung von KI-Funktionen verantwortlich sind. Weitere Informationen finden Sie unter Zielgruppen für die GDC-Dokumentation für Air-Gap-Umgebungen.
Aktualisieren Sie Ihren lokalen Trust Store, bevor Sie die Authentifizierung in Ihrer Entwicklungsumgebung einrichten.
Bei Vertex AI-Diensten authentifizieren
Die Interaktion mit Vertex AI-Diensten erfolgt über Authentifizierungstokens. Tokens sind digitale Objekte, mit denen Ihre Identität und Autorisierung überprüft werden, nachdem Sie gültige Anmeldedaten angegeben haben. Das Token enthält bestimmte Informationen zu Ihrem Konto und den Berechtigungen, die es für den Zugriff auf Dienste und Ressourcen und die Nutzung dieser Dienste und Ressourcen hat.
Es gibt zwei Möglichkeiten, die Authentifizierung einzurichten:
Gewähren Sie Ihrem Nutzerkonto die entsprechende Rolle, die unter IAM-Berechtigungen vorbereiten aufgeführt ist, um Zugriff auf den Vertex AI-Dienst oder das generative KI-Modell zu erhalten, das Sie verwenden möchten.
Melden Sie sich in Distributed Cloud mit dem Nutzerkonto an, mit dem Sie mit der API interagieren müssen:
Ersetzen Sie ENDPOINT durch den API-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen
Je nach Verwendungszweck des Authentifizierungstokens müssen Sie möglicherweise den Port nach dem Dienstendpunkt im Zielgruppenpfad angeben:
Wenn Sie eine Clientbibliothek für Ihre Anfrage verwenden, müssen Sie Port :443 nach dem Dienstendpunkt im Zielgruppenpfad angeben. Daher muss der Pfad --audiences im Befehl https://ENDPOINT:443 lauten.
Wenn Sie gRPC, curl oder programmatische REST-Aufrufe für Ihre Anfrage verwenden, lassen Sie den Port weg. Daher muss der Pfad --audiences im Befehl https://ENDPOINT lauten.
In der Ausgabe wird das Authentifizierungstoken angezeigt. Fügen Sie das Token dem Header der Befehlszeilenanfragen hinzu, die Sie stellen, wie im folgenden Beispiel:
-H"Authorization: Bearer TOKEN"
Ersetzen Sie TOKEN durch den Wert für das Authentifizierungstoken, der in der Ausgabe angezeigt wird.
Mit Ihrem Dienstkonto authentifizieren
In den folgenden Anleitungen erfahren Sie, wie Sie ein Authentifizierungstoken für Ihr Dienstkonto abrufen:
Weisen Sie dem Dienstkonto die entsprechende Rolle zu, die unter IAM-Berechtigungen vorbereiten aufgeführt ist, damit es Zugriff auf den Dienst oder das Modell erhält, das Sie verwenden möchten.
Ersetzen Sie PATH_TO_SERVICE_KEY durch den Pfad zur JSON-Datei, die die Schlüsselpaare Ihres Dienstkontos enthält.
Installieren Sie die google-auth-Clientbibliothek:
pipinstallgoogle-auth
Fügen Sie einem Python-Skript den folgenden Code hinzu:
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()
Ersetzen Sie Folgendes:
PATH_TO_SERVICE_KEY: der Pfad zur JSON-Datei, die die Schlüsselpaare Ihres Dienstkontos enthält.
CERT_NAME: der Name der Zertifikatsdatei der Zertifizierungsstelle (Certificate Authority, CA), z. B. org-1-trust-bundle-ca.cert. Sie benötigen diesen Wert nur in einer Entwicklungsumgebung. Andernfalls lassen Sie es weg.
ENDPOINT: der API-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen Je nach Verwendungszweck des Authentifizierungstokens müssen Sie möglicherweise den Port nach dem Dienstendpunkt im Zielgruppenpfad angeben:
Wenn Sie eine Clientbibliothek für Ihre Anfrage verwenden, müssen Sie Port :443 nach dem Dienstendpunkt im Zielgruppenpfad angeben. Daher muss der Pfad audience im Skript "https://ENDPOINT:443" lauten.
Wenn Sie gRPC, curl oder programmatische REST-Aufrufe für Ihre Anfrage verwenden, lassen Sie den Port weg. Daher muss der Pfad audience im Skript "https://ENDPOINT" lauten.
Speichern Sie das Python-Skript.
Führen Sie das Python-Skript aus, um das Token abzurufen:
pythonSCRIPT_NAME
Ersetzen Sie SCRIPT_NAME durch den Namen, den Sie Ihrem Python-Skript gegeben haben, z. B. token.py.
In der Ausgabe wird das Authentifizierungstoken angezeigt. Fügen Sie das Token dem Header der Befehlszeilenanfragen hinzu, die Sie stellen, wie im folgenden Beispiel:
-H"Authorization: Bearer TOKEN"
Ersetzen Sie TOKEN durch den Wert für das Authentifizierungstoken, der in der Ausgabe angezeigt wird.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-04 (UTC)."],[[["\u003cp\u003eThis guide details the process of obtaining authentication tokens for accessing Vertex AI APIs on Google Distributed Cloud (GDC) air-gapped.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication can be performed using either a user account or a service account, each with its own distinct set of steps.\u003c/p\u003e\n"],["\u003cp\u003eTo obtain a user account token, you must log in to Distributed Cloud and run a command that includes the relevant service endpoint.\u003c/p\u003e\n"],["\u003cp\u003eTo obtain a service account token, you'll use a python script that sets the relevant environmental variables and uses the \u003ccode\u003egoogle-auth\u003c/code\u003e client library, referencing the service key and relevant endpoint.\u003c/p\u003e\n"],["\u003cp\u003eThe obtained authentication token is then added to the header of your API requests as an authorization bearer token.\u003c/p\u003e\n"]]],[],null,["# Authenticate Vertex AI API requests\n\nThis page describes how to authenticate calls to Vertex AI services on Google Distributed Cloud (GDC) air-gapped. You must set up token authentication to secure your requests to the Vertex AI API within your air-gapped applications. This process validates your API requests by providing your identity and authorizing your interactions.\n\n\u003cbr /\u003e\n\nThis page is for application developers within application operator groups responsible for setting up their application and development environments to enable AI features. For more information, see [Audiences for GDC air-gapped documentation](/distributed-cloud/hosted/docs/latest/gdch/resources/audiences).\n\nBefore you begin\n----------------\n\nYou must have your project set up for Vertex AI. For more information, see [Set up a project for Vertex AI](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vertex-ai-set-up-project).\n\n- Make sure to update your local trust store before you set up authentication in your development environment.\n\nAuthenticating to Vertex AI services\n------------------------------------\n\nInteractions with Vertex AI services are done through authentication tokens. Tokens are digital objects that verify your identity and authorization after you provide valid credentials. The token carries specific information about your account and the permissions it has to access and operate with services and resources.\n\nThere are two ways you can set up authentication:\n\n- [Authenticate with your user account](#authenticate-with-user-account)\n- [Authenticate with your service account](#authenticate-with-service-account)\n\n### Authenticate with your user account\n\nThe following guides you through getting an authentication token for your user account:\n\n1. Note [the endpoint of the API](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vertex-ai-api-status) you want to use.\n\n2. Gain access to the Vertex AI service or Generative AI model you want to use by granting your user account the corresponding role listed in [Prepare IAM permissions](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vertex-ai-ao-permissions).\n\n3. Sign in to Distributed Cloud 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 API endpoint that you use for your organization. For more information, [view service status and endpoints](/distributed-cloud/hosted/docs/latest/gdch/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/gdch/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\n The 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\n Replace \u003cvar translate=\"no\"\u003eTOKEN\u003c/var\u003e with the value for the authentication token that the output displays.\n\n### Authenticate with your service account\n\nThe following guides you through getting an authentication token for your service account:\n\n1. Note [the endpoint of the API](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vertex-ai-api-status) you want to use.\n\n2. [Set up the service account](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vertex-ai-set-up-project#set-up-service) you want to use to access the Vertex AI service or Generative AI model.\n\n3. Grant the service account the corresponding role listed in [Prepare IAM permissions](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vertex-ai-ao-permissions) to let it gain access to the service or model you want to use.\n\n4. [Get the service key pairs of your service account](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/iam/service-identities#list_credentials_for_service_accounts).\n\n5. Set the following environment variable:\n\n export GOOGLE_APPLICATION_CREDENTIALS=\u003cvar translate=\"no\"\u003ePATH_TO_SERVICE_KEY\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003ePATH_TO_SERVICE_KEY\u003c/var\u003e with the path to the JSON\n file that contains the key pairs of your service account.\n6. Install the `google-auth` client library:\n\n pip install google-auth\n\n7. 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 API endpoint that you use for your organization. For more information, [view service status and endpoints](/distributed-cloud/hosted/docs/latest/gdch/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/gdch/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`\"`.\n8. Save the Python script.\n\n9. 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\n The 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\n Replace \u003cvar translate=\"no\"\u003eTOKEN\u003c/var\u003e with the value for the authentication token that the output displays."]]