Video Intelligence API に対する認証

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

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

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

API の有効化

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

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  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