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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Video Intelligence API.

    Enable the 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. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    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. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Cloud Video Intelligence API.

    Enable the 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. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  16. Install the Google Cloud CLI.
  17. To initialize the gcloud CLI, run the following command:

    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