

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 允許清單的組態選項和要求
<a name="allow-lists-options"></a>

在 Amazon Macie 中，您可以使用允許清單來指定您希望 Macie 在檢查 Amazon Simple Storage Service (Amazon S3) 物件是否有敏感資料時忽略的文字或文字模式。Macie 提供兩種允許清單類型的選項：預先定義的文字和規則表達式。

如果您希望 Macie 忽略不認為敏感的特定單字、片語和其他類型的字元序列，預先定義文字清單會很有幫助。例如：您組織的公有代表名稱、特定電話號碼，或組織用於測試的特定範例資料。如果 Macie 找到符合受管或自訂資料識別符條件的文字，且文字也符合允許清單中的項目，則 Macie 不會報告敏感資料調查結果、統計資料和其他類型結果中出現的文字。

如果您希望 Macie 忽略不同或可能變更的文字，同時同時遵守常見的模式，則規則表達式 (*regex*) 很有用。regex 會指定要忽略的文字模式。範例包括：組織的公有電話號碼、組織網域的電子郵件地址，或組織用於測試的模式化範例資料。如果 Macie 找到符合受管或自訂資料識別符條件的文字，且文字也符合允許清單中的規則運算式模式，則 Macie 不會報告敏感資料調查結果、統計資料和其他類型結果中出現的文字。

您可以在目前可使用 AWS 區域 Macie 的所有 中建立和使用這兩種類型的允許清單，但亞太區域 （大阪） 區域除外。當您建立和管理允許清單時，請記住下列選項和要求。另請注意，不支援列出郵寄地址的項目和規則運算式模式。

