変換の詳細リファレンス

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

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

次のステップ