Vertex AI API-Anfragen authentifizieren

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.

Hinweise

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

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:

Mit Ihrem Nutzerkonto authentifizieren

Im Folgenden erfahren Sie, wie Sie ein Authentifizierungstoken für Ihr Nutzerkonto abrufen:

  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 in Distributed Cloud mit dem Nutzerkonto an, mit dem Sie mit der API interagieren müssen:

    gdcloud auth login
    
  4. Authentifizierungstoken abrufen:

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

    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:

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

  4. Rufen Sie die Dienstschlü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 google-auth-Clientbibliothek:

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