DLP API を使用して機密テキストを検査する

Sensitive Data Protection と JSON の Cloud Data Loss Prevention API を使用して、サンプル文字列をスキャンして機密情報を検出する方法について説明します。

始める前に

  1. Google Cloud CLI をインストールします。

  2. フェデレーション ID(連携 ID)を使用するように gcloud CLI を構成します。

    詳細については、連携 ID を使用して gcloud CLI にログインするをご覧ください。

  3. gcloud CLI を初期化するには、次のコマンドを実行します:

    gcloud init
  4. プロジェクトを作成または選択します 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 プロジェクトの名前に置き換えます。

  5. プロジェクトで課金が有効になっていることを確認します Google Cloud 。

  6. DLP API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。serviceusage.services.enable詳しくは、ロールを付与する方法をご覧ください。

    gcloud services enable dlp.googleapis.com
  7. ユーザー アカウントにロールを付与します。次の IAM ロールごとに次のコマンドを 1 回実行します。roles/dlp.user

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    次のように置き換えます。

文字列に含まれる機密情報を検査する

このセクションでは、サンプル テキストをスキャンするように 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

次のステップ

  • テキストと画像の機密データの検査を開始するにあたって、入門ガイドを確認します。

  • 検査、秘匿化、infoType、可能性について、コンセプトを参照して理解を深めます。

  • DLP API について詳細を確認します。