Cloud DLP API を使用する前に認証を行う必要があります。DLP API は API キーと認証の両方に対応しています。 主な違いは次のとおりです。
- API キーは、API を呼び出している、呼び出し元のプロジェクト(アプリまたはサイト)を識別します。
- 認証トークンは、プロジェクトを使用しているユーザー(個人)を識別します。
未認証アクセスに API キーを使用する
いくつかのメソッドでは、Google Cloud Console の API キーで DLP API の認証を行うことができます。たとえば、すべての projects.content.*
メソッドや projects.image.*
メソッドでこの方法を使用できます。
- 手順に沿って Google Cloud Console プロジェクトの API キーを作成します。
- 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 リクエスト ヘッダーに入れて渡します。サービス アカウントを使用して署名なしトークンを取得する手順は次のとおりです。
- Google Cloud CLI をインストールします。
- 次のコマンドでサービス アカウントに対する認証を行います。[KEY_FILE] は、サービス アカウント キーファイルのパスで置き換えます。
gcloud auth activate-service-account --key-file [KEY_FILE]
- サービス アカウントを使用して承認トークンを取得します。
gcloud auth print-access-token
このコマンドはアクセス トークンの値を返します。 - 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 に完全アクセス権を許可] を選択します。