Bei Cloud Translation authentifizieren

In diesem Dokument wird die programmatische Authentifizierung bei Cloud Translation beschrieben. Wie Sie sich bei Cloud Translation authentifizieren, hängt von der Schnittstelle ab, die Sie für den Zugriff auf die API verwenden, und von der Umgebung, in der Ihr Code ausgeführt wird.

Weitere Informationen zur Google Cloud-Authentifizierung finden Sie unter Authentifizierung.

API-Zugriff

Cloud Translation unterstützt den programmatischen Zugriff. Sie haben folgende Möglichkeiten, um auf die API zuzugreifen:

Clientbibliotheken

Die Cloud Translation Advanced-Clientbibliotheken bieten allgemeine Sprachunterstützung für die programmatische Authentifizierung bei Cloud Translation. Zur Authentifizierung von Aufrufen an Google Cloud APIs unterstützen Clientbibliotheken Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC). Die Bibliotheken suchen nach Anmeldedaten an einer Reihe von definierten Standorten und verwenden diese Anmeldedaten, um Anfragen an die API zu authentifizieren. Mit ADC können Sie Anmeldedaten für Ihre Anwendung in verschiedenen Umgebungen bereitstellen, z. B. in der lokalen Entwicklung oder Produktion, ohne den Anwendungscode ändern zu müssen.

REST

Sie können sich bei Cloud Translation API mithilfe Ihrer gcloud CLI-Anmeldedaten authentifizieren oder mithilfe der Standardanmeldedaten für Anwendungen. Weitere Informationen zur Authentifizierung für REST-Anfragen finden Sie unter Für die Verwendung von REST authentifizieren. Informationen zu den Arten von Anmeldedaten finden Sie unter gcloud CLI-Anmeldedaten und ADC-Anmeldedaten.

API-Schlüssel

API-Schlüssel ermöglichen es, einem Projekt einen API-Aufruf zuzuordnen. Dieser wird für Abrechnungs- und Kontingentzwecke verwendet, ohne die Identität des Aufrufers zu bestimmen. API-Schlüssel können nur mit API-Methoden verwendet werden, die API-Schlüssel unterstützen.

Cloud Translation unterstützt API-Schlüssel für die folgenden API-Methoden:

  • Alle Methoden für die Cloud Translation Basic API (v2) unterstützen API-Schlüssel wie translate und detect. Die Cloud Translation Advanced API (v3) unterstützt keine API-Schlüssel.

Allgemeine Informationen zur Verwendung von API-Schlüsseln finden Sie unter Mit API-Schlüsseln authentifizieren.

Nutzeranmeldedaten und ADC für Cloud Translation

Eine Möglichkeit, Anmeldedaten für ADC bereitzustellen, ist die Verwendung der gcloud CLI, um Ihre Nutzeranmeldedaten in eine Datei mit Anmeldedaten einzufügen. Diese Datei wird auf Ihrem lokalen Dateisystem abgelegt, wo ADC sie finden kann. ADC verwendet dann die bereitgestellten Nutzeranmeldedaten zur Authentifizierung von Anfragen. Diese Methode wird häufig für die lokale Entwicklung verwendet.

Wenn Sie diese Methode verwenden, kann bei der Authentifizierung bei Cloud Translation ein Authentifizierungsfehler auftreten. Weitere Informationen zu diesem Fehler und dessen Behebung finden Sie unter Nutzeranmeldedaten funktionieren nicht.

Authentifizierung für Cloud Translation einrichten

Wie Sie die Authentifizierung einrichten, hängt von der Umgebung ab, in der Ihr Code ausgeführt wird.

Am häufigsten werden folgende Optionen zum Einrichten der Authentifizierung verwendet. Weitere Optionen und Informationen zu Authentifizierung bei Google.

Bevor Sie diese Anleitung ausführen, müssen Sie die grundlegende Einrichtung für Cloud Translation abschließen, wie unter Cloud Translation einrichten beschrieben.

Für eine lokale Entwicklungsumgebung

Sie können Anmeldedaten für eine lokale Entwicklungsumgebung auf folgende Weise einrichten:

Clientbibliotheken oder Tools von Drittanbietern

Richten Sie Standardanmeldedaten für Anwendungen (ADC) für Ihre lokale Umgebung ein.

  1. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  2. Create local authentication credentials for your user account:

    gcloud auth application-default login

    Ein Anmeldebildschirm wird angezeigt. Nach der Anmeldung werden Ihre Anmeldedaten in der lokalen Anmeldedatendatei für ADC gespeichert.

