Vertex AI API-Anfragen authentifizieren

Auf dieser Seite wird beschrieben, wie Sie Aufrufe an Vertex AI-Dienste in Google Distributed Cloud (GDC) mit Air Gap authentifizieren. Sie müssen die Tokenauthentifizierung einrichten, um Ihre Anfragen an die Vertex AI API in Ihren Anwendungen mit Air Gap zu schützen. Bei diesem Vorgang werden Ihre API-Anfragen validiert, indem Sie Ihre Identität angeben und Ihre Interaktionen autorisieren.

Diese Seite richtet sich an Anwendungsentwickler in Anwendungsoperatorgruppen, die für die Einrichtung ihrer Anwendungs- und Entwicklungsumgebungen verantwortlich sind, um KI-Funktionen zu aktivieren. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Ihr Projekt muss für Vertex AI eingerichtet sein. Weitere Informationen finden Sie unter Projekt für Vertex AI einrichten.

  • Aktualisieren Sie Ihren lokalen Trust Store, bevor Sie die Authentifizierung in Ihrer Entwicklungsumgebung einrichten.

Bei Vertex AI-Diensten authentifizieren

Interaktionen mit Vertex AI-Diensten erfolgen über Authentifizierungstokens. Tokens sind digitale Objekte, die Ihre Identität und Autorisierung bestätigen, 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 und die Verwendung von Diensten und Ressourcen hat.

Es gibt zwei Möglichkeiten, die Authentifizierung einzurichten:

Mit Ihrem Nutzerkonto authentifizieren

Die folgende Anleitung führt Sie durch das Abrufen eines Authentifizierungstokens für Ihr Nutzerkonto:

  1. Notieren Sie sich den Endpunkt der API, die Sie verwenden möchten.

  2. 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.

  3. Melden Sie sich mit dem Nutzerkonto, mit dem Sie mit der API interagieren müssen, in Distributed Cloud an:

    gdcloud auth login
    
  4. Rufen Sie das Authentifizierungstoken ab:

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

    Ersetzen Sie ENDPOINT durch den API-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte.

    Je nach beabsichtigter Verwendung des Authentifizierungstokens müssen Sie möglicherweise den Port nach dem Dienstendpunkt im Pfad der Zielgruppen angeben:

    • Wenn Sie eine Clientbibliothek für Ihre Anfrage verwenden, müssen Sie den Port :443 nach dem Dienstendpunkt im Pfad der Zielgruppen angeben. Daher muss der --audiences Pfad im Befehl https://ENDPOINT:443 lauten.
    • Wenn Sie gRPC, curl oder programmatische REST-Aufrufe für Ihre Anfrage verwenden, geben Sie den Port nicht an. 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, das in der Ausgabe angezeigt wird.

Mit Ihrem Dienstkonto authentifizieren

Die folgende Anleitung führt Sie durch das Abrufen eines Authentifizierungstokens für Ihr Dienstkonto:

  1. Notieren Sie sich den Endpunkt der API, die Sie verwenden möchten.

  2. Richten Sie das Dienstkonto ein, mit dem Sie auf den Vertex AI-Dienst oder das generative KI-Modell zugreifen möchten.

  3. Gewähren Sie dem Dienstkonto die entsprechende Rolle, die unter IAM-Berechtigungen vorbereiten aufgeführt ist, damit es Zugriff auf den Dienst oder das Modell erhält, das Sie verwenden möchten.

  4. Rufen Sie die Serviceschlüsselpaare Ihres Dienstkontos ab.

  5. Legen Sie die folgende Umgebungsvariable fest:

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_KEY
    

    Ersetzen Sie PATH_TO_SERVICE_KEY durch den Pfad zur JSON-Datei, die die Schlüsselpaare Ihres Dienstkontos enthält.

  6. Installieren Sie die Clientbibliothek google-auth:

    pip install google-auth
    
  7. Fügen Sie einem Python-Skript den folgenden Code hinzu:

    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()
    

    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. Dieser Wert ist nur in einer Entwicklungsumgebung erforderlich. Andernfalls lassen Sie ihn weg.
    • ENDPOINT: der API-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte. Je nach beabsichtigter Verwendung des Authentifizierungstokens müssen Sie möglicherweise den Port nach dem Dienstendpunkt im Pfad der Zielgruppe angeben:

      • Wenn Sie eine Clientbibliothek für Ihre Anfrage verwenden, müssen Sie den Port :443 nach dem Dienstendpunkt im Pfad der Zielgruppe angeben. Daher muss der audience Pfad im Skript "https://ENDPOINT:443" lauten.
      • Wenn Sie gRPC, curl oder programmatische REST-Aufrufe für Ihre Anfrage verwenden, geben Sie den Port nicht an. Daher muss der audience Pfad im Skript "https://ENDPOINT" lauten.
  8. Speichern Sie das Python-Skript.

  9. Führen Sie das Python-Skript aus, um das Token abzurufen:

      python SCRIPT_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, das in der Ausgabe angezeigt wird.