L-多様性はデータセットののプロパティです。k-匿名性を拡張したものであり、機密値が発生する各列の多様性を測定します。同一の準識別子を持つ行のすべての集合で、各機密属性について少なくとも l 個の異なる値がある場合、そのデータセットは l-多様性を持っています。
l-多様性の値はデータセットの 1 つ以上の列(フィールド)に基づいて計算できます。このトピックでは、機密データの保護を使用してデータセットの l-多様性の値を計算する方法を説明します。l-多様性またはリスク分析の概要については、続行する前に、リスク分析のコンセプトのトピックをご覧ください。
はじめる前に
続行する前に、以下を行ってください。
- Google アカウントにログインします。
- Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。 プロジェクト セレクタに移動
- Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する。
- 機密データの保護を有効にします。 機密データの保護を有効にする
- 分析する BigQuery データセットを選択します。機密データの保護は、BigQuery テーブルをスキャンして l-多様性指標を計算します。
- 機密フィールド識別子(該当する場合)とデータセット内の少なくとも 1 つの準識別子を決定します。詳細については、リスク分析の用語と手法をご覧ください。
l-多様性の計算
機密データの保護では、リスク分析ジョブが実行されるたびにリスク分析が行われます。最初に、Google Cloud コンソールを使用するか、DLP API リクエストを送信するか、機密データの保護クライアント ライブラリを使用してジョブを作成する必要があります。
コンソール
Google Cloud コンソールで、[リスク分析の作成] ページに移動します。
[入力データを選択] セクションで、テーブルを含むプロジェクトのプロジェクト ID、テーブルのデータセット ID、およびテーブルの名前を入力して、スキャンする BigQuery テーブルを指定します。
[計算するプライバシー指標] で [l-多様性] を選択します。
(省略可)[ジョブ ID] セクションからジョブにカスタム識別子を指定して、機密データの保護がデータを処理するリソースの場所を選択します。完了したら、[続行] をクリックします。
[フィールドの定義] セクションで、l-多様性リスクジョブの機密フィールドと準識別子を指定します。機密データの保護は、前の手順で指定した BigQuery テーブルのメタデータにアクセスし、フィールドのリストへの入力を試みます。
- 該当するチェックボックスをオンにして、フィールドを機密フィールド(S)または準識別子(QI)として指定します。機密フィールド 1 つと、準識別子を 1 つ以上選択する必要があります。
- 機密データの保護でフィールドに入力できない場合は、[フィールド名を入力] をクリックして 1 つ以上のフィールドを手動で入力し、各フィールドを機密フィールドまたは準識別子として設定します。完了したら、[続行] をクリックします。
(省略可)[アクションの追加] セクションで、リスクジョブが完了したときに実行するアクションを追加します。使用できるオプションは次のとおりです。
- BigQuery に保存: リスク分析のスキャン結果を BigQuery テーブルに保存します。
Pub/Sub に公開: 通知を Pub/Sub トピックに公開します。
メールで通知: 結果が記載されたメールを送信します。完了したら、[作成] をクリックします。
l-多様性リスク分析ジョブがすぐに開始されます。
C#
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Go
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
PHP
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
Python
機密データの保護用のクライアント ライブラリをインストールして使用する方法については、機密データの保護のクライアント ライブラリをご覧ください。
機密データの保護のために認証するには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
REST
l-多様性を計算するための新しいリスク分析ジョブを実行するには、projects.dlpJobs
リソースにリクエストを送信します。ここで、PROJECT_ID はプロジェクト識別子を示します。
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
このリクエストには、次の項目で構成される RiskAnalysisJobConfig
オブジェクトが含まれます。
PrivacyMetric
オブジェクト。ここでLDiversityConfig
オブジェクトを含めることで、l-多様性を計算することを指定します。BigQueryTable
オブジェクト。次のすべてを含めることで、スキャンする BigQuery テーブルを指定します。projectId
: テーブルを含むプロジェクトのプロジェクト ID。datasetId
: テーブルのデータセット ID。tableId
: テーブルの名前。
1 つ以上の
Action
オブジェクトのセット。これは、ジョブの完了時に所定の順序で実行するアクションを表します。各Action
オブジェクトには、次のいずれかのアクションを含めることができます。SaveFindings
オブジェクト: リスク分析のスキャン結果を BigQuery テーブルに保存します。PublishToPubSub
オブジェクト: 通知を Pub/Sub トピックに公開します。JobNotificationEmails
オブジェクト: 結果が記載されたメールを送信します。
LDiversityConfig
オブジェクト内で、次の項目を指定します。
DLP API にリクエストを送信するとすぐに、リスク分析ジョブが開始されます。
計算済みのリスク分析ジョブを一覧表示する
現在のプロジェクトで実行済みのリスク分析ジョブを一覧表示できます。
コンソール
Google Cloud コンソールで実行中および実行済みのリスク分析ジョブを一覧表示するには:
Google Cloud コンソールで [機密データの保護] を開きます。
ページ上部の [ジョブとジョブトリガー] タブをクリックします。
[リスクジョブ] タブをクリックします。
リスクジョブの一覧が表示されます。
プロトコル
実行中および実行済みのリスク分析ジョブを一覧表示するには、GET リクエストを projects.dlpJobs
リソースに送信します。ジョブタイプ フィルタ(?type=RISK_ANALYSIS_JOB
)を追加すれば、リスク分析ジョブのみにレスポンスを絞り込むことができます。
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs?type=RISK_ANALYSIS_JOB
受信するレスポンスには、現在および以前のすべてのリスク分析ジョブの JSON 表現が含まれます。
l-多様性ジョブの結果を表示する
Google Cloud コンソールの機密データの保護には、完了した l-多様性ジョブを可視化できる機能が組み込まれています。前のセクションの指示に沿って、リスク分析ジョブの一覧から、結果を表示するジョブを選択します。ジョブが正常に実行されると、[リスク分析の詳細] ページの上部が以下のようになります。
ページの上部には、l-多様性リスクジョブに関する情報があります。これには、ジョブ ID とコンテナの下のリソースの場所が含まれます。
l-多様性の計算結果を表示するには、[L-多様性] タブをクリックします。リスク分析ジョブの構成を表示するには、[構成] タブをクリックします。
[L-多様性] タブには、最初に機密値と l-多様性の計算に使用される準識別子が一覧表示されます。
リスク チャート
再識別リスクチャートは、特定の行と準識別子の組み合わせでデータが失われる可能性(%)を y 軸とし、l-多様性の値を x 軸としてプロットしたグラフです。グラフの色はリスクの高さを示しています。濃い青色はリスクが高いことを示し、薄い青色はリスクが低いことを示しています。
l-多様性の値が高いほど、値の多様性が少ないことを意味し、データセットの再識別が困難になり、安全性が高まります。ただし、より高い l-多様性の値を実現するためには、行や一意の準識別子の組み合わせをより多く削除する必要があり、これによりデータの有用性が低下する可能性があります。グラフにカーソルを合わせると、その l-多様性の値に対応するデータ損失の可能性(%)の具体的な値を確認できます。スクリーンショットに示されているように、ツールチップがグラフに表示されます。
特定の l-多様性の値の詳細を表示するには、対応するデータポイントをクリックします。グラフの下に詳細な説明が表示され、ページの下にサンプル データテーブルが表示されます。
リスクのサンプル データテーブル
リスクジョブの結果ページの 2 番目のコンポーネントは、サンプル データテーブルです。これは、l-多様性のターゲット値の準識別子の組み合わせを表示します。
テーブルの最初の列には、k-匿名性の値が一覧表示されます。l-多様性の値をクリックすると、その値を達成するために破棄する必要がある、対応するサンプルデータが表示されます。
2 番目の列には、選択した l-多様性の値を達成する場合の、特定の行と準識別子の組み合わせにおけるデータ損失の可能性、少なくとも l 個の機密属性を持つグループの数、レコードの合計数が表示されます。
最後の列には、準識別子の組み合わせを共有するグループのサンプルと、その組み合わせで存在するレコードの数が表示されます。
REST を使用してジョブの詳細を取得する
REST API を使用して l-多様性のリスク分析ジョブの結果を取得するには、次の GET リクエストを projects.dlpJobs
リソースに送信します。PROJECT_ID はプロジェクト ID に、JOB_ID は結果を取得するジョブの識別子に置き換えます。ジョブ ID は、ジョブの開始時に返されています。また、すべてのジョブの一覧表示して取得することもできます。
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
リクエストは、ジョブのインスタンスを含む JSON オブジェクトを返します。分析結果は、AnalyzeDataSourceRiskDetails
オブジェクトの "riskDetails"
キーにあります。詳細については、DlpJob
の API リファレンスをご覧ください。