クイックスタート: JSON リクエストの使用

このページでは、API を直接コールすることにより Cloud Data Loss Prevention API の基本的なタスクを実行する方法を説明します。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    [プロジェクトの選択] ページに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

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

    API を有効にする

  5. サービス アカウントを作成します。

    1. Cloud Console で [サービス アカウントの作成] ページに移動します。

      [サービス アカウントの作成] に移動
    2. プロジェクトを選択します。
    3. [サービス アカウント名] フィールドに名前を入力します。 Cloud Console は、この名前に基づいて [サービス アカウント ID] フィールドに入力します。

      [サービス アカウントの説明] フィールドに説明を入力します。例: Service account for quickstart

    4. [作成] をクリックします。
    5. [ロールを選択] フィールドをクリックします。

      [クイック アクセス] で [基本] をクリックし、[オーナー] をクリックします。

    6. [次へ] をクリックします。
    7. [完了] をクリックして、サービス アカウントの作成を完了します。

      ブラウザ ウィンドウを閉じないでください。次のステップでこれを使用します。

  6. サービス アカウント キーを作成します。

    1. Cloud Console で、作成したサービス アカウントのメールアドレスをクリックします。
    2. [キー] をクリックします。
    3. [キーを追加] をクリックし、[新しいキーを作成] をクリックします。
    4. [CREATE] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
    5. [閉じる] をクリックします。
  7. 環境変数 GOOGLE_APPLICATION_CREDENTIALS を、サービス アカウント キーが含まれる JSON ファイルのパスに設定します。 この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定します。

  8. Cloud SDK をインストールして初期化します。

権限

コンテンツを検査するには、parent で指定されたプロジェクトに対する serviceusage.services.use 権限が必要です。roles/editorroles/ownerroles.dlp.user のロールには必要な権限が含まれていますが、独自のカスタムロールを定義することもできます。

プロジェクト レベルで dlp.admin ロールをユーザーに付与するには、以下のいずれかのタブを選択して、その手順を実施します。

ウェブ UI

  1. Google Cloud Console で Identity and Access Management のページを開きます。

    [IAM] ページを開く

  2. プロジェクトがまだ選択されていない場合は、プロジェクト セレクタをクリックして、プロジェクトを選択します。

  3. [Identity and Access Management] ページで、[追加] をクリックします。

  4. [メンバーの追加] ダイアログで、次の操作を行います。

    • [メンバー] に、ユーザーのメールアドレスとして「test@example.com」と入力します。
    • [ロール] については、[ロールを選択] をクリックし、[Cloud DLP] > [DLP ユーザー] の順に選択します。

  5. [追加] をクリックします。

コマンドライン

  1. プロジェクトの IAM ポリシーに単一のバインディングを追加するには、[PROJECT_ID] をプロジェクト ID に置き換えて、次のコマンドを入力します。

    gcloud projects add-iam-policy-binding [PROJECT_ID] --member user:test@example.com --role roles/dlp.user

  2. このコマンドは、更新されたポリシーをコンソール ウィンドウに書き込みます。

    bindings:
    - members:
    - user:test@example.com
    role: roles/dlp.user

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

このセクションでは、projects.content.inspect REST メソッドを使用してサンプル テキストをスキャンするようサービスに要求する方法を説明します。

  1. 次のテキストを含む JSON リクエスト ファイルを作成し、inspect-request.json として保存します。

    {
      "item":{
        "value":"My phone number is (206) 555-0123."
      },
      "inspectConfig":{
        "infoTypes":[
          {
            "name":"PHONE_NUMBER"
          },
          {
            "name":"US_TOLLFREE_PHONE_NUMBER"
          }
        ],
        "minLikelihood":"POSSIBLE",
        "limits":{
          "maxFindingsPerItem":0
        },
        "includeQuote":true
      }
    }

    この JSON リクエストでは、item フィールドには ContentItem オブジェクトが含まれ、inspectConfig フィールドには InspectConfig オブジェクトが含まれます。クイックスタートを完了後、item に独自の文字列を追加したり、inspectConfig フィールドの一部を変更したりして、その影響を確認してください。

  2. サービス アカウントを有効にします。

    gcloud auth activate-service-account SERVICE_ACCOUNT \
       --key-file=PATH_TO_SERVICE_ACCOUNT_KEY \
       --project=PROJECT_ID

    以下を置き換えます。

    • SERVICE_ACCOUNT: サービス アカウントの ID。
    • PATH_TO_SERVICE_ACCOUNT_KEY: サービス アカウントの秘密鍵を含む JSON ファイルへのパス。これは、始める前にセクションで認証を設定するときにダウンロードした JSON ファイルです。
    • PROJECT_ID: Cloud DLP を使用するように設定したプロジェクト。
  3. 承認トークンを取得します。

    gcloud auth print-access-token

  4. curl を使用して content:inspect リクエストを作成し、出力したアクセス トークンと、ステップ 1 で設定した JSON リクエストのファイル名を渡します。

    curl -s \
    -H "Authorization: Bearer [ACCESS_TOKEN]" \
    -H "Content-Type: application/json" \
    https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect \
    -d @inspect-request.json
    curl にファイル名を渡すには、-d オプション(「データ」の意味)を使用して、ファイル名の前に @ 記号を付けます。このファイルは、curl コマンドを実行するディレクトリと同じディレクトリに存在する必要があります。

Cloud DLP は、リクエストに対して次の JSON を返します。

{
  "result":{
    "findings":[
      {
        "quote":"(206) 555-0123",
        "infoType":{
          "name":"PHONE_NUMBER"
        },
        "likelihood":"LIKELY",
        "location":{
          "byteRange":{
            "start":"19",
            "end":"33"
          },
          "codepointRange":{
            "start":"19",
            "end":"33"
          }
        },
        "createTime":"2018-11-30T01:01:30.883Z"
      }
    ]
  }
}

これで、Cloud DLP への最初のリクエストを送信できました。

次のステップ

  • 入門ガイドを読んで、テキストと画像の検査、テキスト内の機密データの秘匿化を始めます。
  • 概念を読んで、検査、秘匿化、infoType、可能性についての理解を深めます。
  • API リファレンスを参照する。