Weitere Informationen zum Arbeiten mit ADC in einer lokalen Umgebung finden Sie unter Lokale Entwicklungsumgebung.

REST-Anfragen über die Befehlszeile

Wenn Sie eine REST-Anfrage über die Befehlszeile stellen, können Sie Ihre gcloud CLI-Anmeldedaten verwenden. Fügen Sie dazu gcloud auth print-access-token in den Befehl ein, der die Anfrage sendet.

Im folgenden Beispiel werden Dienstkonten für das angegebene Projekt aufgelistet. Sie können für jede REST-Anfrage das gleiche Muster verwenden.

Ersetzen Sie dabei folgende Werte für die Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud-Projekt-ID.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

 

Weitere Informationen zur Authentifizierung mit REST und gRPC finden Sie unter Für die Verwendung von REST authentifizieren. Informationen zum Unterschied zwischen Ihren lokalen ADC-Anmeldedaten und Ihren gcloud CLI-Anmeldedaten finden Sie unter gcloud CLI-Anmeldedaten und ADC-Anmeldedaten.

Innerhalb von Google Cloud

Zur Authentifizierung einer in Google Cloud ausgeführten Arbeitslast verwenden Sie die Anmeldedaten des an die Compute-Ressource, in der Ihr Code ausgeführt wird, angehängten Dienstkontos. Beispiel: Sie können ein Dienstkonto an eine Compute Engine-VM-Instanz, einen Cloud Run-Dienst oder einen Dataflow-Job anhängen. Dieser Ansatz ist die bevorzugte Authentifizierungsmethode für Code, der in einer Google Cloud-Computing-Ressource ausgeführt wird.

Bei den meisten Diensten müssen Sie das Dienstkonto beim Erstellen der Ressource, in der der Code ausgeführt wird, anhängen. Sie können das Dienstkonto nicht später hinzufügen oder ersetzen. Compute Engine ist eine Ausnahme. Mit Compute Engine können Sie jederzeit ein Dienstkonto an eine VM-Instanz anhängen.

Verwenden Sie die gcloud CLI, um ein Dienstkonto zu erstellen und an Ihre Ressource anzuhängen:

  1. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  2. Set up authentication:

    1. Create the service account:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Replace SERVICE_ACCOUNT_NAME with a name for the service account.

    2. To provide access to your project and your resources, grant a role to the service account:

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • ROLE: the role to grant
    3. To grant another role to the service account, run the command as you did in the previous step.
    4. Grant the required role to the principal that will attach the service account to other resources.

      gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

      Replace the following:

      • SERVICE_ACCOUNT_NAME: the name of the service account
      • PROJECT_ID: the project ID where you created the service account
      • USER_EMAIL: the email address for a Google Account
  3. Erstellen Sie die Ressource, in der der Code ausgeführt wird, und hängen Sie das Dienstkonto an diese Ressource an. Wenn Sie beispielsweise Compute Engine verwenden:

    Create a Compute Engine instance. Configure the instance as follows:
    • Replace INSTANCE_NAME with your preferred instance name.
    • Set the --zone flag to the zone in which you want to create your instance.
    • Set the --service-account flag to the email address for the service account that you created.
    gcloud compute instances create INSTANCE_NAME --zone=ZONE --service-account=SERVICE_ACCOUNT_EMAIL

Weitere Informationen zur Authentifizierung bei Google APIs finden Sie unter Authentifizierung bei Google.

Lokal oder bei einem anderen Cloud-Anbieter

Die bevorzugte Methode zum Einrichten der Authentifizierung außerhalb von Google Cloud ist die Verwendung der Identitätsföderation von Arbeitslasten. Weitere Informationen finden Sie in der Authentifizierungsdokumentation unter Lokal oder bei einem anderen Cloud-Anbieter.

Zugriffssteuerung für Cloud Translation

Nach der Authentifizierung bei Cloud Translation müssen Sie berechtigt sein, auf Google Cloud-Ressourcen zuzugreifen. Cloud Translation verwendet für die Autorisierung die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM).

Weitere Informationen zu den Rollen für Cloud Translation finden Sie unter Zugriffssteuerung mit IAM. Weitere Informationen zu IAM und Autorisierung finden Sie in der IAM-Übersicht.

Nächste Schritte