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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. Cloud Video Intelligence API aktivieren.

    Aktivieren Sie die API

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Project > Owner role to the service account.

      To grant the role, find the Select a role list, then select Project > Owner.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  6. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  12. Cloud Video Intelligence API aktivieren.

    Aktivieren Sie die API

  13. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Project > Owner role to the service account.

      To grant the role, find the Select a role list, then select Project > Owner.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  14. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  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