DLP API を使用して機密テキストを検査する
Sensitive Data Protection の Cloud Data Loss Prevention API と JSON を使用して、サンプル文字列をスキャンして機密情報を検出する方法について説明します。
始める前に
-
Google Cloud CLI をインストールします。
-
フェデレーション ID(連携 ID)を使用するように gcloud CLI を構成します。
詳細については、連携 ID を使用して gcloud CLI にログインするをご覧ください。
-
gcloud CLI を初期化するには、次のコマンドを実行します:
gcloud init -
プロジェクトを Google Cloud 作成または選択します。
プロジェクトを選択または作成するために必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトを選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、プロジェクト作成者ロール
(
roles/resourcemanager.projectCreator)が必要です。これにはresourcemanager.projects.create権限が含まれています。ロールを付与する方法を確認する。
-
プロジェクト Google Cloud を作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、実際の Google Cloud プロジェクト名に置き換えます。
DLP API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限が付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。gcloud services enable dlp.googleapis.com
-
ユーザー アカウントにロールを付与します。次の IAM ロールごとに、次のコマンドを 1 回実行します。
roles/dlp.usergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
次のように置き換えます。
PROJECT_ID: プロジェクト ID。USER_IDENTIFIER: ユーザー アカウント。例については、 IAM ポリシーで Workforce プールのユーザーを表すをご覧ください。ROLE: ユーザー アカウントに付与する IAM ロール。
文字列に含まれる機密情報を検査する
このセクションでは、
サンプル テキストをスキャンするように DLP API を構成する方法について説明します。projects.content.inspect
REST メソッドを使用します。
このセクションでは、サンプル リクエストを JSON ファイルに保存する必要があります。Cloud Shell を使用している場合は、Cloud Shell エディタを使用してファイルを作成できます。エディタを起動するには、Cloud Shell ウィンドウのツールバーにある [エディタを開く] をクリックします。
リクエストのデータを使用する前に、 次のように置き換えます。
-
PROJECT_ID: 実際の Google Cloud プロジェクト ID。プロジェクト ID は 英数字からなる文字列です(例:my-project)。
HTTP メソッドと URL:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:inspect
リクエストの本文(JSON):
{
"item": {
"value": "My phone number is (800) 555-0123."
},
"inspectConfig": {
"infoTypes": [
{
"name": "PHONE_NUMBER"
},
{
"name": "US_TOLLFREE_PHONE_NUMBER"
}
],
"minLikelihood": "POSSIBLE",
"limits": {
"maxFindingsPerItem": 0
},
"includeQuote": true
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"result": {
"findings": [
{
"quote": "(800) 555-0123",
"infoType": {
"name": "US_TOLLFREE_PHONE_NUMBER"
},
"likelihood": "LIKELY",
"location": {
"byteRange": {
"start": "19",
"end": "33"
},
"codepointRange": {
"start": "19",
"end": "33"
}
},
"createTime": "2022-09-23T01:53:05.303Z",
"findingId": "2022-09-23T01:53:05.306348Z5328915744504121862"
}
]
}
}クリーンアップ
このページで使用したリソースについて 、アカウント Google Cloud に課金されないようにするには、リソース を含むプロジェクト Google Cloud を削除します。
プロジェクトの削除
このクイックスタート向けに新しいプロジェクトを作成した場合、追加料金の発生を防ぐ最も簡単な方法としては、プロジェクトを削除します。
プロジェクト Google Cloud を削除します。
gcloud projects delete PROJECT_ID
認証情報を取り消す
(省略可)gcloud CLI から認証情報を取り消します。
gcloud auth revoke