このページでは、変換の詳細テーブルの内容と、このテーブルで実行できるクエリの例について説明します。
ストレージ内のデータを匿名化する場合は、検査ジョブを構成して各変換の詳細を指定できます。機密データの保護では、これらの詳細を指定した BigQuery テーブルに書き込みます。このドキュメントでは、そのテーブルを変換の詳細テーブルと呼びます。
変換の詳細テーブルの内容
このセクションでは、変換の詳細テーブルの内容を一覧表示し、説明します。
resource_name
変換を完了した検査ジョブの名前。
container_name
変換されたデータを含むファイル。
変換
変換の詳細。このフィールドには次のプロパティが含まれています。
- 入力
機密データの保護が検出結果に適用した変換方法。有効な値の一部は次のとおりです。
- 説明
変換の文字列表現。値は
RecordSuppression
の場合を除いて、すべてのタイプの変換のPrimitiveTransformation
プロトコル バッファ メッセージでのtoString()
呼び出しの出力です。変換方法がレコードの除外の場合、このフィールドは空です。- condition
変換の
RecordCondition
の文字列表現。 このフィールドは、機密データの保護が変換を適用する必要があるかどうかを判断するためにレコード条件を使用した場合にのみ設定されます。例:(age_field <= 18)
(zip_field exists)
(zip_field == 01234) && (age_field <= 18) && (city_field exists)
- infoType
検出結果で検出された情報の種類に関する詳細。このフィールドには次のプロパティが含まれます。
status_details
変換のステータスの詳細。変換が失敗した場合、このフィールドに失敗の原因が指定されます。このフィールドには次のプロパティが含まれます。
- result_status_type
変換の試行のステータスを表すコード。可能な値は次のとおりです。
STATE_TYPE_UNSPECIFIED
: Sensitive Data Protection は変換のステータスを特定できませんでした。INVALID_TRANSFORM
: 機密データの保護で検出結果を変換できませんでした。METADATA_UNRETRIEVABLE
: ファイルのカスタム メタデータに検出結果があります。変換されたファイルを書き込むときに、機密データの保護でメタデータを取得できなかった。SUCCESS
: 変換が成功しました。
- 詳細
ステータスの詳細。このフィールドは、
Status
で定義されている仕様に準拠しています。このフィールドには次のプロパティが含まれています。- コード
- エラーコード。
- message
- エラー メッセージ。
- 詳細
- エラーの詳細を保持するメッセージのリスト。
transformed_bytes
Sensitive Data Protection によって変換されたバイト数。変換が失敗した場合、または変換するコンテンツがない場合、値は 0
になります。
transformation_location
変換の場所に関する詳細。
次の変換場所の JSON の例では、機密データの保護が infoType 変換を実行しています。
{
"finding_id": "2022-05-23T23:51:29.775337Z831678185946560283",
"record_transformation": null,
"container_type": "TRANSFORM_BODY"
}
次の変換場所の JSON の例では、機密データの保護がレコード変換を実行しています。
{
"finding_id": null,
"record_transformation": {
"field_id": {
"name": " \"Name\""
},
"container_timestamp": {
"timestamp": null,
"seconds": "1654796423",
"nanos": "763000000"
},
"container_version": "1654796423733485"
},
"container_type": "TRANSFORM_TABLE"
}
}
例に示すように、機密データの保護は、実行された変換の種類に応じて finding_id
または record_transformation
を入力します。
この 2 つのフィールドは相互に排他的です。
- finding_id
- このフィールドは、機密データの保護が infotype 変換を実行した場合に設定されます。各検出結果 ID は、検出結果の出力テーブルのエントリに対応しています。検出結果の出力テーブルには、検査中に Sensitive Data Protection によって検出されたすべての検出結果が含まれます。このテーブルは、検出結果を BigQuery に保存するように検査ジョブを構成した場合にのみ作成されます。
- record_transformation
このフィールドは、機密データの保護が表形式のデータに対してレコード変換を実行した場合に設定されます。このフィールドには次のプロパティが含まれます。
- field_id
- 検出結果を含むテーブル列。
- container_timestamp
- ファイルの変更タイムスタンプ。
- container_version
- 検出結果を含むファイルの世代番号。
- container_type
検出結果を含むデータの機能に関する情報。可能な値は次のとおりです。
TRANSFORM_UNKNOWN_CONTAINER
: 機密データの保護では、検出結果を含むデータのタイプを特定できませんでした。TRANSFORM_BODY
: 機密データの保護では、ファイルの本文で検出結果を検出しました。TRANSFORM_METADATA
: 機密データの保護では、ファイルのメタデータで検出結果を検出しました。TRANSFORM_TABLE
: 機密データの保護では、表内の検出結果を検出しました。
クエリの例
変換の詳細テーブルで実行できるクエリの例を次に示します。BigQuery テーブルにクエリを実行する方法については、インタラクティブ クエリの実行をご覧ください。
失敗した変換をすべて選択する
SELECT *
FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
WHERE status_details.result_status_type != "SUCCESS";
次のように置き換えます。
PROJECT_ID
: 変換の詳細テーブルを含むプロジェクトの ID。DATASET_ID
: 変換の詳細テーブルを含む BigQuery データセットの ID。TABLE_ID
: 変換の詳細テーブルの ID。
変換に失敗したファイル数をカウントする
SELECT COUNT(DISTINCT(container_name))
FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
WHERE status_details.result_status_type != "SUCCESS";
文字のマスキングを使用したすべての変換を選択する
SELECT resource_name, container_name, info_type.name
FROM `PROJECT_ID.DATASET_ID.TABLE_ID`,
UNNEST(transformation) AS tr
WHERE tr.type LIKE "CHARACTER_MASK";
次のステップ
- ストレージ内のデータの匿名化プロセスの詳細を学習する。
- Google Cloud コンソールを使用してストレージ内のデータを匿名化する方法を確認する。
- DLP API を使用して Cloud Storage に保存されている機密データを匿名化する方法を学習します。
- Cloud Storage で匿名化されたデータのコピーを作成する Codelab に取り組みます。
- 匿名化のための変換の詳細を確認する。