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. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Cloud Video Intelligence API を有効にします。

    API を有効にする

  5. サービス アカウントを作成します。

    1. Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。

      [サービス アカウントの作成] に移動
    2. プロジェクトを選択します。
    3. [サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。

      [サービス アカウントの説明] フィールドに説明を入力します。例: Service account for quickstart

    4. [作成して続行] をクリックします。
    5. [完了] をクリックして、サービス アカウントの作成を完了します。

      ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。

  6. サービス アカウント キーを作成します。

    1. Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
    2. [キー] をクリックします。
    3. [鍵を追加]、[新しい鍵を作成] の順にクリックします。
    4. [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
    5. [閉じる] をクリックします。
  7. 環境変数 GOOGLE_APPLICATION_CREDENTIALS を、認証情報を含む JSON ファイルのパスに設定します。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定する必要があります。

  8. Google Cloud CLI をインストールします。
  9. gcloud CLI を初期化するには:

    gcloud init
  10. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  11. Google Cloud プロジェクトで課金が有効になっていることを確認します

  12. Cloud Video Intelligence API を有効にします。

    API を有効にする

  13. サービス アカウントを作成します。

    1. Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。

      [サービス アカウントの作成] に移動
    2. プロジェクトを選択します。
    3. [サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。

      [サービス アカウントの説明] フィールドに説明を入力します。例: Service account for quickstart

    4. [作成して続行] をクリックします。
    5. [完了] をクリックして、サービス アカウントの作成を完了します。

      ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。

  14. サービス アカウント キーを作成します。

    1. Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
    2. [キー] をクリックします。
    3. [鍵を追加]、[新しい鍵を作成] の順にクリックします。
    4. [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
    5. [閉じる] をクリックします。
  15. 環境変数 GOOGLE_APPLICATION_CREDENTIALS を、認証情報を含む JSON ファイルのパスに設定します。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定する必要があります。

  16. Google Cloud CLI をインストールします。
  17. gcloud CLI を初期化するには:

    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