本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
報告敏感資料位置的結構描述
Amazon Macie 使用標準化JSON結構來存放有關在 Amazon Simple Storage Service (Amazon S3) 物件中尋找敏感資料之位置的相關資訊。這些結構是由敏感資料發現項目和敏感資料探索結果所使用。對於敏感資料發現項目,這些結構是發現項目結構JSON描述的一部分。若要檢閱發現項目的完整結JSON構描述,請參閱 Amazon Macie API 參考中的發現項目。若要進一步瞭解敏感資料探索結果,請參閱儲存及保留敏感資料探索結果。
綱要概觀
為了報告 Amazon Macie 在受影響 S3 物件中找到的敏感資料的位置,敏感資料發現項目和敏感資料探索結果的結JSON構描述包括一個customDataIdentifiers
物件和一個sensitiveData
物件。customDataIdentifiers
物件提供 Macie 使用自訂資料識別碼偵測到的資料的詳細資料。該sensitiveData
對象提供有關 Macie 使用託管數據標識符檢測到的數據的詳細信息。
每個customDataIdentifiers
和sensitiveData
物件都包含一或多個detections
陣列:
-
在
customDataIdentifiers
物件中,detections
陣列會指出哪些自訂資料識別碼偵測到資料並產生尋找項目。對於每個自訂資料識別碼,陣列也會指出識別碼偵測到的資料出現次數。它還可以指示標識符檢測到的數據的位置。 -
在
sensitiveData
物件中,detections
陣列會指出 Macie 使用受管理資料識別碼偵測到的敏感資料類型。對於每種類型的敏感數據,數組還指示數據的出現次數,並且可以指示數據的位置。
對於敏感數據發現,detections
數組可以包括 1—15 個occurrences
對象。每個occurrences
物件都會指定 Macie 偵測到特定類型敏感資料個別出現的位置。
例如,下detections
列陣列表示 Macie 在CSV檔案中找到三次出現的敏感資料 (美國社會安全號碼) 的位置。
"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 都會使用深度優先搜尋演算法,將 Macie 在 S3 物件中偵測到的敏感資料 1-15 次出現的位置資料填入產生的發現項目。這些事件表示受影響的 S3 儲存貯體和物件可能包含的敏感資料類別和類型。
occurrences
物件可以包含下列任何結構,視受影響的 S3 物件的檔案類型或儲存格式而定:
-
cells
陣列 — 此陣列適用於 Microsoft Excel 活頁簿、CSV檔案和TSV檔案。此陣列中的物件會指定 Macie 偵測到敏感資料出現的儲存格或欄位。 -
lineRanges
array — 此陣列適用於電子郵件訊息 (EML) 檔案,以及、、JSON行和檔案以外CSV的非二進位文字TSV檔案,例如、HTMLTXT、和檔案。JSON XML此陣列中的物件會指定 Macie 偵測到敏感資料中出現的行或包含的行範圍,以及資料在指定一行或多行上的位置。在某些情況下,
lineRanges
陣列中的物件會以另一種陣列類型所支援的檔案類型或儲存格式,指定敏感資料偵測的位置。這些情況包括:偵測其他結構化檔案的非結構化區段,例如檔案中的註解;在 Macie 以純文字分析的格式錯誤檔案中偵測;以及具有一或多個資料行名稱的CSV或TSV檔案,Macie 在其中偵測到敏感資料。 -
offsetRanges
array-該數組保留供 future 使用。如果這個數組存在,它的值為 null。 -
pages
陣列 — 此陣列適用於 Adobe 可攜式文件格式 (PDF) 檔案。此陣列中的物件會指定 Macie 偵測到敏感資料出現的頁面。 -
records
陣列 — 此陣列適用於 Apache Avro 物件容器、Apache 的拼花檔JSON案、檔案和JSON行檔案。對於 Avro 物件容器和 Parquet 檔案,此陣列中的物件會指定記錄索引,以及 Macie 偵測到其中出現敏感資料的記錄中欄位路徑。對於JSON和 L JSON ines 檔案,此陣列中的物件會指定 Macie 偵測到其中出現敏感資料之欄位或陣列的路徑。對於 L JSON ines 文件,它還指定包含數據的行的索引。
這些陣列的內容會根據受影響的 S3 物件的檔案類型或儲存格式及其內容而有所不同。
架構詳細資料和範例
Amazon Macie 會調整其使用的JSON結構內容,以指出在特定類型檔案和內容中偵測到敏感資料的位置。下列主題說明並提供這些結構的範例。
如需可包含在敏感資料尋找項目中的完整JSON結構清單,請參閱 Amazon Macie API 參考中的發現項目。
儲存格陣列
適用於:Microsoft Excel 工作簿、CSV檔案和TSV檔案
在cells
陣列中,Cell
物件會指定 Macie 偵測到敏感資料出現的儲存格或欄位。下表說明Cell
物件中每個欄位的用途。
欄位 | Type | 描述 |
---|---|---|
cellReference |
字串 | 儲存格的位置,做為絕對儲存格參照,其中包含複本。此欄位僅適用於 Excel 活頁簿。對於CSV和TSV檔案,此值為空值。 |
column |
Integer | 包含複本之欄的欄編號。對於 Excel 活頁簿,此值與欄識別碼的字母字元相關聯,例如,1 對於欄 A、2 欄 B 等。 |
columnName |
字串 | 包含複本的欄名稱 (如果有的話)。 |
row |
Integer | 包含出現位置之列的列編號。 |
下列範例顯示物件的結構,此Cell
物件會指定 Macie 在CSV檔案中偵測到之敏感資料出現的位置。
"cells": [
{
"cellReference": null,
"column": 3,
"columnName": "SSN",
"row": 5
}
]
在上述範例中,發現項目表示 Macie 偵測到檔案第三欄 (已命名 SSN) 第五列欄位中的機密資料。
下列範例顯示物件的結構,此Cell
物件會指定 Macie 在 Excel 活頁簿中偵測到之敏感資料出現的位置。
"cells": [
{
"cellReference": "Sheet2!C5",
"column": 3,
"columnName": "SSN",
"row": 5
}
]
在上述範例中,發現項目表示 Macie 偵測到工作簿中名為 Sheet2 的工作表中的敏感資料。在該工作表中,Macie 在第三列(名為 C 列 SSN)的第五行的單元格中檢測到敏感數據。
LineRanges陣列
套用至:電子郵件訊息 (EML) 檔案,以及、、JSON行和檔案以外CSV的非二進位文字TSV檔案 — 例如、HTML、TXT和檔案 JSON XML
在lineRanges
陣列中,Range
物件會指定 Macie 偵測到敏感資料出現的行或包含的行範圍,以及資料在指定一行或多行上的位置。
對於物件中其他類型陣列所支援的檔案類型,此occurrences
物件通常是空白的。例外情況是:
-
其他結構化檔案的非結構化區段中的資料,例如檔案中的註解。
-
Macie 以純文字分析的格式錯誤檔案中的資料。
-
具有一個CSV或多個列名的或TSV文件,Macie 在其中檢測到敏感數據。
下表說明lineRanges
陣列Range
物件中每個欄位的用途。
欄位 | Type | 描述 |
---|---|---|
end |
Integer | 從檔案開頭到出現位置結束的行數。 |
start |
Integer | 從檔案開頭到出現位置開始的行數。 |
startColumn |
Integer | 包含空格且從 1 開始的字元數目,從包含出現位置的第一行開始到出現位置的開頭。start |
下列範例顯示Range
物件的結構,此物件會指定 Macie 在TXT檔案中單行偵測到的敏感資料出現位置。
"lineRanges": [
{
"end": 1,
"start": 1,
"startColumn": 119
}
]
在上述範例中,發現項目表示 Macie 偵測到檔案第一行完全出現的敏感資料 (郵寄地址)。出現的第一個字元是從該行開頭開始的 119 個字元 (含空格)。
下列範例顯示Range
物件的結構,此物件會指定跨越TXT檔案中多行之敏感資料的出現位置。
"lineRanges": [
{
"end": 54,
"start": 51,
"startColumn": 1
}
]
在上述範例中,發現項目表示 Macie 偵測到跨越檔案第 51 行到 54 行的敏感資料 (郵寄地址)。出現的第一個字符是文件第 51 行的第一個字符。
頁面陣列
套用至:Adobe 可攜式文件格式 (PDF) 檔案
在pages
陣列中,Page
物件會指定 Macie 偵測到敏感資料出現的頁面。該對象包含一個pageNumber
字段。此pageNumber
欄位會儲存整數,指定包含具體值之頁面的頁碼。
下列範例顯示物件的結構,此Page
物件會指定 Macie 在PDF檔案中偵測到之敏感資料出現的位置。
"pages": [
{
"pageNumber": 10
}
]
在上述範例中,發現項目指出檔案的第 10 頁包含具體值。
記錄陣列
適用於:Apache 的 Avro 對象容器,阿帕奇實木複合地板文件,JSON文件和JSON行文件
對於 Avro 物件容器或 Parquet 檔案,records
陣列中的Record
物件會指定記錄索引,以及 Macie 偵測到敏感資料出現的記錄中欄位的路徑。對於JSON和 L JSON ines 檔案,Record
物件會指定 Macie 偵測到敏感資料出現的欄位或陣列的路徑。對於 L JSON ines 文件,它還指定包含出現位置的行的索引。
下表說明Record
物件中每個欄位的用途。
欄位 | Type | 描述 |
---|---|---|
jsonPath |
字串 |
出現位置的路徑 (做為JSONPath表示式)。 對於 Avro 物件容器或實木地板檔案,這是記錄 ( 如果 Macie 偵測到路徑中任何元素名稱中的敏感資料,Macie 就會忽略物件中的 |
recordIndex |
Integer | 對於 Avro 物件容器或實木地板檔案,記錄索引,從 0 開始,用於包含發生次數的記錄。對於 L JSON ines 檔案,包含出現位置的行索引 (從 0 開始)。此值永遠適0 用於JSON檔案。 |
下列範例顯示物件的結構,此Record
物件會指定 Macie 在 Parquet 檔案中偵測到之敏感資料出現的位置。
"records": [
{
"jsonPath": "$['abcdefghijklmnopqrstuvwxyz']",
"recordIndex": 7663
}
]
在上述範例中,發現項目表示 Macie 偵測到索引 7663 記錄中的敏感資料 (記錄編號 7664)。在該記錄中,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
}
]
在上述範例中,發現結果表示 Macie 偵測到索引 2335 記錄中的敏感資料 (記錄編號 2336)。在該記錄中,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']
下列範例顯示物件的結構,此Record
物件會指定 Macie 在JSON檔案中偵測到之敏感資料出現的位置。在此範例中,出現次數是陣列中的特定值。
"records": [
{
"jsonPath": "$.access.key[2]",
"recordIndex": 0
}
]
在上述範例中,發現項目表示 Macie 偵測到名為key
陣列的第二個值中的敏感資料。陣列是名為的物件的子系access
。
下列範例顯示物件的結構,此Record
物件會指定 Macie 在 L JSON ines 檔案中偵測到的敏感資料出現位置。
"records": [
{
"jsonPath": "$.access.key",
"recordIndex": 3
}
]
在上述範例中,發現項目表示 Macie 偵測到檔案中第三個值 (行) 中的機密資料。在該行中,出現位置位於名為的字段中key
,該字段是名為的對象的子項access
。