Authentifizierung bei der Video Intelligence API

Auf dieser Seite wird beschrieben, was ein Dienstkonto ist, wie Sie ein Dienstkonto zur Authentifizierung von Anfragen an die Video Intelligence API erstellen und wie Sie Ihr Dienstkonto zum Festlegen einer Anfrage verwenden. Standardanmeldedaten für Anwendungen.

Damit Ihr Anwendungscode die Video Intelligence API verwenden kann, müssen Sie die korrekten Anmeldedaten für Ihre Anwendung einrichten, um ihre Identität für den Dienst zu authentifizieren und sie zum Ausführen von Aufgaben zu autorisieren. (Diese auf Anmeldedaten bezogenen Mechanismen werden Auth-Schemas genannt.)

Die Google Cloud API-Authentifizierung und -Autorisierung (normalerweise als "auth" gruppiert) erfolgt in der Regel über ein Dienstkonto. Mit einem Dienstkonto kann Ihr Code Anmeldedaten für Anwendungen direkt an die Video Intelligence API senden. Ein Dienstkonto wird, wie ein Nutzerkonto, durch eine E-Mail-Adresse dargestellt. Im Gegensatz zu einem Nutzerkonto ist ein Dienstkonto nur einer Anwendung zugeordnet.

API aktivieren

Vor der Authentifizierung müssen Sie die Video Intelligence API aktivieren.

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Video Intelligence API aktivieren.

    Aktivieren Sie die API

  5. Erstellen Sie ein Dienstkonto:

    1. Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.

      Zur Seite „Dienstkonto erstellen“
    2. Wählen Sie Ihr Projekt aus.
    3. Geben Sie im Feld Dienstkontoname einen Namen ein. Die Google Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.

      Geben Sie im Feld Dienstkontobeschreibung eine Beschreibung ein. Beispiel: Service account for quickstart.

    4. Klicken Sie auf Erstellen und fortfahren.
    5. Weisen Sie dem Dienstkonto die Rolle Project > Owner zu.

      Wenn Sie die Rolle zuweisen möchten, suchen Sie die Liste Rolle auswählen und wählen Sie Project > Owner aus.

    6. Klicken Sie auf Weiter.
    7. Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.

      Schließen Sie das Browserfenster nicht. Sie verwenden es in der nächsten Aufgabe.

  6. Erstellen Sie einen Dienstkontoschlüssel:

    1. Klicken Sie in der Google Cloud Console auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
    2. Klicken Sie auf Schlüssel.
    3. Klicken Sie auf Schlüssel hinzufügen und dann auf Neuen Schlüssel erstellen.
    4. Klicken Sie auf Erstellen. Daraufhin wird eine JSON-Schlüsseldatei auf Ihren Computer heruntergeladen.
    5. Klicken Sie auf Schließen.
  7. Legen Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS auf den Pfad der JSON-Datei fest, die Ihre Anmeldedaten enthält. Diese Variable gilt nur für Ihre aktuelle Shell-Sitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable neu festlegen.

  8. Installieren Sie die Google Cloud CLI.
  9. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  10. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  11. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  12. Cloud Video Intelligence API aktivieren.

    Aktivieren Sie die API

  13. Erstellen Sie ein Dienstkonto:

    1. Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.

      Zur Seite „Dienstkonto erstellen“
    2. Wählen Sie Ihr Projekt aus.
    3. Geben Sie im Feld Dienstkontoname einen Namen ein. Die Google Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.

      Geben Sie im Feld Dienstkontobeschreibung eine Beschreibung ein. Beispiel: Service account for quickstart.

    4. Klicken Sie auf Erstellen und fortfahren.
    5. Weisen Sie dem Dienstkonto die Rolle Project > Owner zu.

      Wenn Sie die Rolle zuweisen möchten, suchen Sie die Liste Rolle auswählen und wählen Sie Project > Owner aus.

    6. Klicken Sie auf Weiter.
    7. Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.

      Schließen Sie das Browserfenster nicht. Sie verwenden es in der nächsten Aufgabe.

  14. Erstellen Sie einen Dienstkontoschlüssel:

    1. Klicken Sie in der Google Cloud Console auf die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
    2. Klicken Sie auf Schlüssel.
    3. Klicken Sie auf Schlüssel hinzufügen und dann auf Neuen Schlüssel erstellen.
    4. Klicken Sie auf Erstellen. Daraufhin wird eine JSON-Schlüsseldatei auf Ihren Computer heruntergeladen.
    5. Klicken Sie auf Schließen.
  15. Legen Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS auf den Pfad der JSON-Datei fest, die Ihre Anmeldedaten enthält. Diese Variable gilt nur für Ihre aktuelle Shell-Sitzung. Wenn Sie eine neue Sitzung öffnen, müssen Sie die Variable neu festlegen.

  16. Installieren Sie die Google Cloud CLI.
  17. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init

Dienstkonto in der Cloud Console erstellen

So erstellen Sie ein Dienstkonto mit der Google Cloud Console:

  1. Wählen Sie auf der Seite Anmeldedaten der Cloud Console die Option Anmeldedaten erstellen aus.

  2. Wählen Sie als Nächstes unter Dienstkonto die Option Neues Dienstkonto aus.

  3. Geben Sie im Feld Name des Dienstkontos einen Namen für das Dienstkonto ein. Dieser Name wird als Standardname für Ihre Dienstkonto-ID (links von "@" in der generierten Dienstkonto-ID-Adresse) verwendet. Sie können diese Dienstkonto-ID jedoch ändern. Diese Namen sind willkürlich gewählt, aber ist es wichtig, dass Sie sich daran erinnern.

  4. Wählen Sie unter Schlüsseltyp für die meisten neuen Projekte JSON aus.

  5. Klicken Sie auf Erstellen.

Die Cloud Console generiert dann einen JSON-Schlüssel (als .json-Textdatei), fordert Sie zum Herunterladen der Datei auf Ihren Computer auf und zeigt das Dialogfeld Dienstkonto erstellt an.

Der generierte JSON-Schlüssel sollte ähnlich aussehen wie der folgende JSON-Beispielschlüssel:

{
  "type": "service_account",
  "project_id": "PROJECT_ID",
  "private_key_id": "SOME_NUMBER",
  "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n",
  "client_email": "SERVICE_ACCOUNT_EMAIL",
  "client_id": "...",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL"
}

Bewahren Sie die JSON-Datei sicher auf, da sie Ihren privaten Schlüssel enthält (und diese Datei ist die einzige Kopie dieses Schlüssels). Sie müssen in Ihrem Code auf diese Dienstkonto-Schlüsseldatei verweisen, wenn Sie Annotationsanfragen an die Video Intelligence API senden.

Mit Standardanmeldedaten für Anwendungen authentifizieren

Die einfachste Möglichkeit für Anwendungen, sich bei der Video Intelligence API zu authentifizieren, ist die Verwendung von Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC). Dienste, die ADC verwenden, suchen zuerst nach Anmeldedaten in einer GOOGLE_APPLICATION_CREDENTIALS-Umgebungsvariablen. Sofern Sie nicht ausdrücklich verlangen, dass ADC andere Anmeldedaten (zum Beispiel Nutzeranmeldedaten) verwendet, sollten Sie diese Umgebungsvariable so festlegen, dass sie auf Ihre Dienstkonto-Schlüsseldatei verweist. Dies ist die .json-Datei, die Sie bei der Erstellung eines Dienstkontoschlüssels heruntergeladen haben.

$ export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_ACCOUNT_FILE