Video Intelligence API に対する認証

このページでは、サービス アカウントの概要、サービス アカウントを作成して Video Intelligence API へのリクエストを認証する方法、サービス アカウントを使用してアプリケーションのデフォルト認証情報を設定する方法について説明します。

アプリケーション コードで Video Intelligence API を使用するには、アプリケーションがサービスに対してIDの認証を受けタスクを実行するための認可を得られるよう、適切な認証情報を設定する必要があります(これらの認証情報関連のメカニズムは、認証スキームと呼ばれます)。(こうした認証情報に関連するメカニズムを「認証方式」と呼びます)。

Google Cloud API の認証と認可(通常は「auth」としてグループ化)は通常、サービス アカウントを使用して行われます。サービス アカウントを使用すると、アプリケーションの認証情報をコードで Video Intelligence API に直接送信できます。サービス アカウントは、ユーザー アカウントと同様に、メールアドレスで示されます。ユーザー アカウントとは異なり、サービス アカウントはアプリケーションにのみ関連付けられます。

API の有効化

認証する前に、まず Video Intelligence API を有効にする必要があります。

  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. 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. 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

Google Cloud コンソールでサービス アカウントを作成する

Google Cloud コンソールを使用してサービス アカウントを作成するには、以下の手順に従います。

  1. Google Cloud コンソールの [認証情報] ページで、[認証情報の作成] > [サービス アカウント キー] を選択します。

  2. [サービス アカウント] で [新しいサービス アカウント] を選択します。

  3. [サービス アカウント名] ボックスに、サービス アカウントの名前を入力します。この名前はサービス アカウント ID(生成されたサービス アカウント ID アドレスの「@」の左側)のデフォルト名として使用されますが、変更もできます。名前は何でも構いません。重要なのは、その名前を覚えておくことです。

  4. ほとんどの新しいプロジェクトでは、[キーのタイプ] で [JSON] を選択します。

  5. [作成] をクリックします。

Google Cloud コンソールで JSON キー(.json テキスト ファイルとして)が生成され、ファイルをパソコンにダウンロードするように指示され、[サービス アカウントが作成されました] ダイアログ ボックスが表示されます。

生成された JSON キーは次のサンプルのようになっています。

{
  "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"
}

この JSON ファイルには秘密鍵が含まれているため、安全な場所に保管してください(このファイルはその唯一のコピーです)。Video Intelligence API にアノテーション リクエストを送信する際には、コード内でこのサービス アカウント キーファイルを参照する必要があります。

アプリケーションのデフォルト認証情報による認証

アプリケーションで Video Intelligence API への認証を取得する最も簡単な方法は、アプリケーションのデフォルト認証情報(ADC)を使用することです。ADC を使用するサービスは、最初に GOOGLE_APPLICATION_CREDENTIALS 環境変数で認証情報を検索します。他の認証情報(ユーザー認証情報など)を使用する必要がない限り、サービス アカウントキーファイル(サービス アカウントキーのダウンロード時にダウンロードした.jsonファイル)を指すように設定します。

$ export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SERVICE_ACCOUNT_FILE