変換の詳細リファレンス

このページでは、変換の詳細テーブルの内容と、このテーブルで実行できるクエリの例について説明します。

ストレージ内のデータを匿名化する場合は、検査ジョブを構成して各変換の詳細を指定できます。機密データの保護では、これらの詳細を指定した 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

検出結果で検出された情報の種類に関する詳細。このフィールドには次のプロパティが含まれます。

name
組み込みまたはカスタム infoType の名前。
version
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";

次のステップ