arrow_back

Data Loss Prevention: Qwik Start - JSON

参加 ログイン

Data Loss Prevention: Qwik Start - JSON

30分 クレジット: 1

GSP107

Google Cloud セルフペース ラボ

これは Data Loss Prevention API のベータ版です。この API はサービスレベル契約(SLA)および非推奨ポリシーの対象ではなく、バージョンアップ時に下位互換性が維持されない可能性があります。

Data Loss Prevention API は、パワフルな検出エンジンへの自動アクセスにより、非構造化データ ストリーム内の個人情報やその他の機密データを検出します。

DLP API は、クレジット カード番号、氏名、社会保障番号、パスポート番号、電話番号などの機密データ要素の、迅速でスケーラブルな分類とオプションでの秘匿化を可能にします。また、テキストと画像をサポートしており、API に直接データを送信することも、Google Cloud Storage や BigQuery、Cloud Datastore インスタンスに保存されているデータを指定することもできます。

このラボでは、分析するテキストが含まれる JSON ファイルを用意して Data Loss Prevention API に送信し、この API を使用してデータ内の機密情報の有無を検査した後、機密情報が検出された場合は秘匿化します。

設定と要件

Qwiklabs の設定

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

この Qwiklabs ハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

必要なもの

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
  • ラボを完了するために十分な時間

注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、ラボでは使用しないでください。

注: Chrome OS デバイスを使用している場合は、シークレット ウィンドウを開いてこのラボを実行してください。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

Google Cloud Shell の有効化

Google Cloud Shell は、デベロッパー ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Google Cloud Shell では、コマンドラインで GCP リソースにアクセスできます。

GCP Console の右上のツールバーにある [Cloud Shell をアクティブにする] ボタンをクリックします。

Cloud Shell アイコン

[続行] をクリックします。

cloudshell_continue

環境のプロビジョニングと接続には少し時間がかかります。接続すると、すでに認証されており、プロジェクトは PROJECT_ID に設定されています。例えば:

Cloud Shell 端末

gcloud は Google Cloud Platform のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

次のコマンドを使用すると、有効なアカウント名を一覧表示できます。

gcloud auth list

出力:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

次のコマンドを使用すると、プロジェクト ID を一覧表示できます。

gcloud config list project
	

出力:

[core]
project = <project_ID>
	

出力例:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

サービス アカウントキーを作成する

PROJECT_ID の環境変数を設定します。[YOUR_PROJECT_ID] は Qwiklabs のプロジェクト ID で置き換えてください。

export PROJECT_ID=[YOUR_PROJECT_ID]

ローカルでテストするときに Google Cloud API にアクセスするためのサービス アカウントを作成します。

gcloud iam service-accounts create qwiklab \
  --display-name "Qwiklab Service Account"

新しく作成したサービス アカウントに適切な権限を付与します。

gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--member serviceAccount:qwiklab@${PROJECT_ID}.iam.gserviceaccount.com \
--role roles/owner

サービス アカウントを作成したら、サービス アカウントキーを作成します。

gcloud iam service-accounts keys create ~/key.json \
--iam-account qwiklab@${PROJECT_ID}.iam.gserviceaccount.com

このコマンドは、サービス アカウントキーを生成し、ホーム ディレクトリの key.json という名前の JSON ファイルに保存します。

文字列に機密情報が含まれるかどうかを調べる

このセクションでは、projects.content.inspect REST メソッドを使用してサンプル テキストをスキャンする方法を説明します。作成する JSON ファイルには、InspectConfig オブジェクトと ContentItem オブジェクトが含まれます。

任意のエディタ(nanovim など)または Cloud Shell を使用して、次のテキストを含む 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
  }
}

Cloud Shell で、サービス アカウントキー ファイルの場所を指定して、サービス アカウントの認証を行います。

gcloud auth activate-service-account --key-file=key.json

サービス アカウントを使用して承認トークンを取得します。

gcloud auth print-access-token

非常に長い文字列が返されます。このトークンは次のステップで必要になります。

curl を使用して content:inspect リクエストを作成します。ACCESS_TOKEN は前の手順で返された文字列で、PROJECT_ID は Qwiklabs のプロジェクト ID で置き換えます。

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

次のようなレスポンスが表示されます。

{
  "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-07-03T02:20:26.043Z"
      }
    ]
  }
}

テキスト コンテンツの機密データを秘匿化する

Data Loss Prevention API では、検出された機密データのリストを提供する代わりに、テキスト ファイルの機密データを自動的に秘匿化することもできます。

この API に deidentifyConfig オブジェクトを使用する JSON ファイルを送信すると、出力内の機密情報が秘匿化されます。

以下の内容を含む新しい JSON ファイル(new-inspect-file.json)を作成します。

{
  "item": {
     "value":"My email is test@gmail.com",
   },
   "deidentifyConfig": {
     "infoTypeTransformations":{
          "transformations": [
            {
              "primitiveTransformation": {
                "replaceWithInfoTypeConfig": {}
              }
            }
          ]
        }
    },
    "inspectConfig": {
      "infoTypes": {
        "name": "EMAIL_ADDRESS"
      }
    }
}

curl を使用して content:deidentify リクエストを作成します。ACCESS_TOKEN は先ほど返された文字列です。

curl -s \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  https://dlp.googleapis.com/v2/projects/$PROJECT_ID/content:deidentify \
  -d @new-inspect-file.json

出力例:

{
  "item": {
    "value": "My email is [EMAIL_ADDRESS]"
  },
  "overview": {
    "transformedBytes": "14",
    "transformationSummaries": [
      {
        "infoType": {
          "name": "EMAIL_ADDRESS"
        },
        "transformation": {
          "replaceWithInfoTypeConfig": {}
        },
        "results": [
          {
            "count": "1",
            "code": "SUCCESS"
          }
        ],
        "transformedBytes": "14"
      }
    ]
  }
}

これで Data Loss Prevention API に最初のリクエストを送信し、出力内の機密情報を秘匿化しました。

お疲れさまでした

41ab6fa0d099216d.png SecurityandIdentity_125.png

クエストの終了

このセルフペース ラボは、ベースライン: デプロイと開発およびセキュリティと ID の基礎クエストの一部です。クエストとは、学習パスを構成する一連のラボです。完了すると、成果が認められて上のバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボを終えてクエストに登録すると、すぐにクレジットを受け取ることができます。受講可能なその他の Qwiklabs のクエストもご覧ください

次のラボの受講

以下のおすすめのラボに進んでクエストを続行してください。

次のステップと詳細情報

このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部です。ラボカタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。

Google Cloud Training & Certification

Google Cloud 技術を最大限に活用できるようになります。このクラスでは、必要な技術力とベスト プラクティスを習得し、継続的に学習することができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、仮想環境など、多忙なスケジュールに対応できるオプションが用意されています。認定資格を取得することで、Google Cloud の技術のスキルと知識を証明できます。

マニュアルの最終更新日: 2019 年 5 月 16 日
ラボの最終テスト日: 2018 年 9 月 27 日

Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。