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 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 Gruppen von Anwendungsoperatoren, die für die Einrichtung ihrer Anwendungs- und Entwicklungsumgebungen zur Aktivierung von KI-Funktionen verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Wenn Sie API-Anfragen authentifizieren und Dienstkonten konfigurieren möchten, fordern Sie die erforderlichen Berechtigungen von Ihrem Administrator an. Achten Sie außerdem darauf, dass Ihr Projekt für Vertex AI eingerichtet ist. 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.

IAM-Rollen anfordern

Wenden Sie sich an Ihren IAM-Projektadministrator, um die folgenden Rollen in Ihrem Projekt-Namespace anzufordern:

  • IAM-Projektadministrator (project-iam-admin): Dienstkonten erstellen und Rollenbindungen im Projekt-Namespace verwalten.
  • AI OCR Developer (ai-ocr-developer): Authentifiziert Anfragen an die OCR API.
  • AI Speech Developer (ai-speech-developer): Authentifiziert Anfragen an die Speech-to-Text API.
  • AI Texteinbettung Developer (ai-text-embedding-developer): Authentifiziert Anfragen an das Text-Embedding-Gecko-Modell.
  • AI Texteinbettung Multilingual Developer (ai-text-embedding-multilingual-developer): Authentifiziert Anfragen an das Text-Multilingual-Embedding-Modell.
  • AI Translation Developer (ai-translation-developer): Authentifiziert Anfragen an die Vertex AI Translation API.
  • Vertex AI Prediction User (vertex-ai-prediction-user): Authentifiziert Vorhersageanfragen an Online Prediction-Modelle.

Weitere Informationen zu diesen Rollen finden Sie unter IAM-Berechtigungen vorbereiten.

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 spezifische Informationen zu Ihrem Konto und den Berechtigungen, die es für den Zugriff auf Dienste und Ressourcen sowie für die Arbeit mit ihnen hat.

Es gibt zwei Möglichkeiten, die Authentifizierung einzurichten:

Mit Ihrem Nutzerkonto authentifizieren

Im Folgenden wird beschrieben, 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 mit dem Nutzerkonto, das Sie für die Interaktion mit der API verwenden, 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 ansehen.

    Je nach Verwendungszweck des Authentifizierungstokens müssen Sie den Port möglicherweise nach dem Dienstendpunkt im Zielgruppenpfad angeben:

    • Wenn Sie für Ihre Anfrage eine Clientbibliothek verwenden, müssen Sie den 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, 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

Im Folgenden wird beschrieben, 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, das Sie für den Zugriff auf den Vertex AI-Dienst oder das generative KI-Modell verwenden möchten.

  3. Weisen Sie dem Dienstkonto die entsprechende Rolle zu, die unter IAM-Berechtigungen vorbereiten aufgeführt ist, damit es auf den Dienst oder das Modell zugreifen kann, den bzw. das Sie verwenden möchten.

  4. Rufen Sie die Schlü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, wenn Sie sich in einer Entwicklungsumgebung befinden. Andernfalls lassen Sie es weg.
    • ENDPOINT: der API-Endpunkt, den Sie für Ihre Organisation verwenden. Weitere Informationen finden Sie unter Dienststatus und Endpunkte ansehen. Je nach Verwendungszweck des Authentifizierungstokens müssen Sie möglicherweise den Port nach dem Dienstendpunkt im Zielgruppenpfad so angeben:

      • Wenn Sie für Ihre Anfrage eine Clientbibliothek verwenden, müssen Sie den Port :443 nach dem Dienstendpunkt im Zielgruppenpfad angeben. Daher muss der Pfad audience im Skript "https://ENDPOINT:443" sein.
      • Wenn Sie gRPC, curl oder programmatische REST-Aufrufe für Ihre Anfrage verwenden, geben Sie den Port nicht an. Daher muss der Pfad audience im Skript "https://ENDPOINT" sein.
  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.