Cloud Vision API に対する認証

サービス アカウントの使用

認証にはサービス アカウントを使用することを推奨します。Vision API に対する認証にサービス アカウントを使用する手順は、次のとおりです。

  1. 手順に沿ってサービス アカウントを作成します。キーのタイプとして JSON を選択します。

完了すると、ブラウザのデフォルトの場所にサービス アカウント キーがダウンロードされます。

次に、サービス アカウントの認証を署名なしトークンとして指定するか、アプリケーションのデフォルト認証情報として使用するかを決定します。

署名なしトークン

cURL で HTTP リクエストを行うなど、Vision API を直接呼び出す場合は、認証を署名なしトークンとして Authorization ヘッダーに入れて渡します。サービス アカウントを使用して署名なしトークンを取得する手順は次のとおりです。

  1. gcloud CLI をインストールします
  2. 以下のコマンドの KEY_FILE の部分をサービス アカウント キーファイルのパスに置き換えて、サービス アカウントに対する認証を行います。

    gcloud auth activate-service-account --key-file KEY_FILE
    
  3. サービス アカウントを使用して認証トークンを取得します。

    gcloud auth print-access-token
    

    このコマンドはアクセス トークンの値を返します。

  4. API を呼び出すときは、Authorization ヘッダーでサービス アカウントを使用して、認証トークンを取得します。

    curl -s -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json" \
    "https://vision.googleapis.com/v1/images:annotate" -d @request.json
    

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

クライアント ライブラリを使って Vision API を呼び出す場合は、アプリケーションのデフォルト認証情報(ADC)を使用します。ADC を使用するサービスは、GOOGLE_APPLICATION_CREDENTIALS 環境変数で認証情報を検索します。ADC で他の認証情報(ユーザーの認証情報など)を使用する場合を除いて、この環境変数はサービス アカウント キーファイルを指すよう設定することをおすすめします。

export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_KEY_FILE

PATH_TO_KEY_FILE の部分は、JSON サービス アカウント ファイルのパスに置き換えます。GOOGLE_APPLICATION_CREDENTIALS はそのまま入力してください(プレースホルダではありません)。

API キーの使用

Google Cloud Console の API キーを使用して Vision API に対する認証を行うことができます。

手順は次のとおりです。

  1. 手順に沿って Google Cloud Console プロジェクトの API キーを作成します。

  2. Vision API リクエストを行う場合は、作成したキーを key パラメータの値として渡します。例:

    POST https://vision.googleapis.com/v1/images:annotate?key=YOUR_API_KEY
    

API キーの不正使用を防止するため、API キーを安全に使用するためのおすすめの方法を必ずお読みください。