DLP API の認証

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Google Cloud CLI をインストールします。
  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'

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

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

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

export GOOGLE_APPLICATION_CREDENTIALS=[PATH_TO_KEY_FILE]

Compute Engine VM からの機密データの保護の使用

VM インスタンスから DLP API にアクセスするには、VM の作成時に [ID と API へのアクセス] セクションで [すべての Cloud API に完全アクセス権を許可] を選択します。