**Contents**
+ [預先定義文字清單的選項和需求](#allow-lists-options-s3list)
  + [語法需求](#allow-lists-options-s3list-syntax)
  + [儲存需求](#allow-lists-options-s3list-storage)
  + [加密/解密要求](#allow-lists-options-s3list-encryption)
  + [設計考量事項和建議](#allow-lists-options-s3list-notes)
+ [規則表達式的選項和要求](#allow-lists-options-regex)
  + [語法支援和建議](#allow-lists-options-regex-syntax)
  + [範例](#allow-lists-options-regex-examples)

## 預先定義文字清單的選項和需求
<a name="allow-lists-options-s3list"></a>

對於這種類型的允許清單，您可以提供以行分隔的純文字檔案，列出要忽略的特定字元序列。清單項目通常是單字、片語和其他類型的字元序列，您不認為是敏感、不太可能變更，而且不一定遵守特定模式。如果您使用此類型的清單，Amazon Macie 不會報告與清單中的項目完全相符的文字出現。Macie 會將每個清單項目視為字串常值。

若要使用此類型的允許清單，請先在文字編輯器中建立清單，並將其儲存為純文字檔案。然後將清單上傳至 S3 一般用途儲存貯體。同時確保儲存貯體和物件的儲存和加密設定允許 Macie 擷取和解密清單。然後在 Macie [中建立和設定清單的設定](allow-lists-create.md)。

在 Macie 中設定設定後，建議您使用帳戶或組織的一組小型代表性資料來測試允許清單。若要測試清單，您可以[建立一次性任務](discovery-jobs-create.md)。除了您通常用來分析資料的受管和自訂資料識別符之外，設定任務以使用 清單。然後，您可以檢閱任務的結果：敏感資料調查結果、敏感資料探索結果，或兩者。如果任務的結果與您預期的結果不同，您可以變更並測試清單，直到結果符合您預期為止。

完成設定和測試允許清單後，您可以建立和設定其他任務來使用它，或將其新增至您的設定，以進行自動敏感資料探索。當這些任務開始執行或下一個自動探索分析週期開始時，Macie 會從 Amazon S3 擷取最新版本的清單，並將其存放在臨時記憶體中。然後，Macie 會在檢查 S3 物件是否有敏感資料時，使用此清單的暫時複本。當任務完成執行或分析週期完成時，Macie 會從記憶體永久刪除其清單複本。清單不會保留在 Macie 中。只有清單的設定會保留在 Macie 中。

**重要**  
由於預先定義的文字清單不會保留在 Macie 中，請務必定期[檢查允許清單的狀態](allow-lists-status-check.md)。如果 Macie 無法擷取或剖析您設定任務或自動探索使用的清單，Macie 不會使用該清單。這可能會產生非預期的結果，例如您在清單中指定的文字的敏感資料問題清單。

**Topics**
+ [語法需求](#allow-lists-options-s3list-syntax)
+ [儲存需求](#allow-lists-options-s3list-storage)
+ [加密/解密要求](#allow-lists-options-s3list-encryption)
+ [設計考量事項和建議](#allow-lists-options-s3list-notes)

### 語法需求
<a name="allow-lists-options-s3list-syntax"></a>

當您建立此類型的允許清單時，請注意清單檔案的下列需求：
+ 清單必須儲存為純文字 (`text/plain`) 檔案，例如 .txt、.text 或 .plain 檔案。
+ 清單必須使用換行符號來分隔個別項目。例如：

  ```
  Akua Mansa
  John Doe
  Martha Rivera
  425-555-0100
  425-555-0101
  425-555-0102
  ```

  Macie 會將每行視為清單中單一且不同的項目。檔案也可以包含空白行，以改善可讀性。Macie 在剖析檔案時略過空白行。
+ 每個項目可包含 1–90 個 UTF–8 個字元。
+ 每個項目都必須是完整且完全相符，文字才能忽略。Macie 不支援對項目使用萬用字元或部分值。Macie 會將每個項目視為字串常值。相符的項目不區分大小寫。
+ 檔案可包含 1–100，000 個項目。
+ 檔案的總儲存大小不得超過 35 MB。

### 儲存需求
<a name="allow-lists-options-s3list-storage"></a>

當您在 Amazon S3 中新增和管理允許清單時，請注意下列儲存需求和建議：
+ **區域支援** – 允許清單必須存放在與您的 Macie 帳戶 AWS 區域 位於相同 的儲存貯體中。如果允許清單存放在不同的 區域，則 Macie 無法存取該清單。
+ **儲存貯體擁有**權 – 允許清單必須存放在 擁有的儲存貯體中 AWS 帳戶。如果您希望其他帳戶使用相同的允許清單，請考慮建立 Amazon S3 複寫規則，將清單複寫到這些帳戶擁有的儲存貯體。如需有關複寫 S3 物件的資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[複寫物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html)。

  此外，您的 AWS Identity and Access Management (IAM) 身分必須具有儲存清單的儲存貯體和物件的讀取存取權。否則，您將無法建立或更新清單的設定，或使用 Macie 檢查清單的狀態。
+ **儲存類型和類別** – 允許清單必須存放在一般用途儲存貯體中，而非目錄儲存貯體。此外，必須使用下列其中一個儲存類別來存放：降低備援 (RRS)、S3 Glacier Instant Retrieval、S3 Intelligent-Tiering、S3 One Zone-IA、S3 Standard 或 S3 Standard-IA。
+ **儲存貯體政策** – 如果您將允許清單存放在具有限制性儲存貯體政策的儲存貯體中，請確定政策允許 Macie 擷取清單。若要這樣做，您可以將 Macie 服務連結角色的條件新增至儲存貯體政策。如需詳細資訊，請參閱[允許 Macie 存取 S3 儲存貯體和物件](monitoring-restrictive-s3-buckets.md)。

  此外，請確定政策允許您的 IAM 身分具有儲存貯體的讀取存取權。否則，您將無法建立或更新清單的設定，或使用 Macie 檢查清單的狀態。
+ **物件路徑** – 如果您在 Amazon S3 中存放多個允許清單，則每個清單的物件路徑必須是唯一的。換句話說，每個允許清單都必須分別存放在自己的 S3 物件中。
+ **版本控制** – 當您將允許清單新增至儲存貯體時，我們建議您也啟用儲存貯體的版本控制。然後，您可以使用日期和時間值，將清單的版本與使用該清單的敏感資料探索任務和自動化敏感資料探索週期的結果建立關聯。這可協助您執行資料隱私權和保護稽核或調查。
+ **物件鎖定** – 若要防止在特定時間長度或無限期內刪除或覆寫允許清單，您可以為存放清單的儲存貯體啟用物件鎖定。啟用此設定不會阻止 Macie 存取清單。如需此設定的相關資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[使用物件鎖定鎖定物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html)。

### 加密/解密要求
<a name="allow-lists-options-s3list-encryption"></a>

如果您在 Amazon S3 中加密允許清單，[Macie 服務連結角色](service-linked-roles.md)的許可政策通常會授予 Macie 解密清單所需的許可。不過，這取決於使用的加密類型：
+ 如果使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 來加密清單，Macie 可以解密清單。Macie 帳戶的服務連結角色會授予 Macie 所需的許可。
+ 如果使用伺服器端加密搭配 AWS 受 AWS KMS key 管 (DSSE-KMS 或 SSE-KMS) 來加密清單，Macie 可以解密清單。Macie 帳戶的服務連結角色會授予 Macie 所需的許可。
+ 如果使用伺服器端加密搭配客戶受管 AWS KMS key (DSSE-KMS 或 SSE-KMS) 來加密清單，則只有當您允許 Macie 使用金鑰時，Macie 才能解密清單。若要了解如何操作，請參閱 [允許 Macie 使用客戶受管 AWS KMS key](discovery-supported-encryption-types.md#discovery-supported-encryption-cmk-configuration)。
**注意**  
您可以使用外部金鑰存放區 AWS KMS key 中受管的客戶來加密清單。不過，相較於完全在其中管理的金鑰，金鑰可能較慢且較不可靠 AWS KMS。如果延遲或可用性問題阻止 Macie 解密清單，Macie 分析 S3 物件時不會使用該清單。這可能會產生非預期的結果，例如您在清單中指定的文字的敏感資料問題清單。若要降低此風險，請考慮將清單儲存在設定為使用金鑰做為 S3 儲存貯體金鑰的 S3 儲存貯體中。  
如需有關在外部金鑰存放區中使用 KMS 金鑰的資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[外部金鑰存放](https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html)區。如需有關使用 S3 儲存貯體金鑰的資訊，請參閱《[Amazon Simple Storage Service 使用者指南》中的使用 Amazon S3 儲存貯體金鑰降低 SSE-KMS 的成本](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)。 **
+ 如果使用伺服器端加密搭配客戶提供的金鑰 (SSE-C) 或用戶端加密來加密清單，Macie 就無法解密清單。請考慮改用 SSE-S3、DSSE-KMS 或 SSE-KMS 加密。

如果清單使用 AWS 受管 KMS 金鑰或客戶受管 KMS 金鑰加密，則您的 AWS Identity and Access Management (IAM) 身分也必須允許 使用金鑰。否則，您將無法建立或更新清單的設定，或使用 Macie 檢查清單的狀態。若要了解如何檢查或變更 KMS 金鑰的許可，請參閱《 *AWS Key Management Service 開發人員指南*》中的 中的[金鑰政策 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

如需 Amazon S3 資料加密選項的詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[使用加密保護資料](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html)。

### 設計考量事項和建議
<a name="allow-lists-options-s3list-notes"></a>

一般而言，Macie 會將允許清單中的每個項目視為字串常值。也就是說，Macie 會忽略每個完全符合允許清單中完整項目的文字出現。相符的項目不區分大小寫。

不過，Macie 會使用項目做為較大資料擷取和分析架構的一部分。此架構包含機器學習和模式比對函數，這些函數會考量文法和語法變化等維度，在許多情況下還會考慮關鍵字鄰近性。框架也會考量 S3 物件的檔案類型或儲存格式。因此，當您在允許清單中新增和管理項目時，請謹記下列考量事項和建議。

**準備不同的檔案類型和儲存格式**  
對於 Adobe 可攜式文件格式 (.pdf) 檔案中的文字等非結構化資料，Macie 會忽略完全符合允許清單中完整項目的文字，包括跨越多行或頁面的文字。  
對於結構化資料，例如 CSV 檔案中的單欄式資料或 JSON 檔案中的記錄型資料，如果所有文字都存放在單一欄位、儲存格或陣列中，Macie 會忽略完全符合允許清單中完整項目的文字。此要求不適用於存放在其他非結構化檔案中的結構化資料，例如 .pdf 檔案中的資料表。  
例如，請考慮 CSV 檔案中的下列內容：  

```
Name,Account ID
Akua Mansa,111111111111
John Doe,222222222222
```
如果 `Akua Mansa`和 `John Doe`是允許清單中的項目，Macie 會忽略 CSV 檔案中的名稱。每個清單項目的完整文字都存放在單一`Name`欄位中。  
相反地，請考慮包含下列資料欄和欄位的 CSV 檔案：  

```
First Name,Last Name,Account ID
Akua,Mansa,111111111111
John,Doe,222222222222
```
如果 `Akua Mansa`和 `John Doe`是允許清單中的項目，Macie 不會忽略 CSV 檔案中的名稱。CSV 檔案中的任何欄位都不會包含允許清單中項目的完整文字。

**包含常見變化**  
新增數字資料、適當名詞、詞彙和英數字元序列的常見變化項目。例如，如果您新增的名稱或片語在單字之間只包含一個空格，則也新增在單字之間包含兩個空格的變體。同樣地，新增執行和不包含特殊字元的單字和片語，並考慮包含常見的語法和語意變化。  
例如，對於美國電話號碼 *425-555-0100*，您可以將這些項目新增至允許清單：  

```
425-555-0100
425.555.0100
(425) 555-0100
+1-425-555-0100
```
對於多國內容中的 *2022 年 2 月 1* 日，您可以新增包含英文和法文常見語法變化的項目，包括執行和不包含特殊字元的變化：  

```
February 1, 2022
1 février 2022
1 fevrier 2022
Feb 01, 2022
1 fév 2022
1 fev 2022
02/01/2022
01/02/2022
```
對於人員名稱，請包含您不認為敏感的名稱的各種形式的項目。例如，包括：名字後跟姓氏；姓氏後跟名字、名字和姓氏以一個空格分隔；名字和姓氏以兩個空格分隔；以及暱稱。  
例如，對於名稱 *Martha Rivera*，您可以新增：  

```
Martha Rivera
Martha  Rivera
Rivera, Martha
Rivera,  Martha
Rivera Martha
Rivera  Martha
```
如果您想要忽略包含許多部分的特定名稱變化，請建立使用規則表達式的允許清單。例如，對於 *Martha Lyda Rivera 醫生，PhD*，您可以使用下列規則表達式：`^(Dr. )?Martha\s(Lyda|L\.)?\s?Rivera,?( PhD)?$`。

## 規則表達式的選項和要求
<a name="allow-lists-options-regex"></a>

對於這種類型的允許清單，您可以指定規則表達式 (*regex*)，定義要忽略的文字模式。例如，您可以為組織的公有電話號碼、組織網域的電子郵件地址或組織用於測試的模式化範例資料指定模式。regex 會為您不認為敏感的特定類型資料定義通用模式。如果您使用此類型的允許清單，Amazon Macie 不會報告完全符合指定模式的文字出現。與指定要忽略之預先定義文字的允許清單不同，您可以在 Macie 中建立和存放 regex 和所有其他清單設定。

當您建立或更新此類型的允許清單時，您可以使用範例資料來測試清單的 regex，然後再儲存清單。我們建議您使用多組範例資料來執行此操作。如果您建立過於一般的 regex，Macie 可能會忽略您認為敏感的文字出現。如果 regex 太具體，Macie 可能不會忽略您不認為敏感的文字出現。為了防止格式不正確或長時間執行的表達式，Macie 也會根據範例文字集合自動編譯和測試 regex，並通知您要解決的問題。

如需其他測試，建議您也使用帳戶或組織的一組代表性資料來測試清單的 regex。若要這樣做，您可以[建立一次性任務](discovery-jobs-create.md)。除了您通常用來分析資料的受管和自訂資料識別符之外，設定任務以使用 清單。然後，您可以檢閱任務的結果：敏感資料調查結果、敏感資料探索結果，或兩者。如果任務的結果與您預期的結果不同，您可以變更並測試 regex，直到結果符合您預期為止。

設定和測試允許清單後，您可以建立和設定其他任務來使用它，或將其新增至您的設定，以進行自動敏感資料探索。當這些任務執行或 Macie 執行自動探索時，Macie 會使用清單 regex 的最新版本來分析資料。

**Topics**
+ [語法支援和建議](#allow-lists-options-regex-syntax)
+ [範例](#allow-lists-options-regex-examples)

### 語法支援和建議
<a name="allow-lists-options-regex-syntax"></a>

允許清單可以指定包含最多 512 個字元的規則表達式 (*regex*)。Macie 支援 [Perl 相容規則表達式 (PCRE) 程式庫](https://www.pcre.org/)提供的 regex 模式語法子集。在 PCRE 程式庫提供的建構中，Macie 不支援下列模式元素：
+ 反向參考
+ 擷取群組
+ 條件式模式
+ 內嵌程式碼
+ 全域模式旗標，例如 `/i`、 `/m`和 `/x`
+ 遞迴模式
+ 正面和負面的前瞻和前瞻零寬度聲明，例如 `?=`、`?!`、 `?<=`和 `?<!`

若要為允許清單建立有效的規則運算式模式，請注意下列秘訣和建議：
+ **錨點** – 只有當您預期模式出現在檔案的開頭或結尾，而不是行的開頭或結尾時，才使用錨點 (`^` 或 `$`)。
+ **邊界重複** – 基於效能原因，Macie 會限制邊界重複群組的大小。例如， `\d{100,1000}` 不會在 Macie 中編譯 。若要近似此功能，您可以使用開放式重複，例如 `\d{100,}`。
+ **不區分大小寫** – 若要使模式大小寫的一部分不區分，您可以使用 `(?i)` 建構而非 `/i`旗標。
+ **效能** – 不需要手動最佳化字首或輪換。例如，`/hello|hi|hey/`將 變更為 `/h(?:ello|i|ey)/`並不會改善效能。
+ **萬用字元** – 基於效能考量，Macie 會限制重複的萬用字元數量。例如， `a*b*a*` 不會在 Macie 中編譯 。
+ **交替** – 若要在單一允許清單中指定多個模式，您可以使用交替運算子 (`|`) 來串連模式。如果您這樣做，Macie 會使用 OR 邏輯來結合模式並形成新的模式。例如，如果您指定 `(apple|orange)`，Macie 會將 *Apple* 和*橘色*辨識為相符項目，並忽略兩個單字的出現。如果您串連模式，請務必將串連表達式的整體長度限制為 512 個字元或更少。

最後，當您開發 regex 時，請設計它以適應不同的檔案類型和儲存格式。Macie 使用 regex 做為較大資料擷取和分析架構的一部分。框架會考量 S3 物件的檔案類型或儲存格式。對於結構化資料，例如 CSV 檔案中的單欄式資料或 JSON 檔案中的記錄型資料，只有在所有文字都存放在單一欄位、儲存格或陣列中時，Macie 才會忽略完全符合模式的文字。此要求不適用於存放在其他非結構化檔案中的結構化資料，例如 Adobe 可攜式文件格式 (.pdf) 檔案中的資料表。對於非結構化資料，例如 .pdf 檔案中的文字，Macie 會忽略完全符合模式的文字，包括跨越多行或頁面的文字。

### 範例
<a name="allow-lists-options-regex-examples"></a>

下列範例示範一些常見案例的有效 regex 模式。

**電子郵件地址**  
如果您使用自訂資料識別符來偵測電子郵件地址，您可以忽略不被視為敏感的電子郵件地址，例如組織的電子郵件地址。  
若要忽略特定第二層和最上層網域的電子郵件地址，您可以使用此模式：  
`[a-zA-Z0-9_.+\\-]+@{{example}}\.{{com}}`  
其中{{範例}}是第二層網域的名稱，而 {{com}} 是頂層網域。在這種情況下，Macie 會比對和忽略地址，例如 *johndoe@example.com* 和 *john.doe@example.com*。  
若要忽略任何一般頂層網域 (gTLD) 中特定網域的電子郵件地址，例如 *.com* 或 *.gov*，您可以使用此模式：  
`[a-zA-Z0-9_.+\\-]+@{{example}}\.[a-zA-Z]{2,}`  
其中{{範例}}是網域名稱。在這種情況下，Macie 會比對和忽略地址，例如 *johndoe@example.com*、*john.doe@example.gov* 和 *johndoe@example.edu*。  
若要忽略任何一個國家/地區代碼頂層網域 (ccTLD) 中特定網域的電子郵件地址，例如加拿大的 *.ca* 或澳洲的 *.au*，您可以使用此模式：  
`[a-zA-Z0-9_.+\\-]+@{{example}}\.({{ca}}|{{au}})`  
其中{{範例}}是網域名稱，{{ca}} 和 {{au}} 是要忽略的特定 ccTLDs。在這種情況下，Macie 會比對和忽略地址，例如 *johndoe@example.ca* 和 *john.doe@example.au*。  
若要忽略特定網域和 gTLD 的電子郵件地址，並包含第三層和第四層網域，您可以使用此模式：  
`[a-zA-Z0-9_.+\\-]+@([a-zA-Z0-9-]+\.)?[a-zA-Z0-9-]+\.{{example}}\.{{com}}`  
其中{{範例}}是網域的名稱，而 {{com}} 是 gTLD。在此情況下，Macie 會比對和忽略地址，例如 *johndoe@www.example.com* 和 *john.doe@www.team.example.com*。

**電話號碼**  
Macie 提供受管資料識別符，可偵測數個國家和地區的電話號碼。若要忽略特定電話號碼，例如組織的免付費電話號碼或公有電話號碼，您可以使用如下模式。  
若要忽略免付費電話，請使用 *800* 區域碼且格式為 *(800) \#\#\#-\#\#\#\#* 的美國電話號碼：  
`^\(?800\)?[ -]?\d{3}[ -]?\d{4}$`  
若要忽略免付費電話，請使用 *888 *區域碼且格式為 *(888) \#\#\#-\#\#\#\#* 的美國電話號碼：  
`^\(?888\)?[ -]?\d{3}[ -]?\d{4}$`  
若要忽略包含 *33* 國碼且格式為 *\+33 \#\# \#\# \#\# \#\# \#\#* 的 10 位數法文電話號碼：  
`^\+33 \d( \d\d){4}$`  
若要忽略使用特定區域和交換代碼的美國和加拿大電話號碼，請勿包含國家/地區代碼，且格式為 *(\#\#\#) \#\#\#-\#\#\#\#*：  
`^\(?{{123}}\)?[ -]?{{555}}[ -]?\d{4}$`  
其中 {{123}} 是區域碼，{{555}} 是交換碼。  
若要忽略使用特定區域和交換代碼的美國和加拿大電話號碼，請包含國家/地區代碼，格式為 *\+1 (\#\#\#) \#\#\#-\#\#\#\#*：  
`^\+1\(?{{123}}\)?[ -]?{{555}}[ -]?\d{4}$`  
其中 {{123}} 是區域碼，{{555}} 是交換碼。