arrow_back

Data Loss Prevention: Qwik Start - JSON

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Data Loss Prevention: Qwik Start - JSON

Lab 30分 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP107

Google Cloud セルフペース ラボ

Data Loss Prevention API は、パワフルな検出エンジンへのプログラマティックなアクセスを可能にし、非構造化データ ストリーム内の個人情報(PII)やその他の機密データの検出を実現します。

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

このラボでは、分析する JSON ファイルを用意してそれを Data Loss Prevention API に送信し、文字列データを検査して機密情報の有無を確認し、機密情報が検出された場合は秘匿化します。

学習内容

  • DLP API を使用して文字列を検査し、機密情報の有無を確認する。
  • DLP API を使用してテキスト コンテンツの機密情報を秘匿化する。

設定と要件

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

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

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

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

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

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

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

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

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

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

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

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

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

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

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

Cloud Shell をアクティブにする

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

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

  2. 出力は次のようになります。

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

プロジェクト ID 用の環境変数を設定する

  • Cloud Shell で、次のコマンドを実行してプロジェクト ID 用の環境変数を設定します。
export PROJECT_ID=$DEVSHELL_PROJECT_ID

タスク 1. 文字列を検査して、機密情報の有無を確認する

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

  1. 任意のエディタ(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 } }
  1. アカウントを使用して認可トークンを取得します。
gcloud auth print-access-token

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

サービス アカウントが使用されていないというエラーが表示された場合は、数分待ってからコマンドを再度実行してください。
  1. curl を使用して content:inspect リクエストを作成し、ACCESS_TOKEN を前の手順で返された文字列に置き換えます。
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 -o inspect-output.txt 注: このようになります

curl にファイル名を渡すには、-d オプション(つまり「data」)を使用して、ファイル名の前に @ 記号を付けます。このファイルは、curl コマンドを実行するのと同じディレクトリに存在する必要があります。

curl レスポンスは inspect-output.txt ファイルに保存されます。次のコマンドを使用して出力を確認します。

cat inspect-output.txt

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

{ "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" } ] } }

出力を Cloud Storage にアップロードする

次のコマンドを実行して、アクティビティの記録の検証用に curl レスポンスを Cloud Storage にアップロードします。

gsutil cp inspect-output.txt gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}} 文字列を検査して、機密情報の有無を確認する

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

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

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

  1. 以下の内容を含む新しい JSON ファイル(new-inspect-file.json)を作成します。
{ "item": { "value":"My email is test@gmail.com", }, "deidentifyConfig": { "infoTypeTransformations":{ "transformations": [ { "primitiveTransformation": { "replaceWithInfoTypeConfig": {} } } ] } }, "inspectConfig": { "infoTypes": { "name": "EMAIL_ADDRESS" } } }
  1. curl を使用して content:deidentify リクエストを作成します(ACCESS_TOKEN はアクセス トークンを出力するコマンドで置き換えられています)。
curl -s \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://dlp.googleapis.com/v2/projects/$PROJECT_ID/content:deidentify \ -d @new-inspect-file.json -o redact-output.txt

curl レスポンスは redact-output.txt ファイルに保存されます。次のコマンドを使用して出力を確認します。

cat redact-output.txt

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

{ "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 に最初のリクエストを送信し、出力内の機密情報を秘匿化しました。

出力を Cloud Storage にアップロードする

次のコマンドを実行して、アクティビティの記録の検証用に curl レスポンスを Cloud Storage にアップロードします。

gsutil cp redact-output.txt gs://{{{project_0.startup_script.gcs_bucket_name|bucket_name_filled_after_lab_start}}} テキスト コンテンツの機密データを秘匿化する

お疲れさまでした

クエストを完了する

このセルフペース ラボは、「Baseline: Deploy & Develop」クエストの一部です。クエストとは学習プログラムを構成する一連のラボのことで、完了すると成果が認められてバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、このラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能な全クエストについては、カタログをご覧ください。

次のラボを受講する

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

次のステップと詳細情報

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

Google Cloud トレーニングと認定資格

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

マニュアルの最終更新日: 2023 年 6 月 29 日

ラボの最終テスト日: 2023 年 6 月 29 日

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