Cloud DLP API に対する認証

Cloud DLP API を使用する前に認証を行う必要があります。Cloud DLP API は API キーと認証の両方に対応しています。主な違いは次のとおりです。

  • API キーは、API を呼び出している、呼び出し元のプロジェクト(アプリまたはサイト)を識別します。
  • 認証トークンは、プロジェクトを使用しているユーザー(個人)を識別します。

未認証アクセスに API キーを使用する

いくつかのメソッドでは、Google Cloud Console の API キーで Cloud DLP API の認証を行うことができます。たとえば、すべての projects.content.* メソッドや projects.image.* メソッドでこの方法を使用できます。

  1. 手順に沿って Google Cloud Console プロジェクトの API キーを作成します。
  2. Cloud DLP API リクエストを送信するときに、作成したキーを key パラメータの値として渡します。例:
    curl https://dlp.googleapis.com/v2/infoTypes?key=[YOUR_API_KEY]

API キーは、未承認の使用から保護する必要があります。方法については、API キーを安全に使用するためのベスト プラクティスをご覧ください。

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

Cloud DLP API への認証にサービス アカウントを使用するには:

  • 手順に沿ってサービス アカウントを作成します。キーのタイプとして [JSON] を選択し、ユーザーに DLP ユーザーのロール(roles/dlp.user)を付与します。

サービス アカウントへのロールの付与については、サービス アカウントへのロールの付与をご覧ください。

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

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

サービス アカウントを使用した署名なしトークン

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

  1. gcloud コマンドライン ツールをインストールします。
  2. 次のコマンドでサービス アカウントに対する認証を行います。[KEY_FILE] は、サービス アカウント キーファイルのパスで置き換えます。
    gcloud auth activate-service-account --key-file [KEY_FILE]
  3. サービス アカウントを使用して承認トークンを取得します。
    gcloud auth print-access-token
    このコマンドはアクセス トークンの値を返します。
  4. API を呼び出す際は、このトークンの値を Authorization ヘッダーで bearer トークンとして渡します。
    curl -s -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer [ACCESS_TOKEN]' \
      'https://dlp.googleapis.com/v2/infoTypes'

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

クライアント ライブラリを使用して Cloud DLP API を呼び出す場合は、アプリケーションのデフォルト認証情報(ADC)を使用します。

ADC を使用するサービスは、GOOGLE_APPLICATION_CREDENTIALS 環境変数で認証情報を検索します。ADC で他の認証情報(ユーザーの認証情報など)を使用する場合を除いて、この環境変数はサービス アカウント キーファイルを指すよう設定します。

export GOOGLE_APPLICATION_CREDENTIALS=[PATH_TO_KEY_FILE]