このページでは、変換の詳細テーブルの内容について説明し、そのテーブルで実行できるクエリの例を示します。
ストレージ内のデータを匿名化する場合は、検査ジョブを構成して各変換の詳細を指定できます。機密データの保護では、これらの詳細を指定した 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
: 機密データの保護で変換のステータスを特定できませんでした。INVALID_TRANSFORM
: 機密データの保護で検出結果を変換できませんでした。METADATA_UNRETRIEVABLE
: ファイルのカスタム メタデータに検出結果があります。変換されたファイルの書き込み中に、機密データの保護でメタデータを取得できませんでした。SUCCESS
: 変換が正常に完了しました。
- 詳細
追加のステータスの詳細。このフィールドは、
Status
で定義されている仕様に従います。このフィールドには次のプロパティが含まれます。- コード
- エラーコード。
- message
- エラー メッセージ。
- 詳細
- エラーの詳細を保持するメッセージのリスト。
transformed_bytes
機密データの保護によって変換されたバイト数。変換が失敗した場合、または変換するコンテンツがない場合、値は 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 は、検出結果出力テーブルのエントリに関連付けられます。検出結果の出力テーブルには、検査中に機密データの保護によって検出されたすべての検出結果が含まれます。このテーブルは、検出結果を 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 に取り組みます。
- 匿名化のための変換の詳細を確認する。