翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
機密データの場所を報告するためのスキーマ
Amazon Macie は標準化されたJSON構造を使用して、Amazon Simple Storage Service (Amazon S3) オブジェクト内の機密データが見つかった場所に関する情報を保存します。その構造は、機密データの検出結果で使用されます。機密データの検出結果の場合、構造は検出結果のJSONスキーマの一部です。検出結果の完全なJSONスキーマを確認するには、Amazon Macie API リファレンス」の「検出結果」を参照してください。機密データの検出結果の詳細については、機密データ検出結果の保存と保持を参照してください。
スキーマの概要
Amazon Macie が影響を受けた S3 オブジェクトで検出した機密データの場所を報告するために、機密データの検出結果と機密データの検出結果のJSONスキーマには、1 つのcustomDataIdentifiers
オブジェクトと 1 つのsensitiveData
オブジェクトが含まれます。customDataIdentifiers
オブジェクトは、Macie が カスタムデータ識別子を使用して検出したデータの詳細を提供します。sensitiveData
オブジェクトは、Macie がマネージドデータ識別子を使用して検出した機密データの詳細を提供します。
それぞれの customDataIdentifiers
と sensitiveData
オブジェクトには、1 つ以上の detections
配列が含まれます。
-
customDataIdentifiers
オブジェクトでは、detections
配列は、データを検出して結果を生成したカスタムデータ識別子を示します。各カスタムデータ識別子について、配列は識別子が検出したデータの出現の数も示します。また、識別子が検出したデータの場所を示すこともできます。 -
sensitiveData
オブジェクトでは、detections
配列 は、Macie がマネージドデータ識別子を使用して検出した機密データのタイプを示します。機密データのタイプごとに、配列はデータの出現の数も示し、またデータの場所を示すことができます。
機密データの調査結果では、detections
配列には 1~15 個の occurrences
オブジェクトを含めることができます。それぞれの occurrences
オブジェクトは、Macie が特定のタイプの機密データの個別の出現を検出した場所を指定します。
例えば、次のdetections
配列は、Macie がCSVファイル内で見つけた機密データ (米国社会保障番号) の 3 つの出現の場所を示しています。
"sensitiveData": [
{
"category": "PERSONAL_INFORMATION",
"detections": [
{
"count": 30,
"occurrences": {
"cells": [
{
"cellReference": null,
"column": 1,
"columnName": "SSN",
"row": 2
},
{
"cellReference": null,
"column": 1,
"columnName": "SSN",
"row": 3
},
{
"cellReference": null,
"column": 1,
"columnName": "SSN",
"row": 4
}
]
},
"type": "USA_SOCIAL_SECURITY_NUMBER"
}
detections
配列内の occurrences
オブジェクトの場所と数は、機密データ自動検出の分析サイクルまたは機密データ検出ジョブの実行中に Macie が検出する機密データのカテゴリ、タイプ、および発生数によって異なります。分析サイクルまたはジョブ実行のたびに、Macie は深さ優先検索アルゴリズムを使用して、S3 オブジェクト内で検出した出現 1 ~ 15 件の機密データの位置データを検出結果に取り込みます。これらの出現は、影響を受ける S3 バケットおよびオブジェクトに含まれる機密データのカテゴリとタイプを示すものです。
occurrences
オブジェクトには、影響を受ける S3 オブジェクトのファイルタイプまたはストレージ形式に応じて、次の構造を含めることができます。
-
cells
array – この配列は Microsoft Excel ワークブック、CSVファイル、TSVファイルに適用されます。この配列内のオブジェクトは、Macie が機密データの出現を検出したセルまたはフィールドを指定します。 -
lineRanges
array – この配列は、E メールメッセージ (EML) ファイル、および CSV、、 JSON JSON Lines、 ファイル以外の非バイナリテキストTSVファイルに適用されます。たとえば、、HTMLTXT、および XML ファイルです。この配列内のオブジェクトは、Macie が機密データの出現を検出した 1 つの行または包括的な範囲、および指定された行 (1 つまたは複数) のデータの位置を指定します。場合によっては、
lineRanges
配列内のオブジェクトは、別のタイプの配列でサポートされているファイルタイプまたはストレージ形式で、機密データ検出の場所を指定します。これらのケースは、ファイル内のコメントなど、構造化されたファイルの非構造化セクションでの検出、Macie がプレーンテキストとして分析する不正な形式のファイルでの検出、および Macie が機密データを検出した 1 つ以上の列名を持つ CSV または TSV ファイルです。 -
offsetRanges
配列 – この配列は、将来の利用のために予約されています。この配列が存在する場合、その配列の値は null です。 -
pages
array – この配列は、Adobe Portable Document Format (PDF) ファイルに適用されます。この配列内のオブジェクトは、Macie が機密データの出現を検出したページを指定します。 -
records
array – この配列は、Apache Avro オブジェクトコンテナ、Apache Parquet ファイル、JSONファイル、および JSON Lines ファイルに適用されます。Avro オブジェクトコンテナおよび Parquet ファイルでは、この配列内のオブジェクトは、Macie が機密データの出現を検出したレコードインデックスおよびレコード内のフィールドへのパスを指定します。JSON および JSON Lines ファイルの場合、この配列のオブジェクトは、Macie が機密データの出現を検出したフィールドまたは配列へのパスを指定します。JSON Lines ファイルでは、データを含む行のインデックスも指定します。
これらの配列の内容は、影響を受けた S3 オブジェクトのファイルタイプまたはストレージ形式、およびその内容によって異なります。
スキーマの詳細と例
Amazon Macie は、特定のタイプのファイルやコンテンツ内の機密データを検出した場所を示すために使用するJSON構造の内容を調整します。次のトピックでは、これらの構造について説明し、例を示します。
機密データの調査結果に含めることができるJSON構造の完全なリストについては、Amazon Macie API リファレンス」の「調査結果」を参照してください。
セルの配列
適用先: Microsoft Excel ワークブック、CSVファイル、TSVファイル
cells
配列内で、Cell
オブジェクトは、Macie が機密データの出現を検出したセルまたはフィールドを指定します。以下のテーブルでは、Cell
オブジェクト内の各フィールドの目的について説明しています。
フィールド | タイプ | 説明 |
---|---|---|
cellReference |
文字列 | 出現を含む絶対セル参照としてのセルの場所 このフィールドは、Excel ワークブックにのみ適用されます。この値は、 CSV および TSV ファイルでは null です。 |
column |
整数 | 出現を含む列の列番号 Excel ワークブックでは、この値は列識別子のアルファベット文字に関連します。たとえば、列 A では、1 、列 B では、2 など。 |
columnName |
文字列 | 出現を含む列の名前 (可能な場合) |
row |
整数 | 出現を含む行の行番号 |
次の例は、Macie がCSVファイル内で検出した機密データの出現場所を指定するCell
オブジェクトの構造を示しています。
"cells": [
{
"cellReference": null,
"column": 3,
"columnName": "SSN",
"row": 5
}
]
前の例では、検出結果は、Macie がファイルの 3 列目 ( という名前SSN) の 5 行目の フィールドで機密データを検出したことを示しています。
次の例では、Macie が Excel ワークブック内で検出した機密データの出現場所を指定する Cell
オブジェクトの構造を示します。
"cells": [
{
"cellReference": "Sheet2!C5",
"column": 3,
"columnName": "SSN",
"row": 5
}
]
前の例では、検出結果は Macie がワークブックの Sheet2 という名前のワークシートで機密データを検出したことを示しています。そのワークシートでは、Macie は 3 列目 ( という名前の列 C) の 5 行目のセルで機密データを検出しましたSSN。
LineRanges 配列
適用先: E メールメッセージ (EML) ファイル、および CSV、、 JSON JSON 行、 TSV ファイル以外の非バイナリテキストXMLファイル。例: 、HTMLTXT、 ファイル
lineRanges
配列内で、Range
オブジェクトは、Macie が機密データの出現を検出した 1 つの行または複数の行の包括的な範囲、および指定された行 (1 つまたは複数) のデータの位置を指定します。
このオブジェクトは、occurrences
オブジェクトの他のタイプの配列でサポートされているファイルタイプでは空であることがしばしばあります。例外は次のとおりです。
-
構造化されたファイルの構造化されていないセクション内のデータ。
-
Macie がプレーンテキストとして分析する不正な形式のファイル内のデータ。
-
Macie が機密データを検出した 1 つ以上の列名を持つ CSVまたは TSV ファイル。
以下のテーブルでは、lineRanges
配列の Range
オブジェクト内の各フィールドの目的について説明しています。
フィールド | タイプ | 説明 |
---|---|---|
end |
整数 | ファイルの先頭から出現の末尾までの行数 |
start |
整数 | ファイルの先頭から出現の先頭までの行数 |
startColumn |
整数 | 出現start を含む最初の行の先頭から出現の先頭までの、1 から始まるスペースを含めた文字数 |
次の例は、Macie がTXTファイル内の 1 行で検出した機密データの出現場所を指定するRange
オブジェクトの構造を示しています。
"lineRanges": [
{
"end": 1,
"start": 1,
"startColumn": 119
}
]
前の例では、検出結果は Macie がファイルの最初の行に機密データ (郵送先住所) の完全な出現を検出したことを示しています。出現での最初の文字は、その行の先頭から 119 番目の文字 (スペースを含む) です。
次の例は、TXTファイル内の複数の行にまたがる機密データの出現場所を指定するRange
オブジェクトの構造を示しています。
"lineRanges": [
{
"end": 54,
"start": 51,
"startColumn": 1
}
]
前の例では、検出結果は Macie がファイルの 51 行目から 54 行目に機密データ (郵送先住所) の出現を検出したことを示しています。出現での最初の文字は、ファイルの 51 行目の最初の文字です。
ページ配列
適用先: Adobe Portable Document Format (PDF) ファイル
pages
配列内で、Page
オブジェクトは、Macie が機密データの出現を検出したページを指定します。オブジェクトには pageNumber
フィールドが含まれます。pageNumber
フィールドは、出現を含むページ番号を指定する整数を格納します。
次の例は、Macie がPDFファイル内で検出した機密データの出現場所を指定するPage
オブジェクトの構造を示しています。
"pages": [
{
"pageNumber": 10
}
]
前の例では、検出結果はファイルの 10 ページに出現が含まれていることを示しています。
レコード配列
適用先: Apache Avro オブジェクトコンテナ、Apache Parquet ファイル、JSONファイル、および JSON Lines ファイル
Avro オブジェクトコンテナまたは Parquet ファイルでは、records
配列内の Record
オブジェクトは、Macie が機密データの出現を検出したレコードインデックスおよびレコード内のフィールドへのパスを指定します。JSON および JSON Lines ファイルの場合、Record
オブジェクトは Macie が機密データの出現を検出したフィールドまたは配列へのパスを指定します。JSON Lines ファイルでは、出現を含む行のインデックスも指定します。
以下のテーブルでは、Record
オブジェクト内の各フィールドの目的について説明しています。
フィールド | タイプ | 説明 |
---|---|---|
jsonPath |
文字列 |
出現へのJSONPath式としてのパス。 Avro オブジェクトコンテナまたは Parquet ファイルでは、これは出現を含むレコード Macie がパス内の任意の要素の名前で機密データを検出した場合、Macie は |
recordIndex |
整数 | Avro オブジェクトコンテナまたは Parquet ファイルでは、出現を含むレコードの 0 から始まるレコードインデックス JSON Lines ファイルの場合、出現を含む行の 0 から始まる行インデックス。この値は常に JSON ファイル0 用です。 |
次の例では、Macie が Parquet ファイル内で検出した機密データの出現場所を指定する Record
オブジェクトの構造を示します。
"records": [
{
"jsonPath": "$['abcdefghijklmnopqrstuvwxyz']",
"recordIndex": 7663
}
]
前の例では、検出結果は、インデックス 7663 (レコード番号 7664) のレコードで Macie が機密データを検出したことを示しています。そのレコードで、Macie は abcdefghijklmnopqrstuvwxyz
という名前のフィールドで機密データを検出しました。レコードの フィールドへのフルJSONパスは です$.abcdefghijklmnopqrstuvwxyz
。このフィールドはルート (外部レベル) オブジェクトの直系の子孫です。
次の例では、Macie が Parquet ファイル内で検出した機密データの出現の Record
オブジェクトの構造も示します。この例では、名前が文字数の制限を超えているため、Macie は出現を含むフィールドの名前を切り捨てました。
"records": [
{
"jsonPath": "$['...uvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz']",
"recordIndex": 7663
}
]
前の例では、フィールドはルート (外部レベル) オブジェクトの直系の子孫です。
次の例でも、Macie が Parquet ファイル内で検出した機密データの出現に対し、Macie はその出現を含むフィールドへのフルパスを切り捨てました。フルパスが文字制限を超えています。
"records": [
{
"jsonPath": "$..usssn2.usssn3.usssn4.usssn5.usssn6.usssn7.usssn8.usssn9.usssn10.usssn11.usssn12.usssn13.usssn14.usssn15.usssn16.usssn17.usssn18.usssn19.usssn20.usssn21.usssn22.usssn23.usssn24.usssn25.usssn26.usssn27.usssn28.usssn29['abcdefghijklmnopqrstuvwxyz']",
"recordIndex": 2335
}
]
前の例では、検出結果は、インデックス 2335 (レコード番号 2336) のレコードで Macie が機密データを検出したことを示しています。そのレコードで、Macie は abcdefghijklmnopqrstuvwxyz
という名前のフィールドで機密データを検出しました。レコード内の フィールドへのフルJSONパスは次のとおりです。
$['1234567890']usssn1.usssn2.usssn3.usssn4.usssn5.usssn6.usssn7.usssn8.usssn9.usssn10.usssn11.usssn12.usssn13.usssn14.usssn15.usssn16.usssn17.usssn18.usssn19.usssn20.usssn21.usssn22.usssn23.usssn24.usssn25.usssn26.usssn27.usssn28.usssn29['abcdefghijklmnopqrstuvwxyz']
次の例は、Macie がJSONファイル内で検出した機密データの出現場所を指定するRecord
オブジェクトの構造を示しています。この例では、出現は配列内の特定の値です。
"records": [
{
"jsonPath": "$.access.key[2]",
"recordIndex": 0
}
]
前の例では、検出結果は、key
という名前の配列の 2 番目の値に Macie が機密データを検出したことを示しています。配列は、access
という名前のオブジェクトの子です。
次の例は、Macie が JSON Lines ファイルで検出した機密データの出現場所を指定するRecord
オブジェクトの構造を示しています。
"records": [
{
"jsonPath": "$.access.key",
"recordIndex": 3
}
]
前の例では、検出結果は、ファイル内の 3 番目の値 (行) で Macie が機密データを検出したことを示しています。その行では、出現は key
という名前のフィールドにあり、それは access
という名前のオブジェクトの子です。