

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

# 允許 Macie 存取 S3 儲存貯體和物件
<a name="monitoring-restrictive-s3-buckets"></a>

當您為 啟用 Amazon Macie 時 AWS 帳戶，Macie 會建立[服務連結角色](service-linked-roles.md)，授予 Macie AWS 服務 代表您呼叫 Amazon Simple Storage Service (Amazon S3) 和其他 所需的許可。服務連結角色可簡化 的設定程序， AWS 服務 因為您不必手動新增服務許可，即可代表您完成動作。若要了解這種類型的角色，請參閱*AWS Identity and Access Management 《 使用者指南*》中的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

Macie 服務連結角色的許可政策 (`AWSServiceRoleForAmazonMacie`) 可讓 Macie 執行動作，包括擷取 S3 儲存貯體和物件的相關資訊，以及從儲存貯體擷取物件。如果您是組織的 Macie 管理員，政策也允許 Macie 代表您為組織中的成員帳戶執行這些動作。

Macie 使用這些許可來執行下列任務：
+ 產生和維護 S3 一般用途儲存貯體的庫存。
+ 提供有關儲存貯體和儲存貯體中物件的統計和其他資料。
+ 監控和評估儲存貯體的安全性和存取控制。
+ 分析儲存貯體中的物件以偵測敏感資料。

在大多數情況下，Macie 具有執行這些任務所需的許可。不過，如果 S3 儲存貯體具有限制性儲存貯體政策，該政策可能會阻止 Macie 執行部分或全部這些任務。

儲存*貯體政策*是一種資源型 AWS Identity and Access Management (IAM) 政策，指定委託人 （使用者、帳戶、服務或其他實體） 可以在 S3 儲存貯體上執行的動作，以及委託人可以執行這些動作的條件。動作和條件可以套用至儲存貯體層級操作，例如擷取儲存貯體的相關資訊，以及物件層級操作，例如從儲存貯體擷取物件。

儲存貯體政策通常會使用明確或`Deny`陳述式和條件來授予`Allow`或限制存取。例如，儲存貯體政策可能包含 `Allow`或 `Deny`陳述式，拒絕存取儲存貯體，除非使用特定來源 IP 地址、Amazon Virtual Private Cloud (Amazon VPC) 端點或 VPCs 來存取儲存貯體。如需有關使用儲存貯體政策來授予或限制存取儲存貯體的資訊，請參閱《[Amazon Simple Storage Service 使用者指南》中的 Amazon S3 儲存貯體政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html)和 [Amazon S3 如何授權請求](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-s3-evaluates-access-control.html)。 **

如果儲存貯體政策使用明確`Allow`陳述式，則政策不會阻止 Macie 擷取儲存貯體和儲存貯體物件的相關資訊，或從儲存貯體擷取物件。這是因為 Macie 服務連結角色的許可政策中的`Allow`陳述式會授予這些許可。

不過，如果儲存貯體政策使用具有一或多個條件的明確`Deny`陳述式，則可能不允許 Macie 擷取儲存貯體或儲存貯體物件的相關資訊，或擷取儲存貯體的物件。例如，如果儲存貯體政策明確拒絕從特定 IP 地址以外的所有來源存取，則當您執行敏感資料探索任務時，Macie 將無法分析儲存貯體的物件。這是因為限制性儲存貯體政策優先於 Macie 服務連結角色許可政策中的`Allow`陳述式。

若要允許 Macie 存取具有限制性儲存貯體政策的 S3 儲存貯體，您可以將 Macie 服務連結角色 (`AWSServiceRoleForAmazonMacie`) 的條件新增至儲存貯體政策。條件可以排除 Macie 服務連結角色與政策中的`Deny`限制相符。它可以使用 Macie 服務連結角色的`aws:PrincipalArn`[全域條件內容金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)和 Amazon Resource Name (ARN) 來執行此操作。

下列程序會引導您完成此程序，並提供範例。

**將 Macie 服務連結角色新增至儲存貯體政策**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在導覽窗格中，選擇 **儲存貯體**。

1. 選擇您要允許 Macie 存取的 S3 儲存貯體。

1. 在 **Permissions** (許可) 索引標籤上，**Bucket policy** (儲存貯體政策) 下，選擇 **Edit** (編輯)。

1. 在**儲存貯體政策**編輯器中，識別限制存取的每個`Deny`陳述式，並防止 Macie 存取儲存貯體或儲存貯體的物件。

1. 在每個`Deny`陳述式中，新增使用`aws:PrincipalArn`全域條件內容索引鍵的條件，並為您的 指定 Macie 服務連結角色的 ARN AWS 帳戶。

   條件索引鍵的值應為 `arn:aws:iam::123456789012:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie`，其中 *123456789012* 是您 的帳戶 ID AWS 帳戶。

將此新增至儲存貯體政策的位置取決於政策目前包含的結構、元素和條件。若要了解支援的結構和元素，請參閱《[Amazon Simple Storage Service 使用者指南》中的 Amazon S3 中的政策和許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html)。 **

以下是儲存貯體政策的範例，該政策使用明確`Deny`陳述式來限制對名為 之 S3 儲存貯體的存取`amzn-s3-demo-bucket`。使用目前的政策，只能從 ID 為 的 VPC 端點存取儲存貯體`vpce-1a2b3c4d`。拒絕從所有其他 VPC 端點存取，包括從 AWS 管理主控台 和 Macie 存取。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id": "Policy1415115example",
   "Statement": [
      {
         "Sid": "Access only from specific VPCE",
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:*",
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket",
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ],
         "Condition": {
            "StringNotEquals": {
               "aws:SourceVpce": "vpce-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

若要變更此政策並允許 Macie 存取 S3 儲存貯體和儲存貯體的物件，我們可以新增使用 條件[運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)和`aws:PrincipalArn`[全域條件內容索引鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)`StringNotLike`的條件。此額外條件會排除 Macie 服務連結角色符合`Deny`限制。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id":" Policy1415115example ",
   "Statement": [
      {
         "Sid": "Access only from specific VPCE and Macie",
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:*",
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket",
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ],
         "Condition": {
            "StringNotEquals": {
               "aws:SourceVpce": "vpce-1a2b3c4d"
            },
            "StringNotLike": {
               "aws:PrincipalArn": "arn:aws:iam::123456789012:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie"
            }
         }
      }
   ]
}
```

------

在上述範例中，`StringNotLike`條件運算子會使用`aws:PrincipalArn`條件內容索引鍵來指定 Macie 服務連結角色的 ARN，其中：
+ `123456789012` 是 AWS 帳戶 允許使用 Macie 擷取儲存貯體和儲存貯體物件相關資訊，以及從儲存貯體擷取物件的 帳戶 ID。
+ `macie.amazonaws.com` 是 Macie 服務主體的識別符。
+ `AWSServiceRoleForAmazonMacie` 是 Macie 服務連結角色的名稱。

我們使用了 `StringNotLike`運算子，因為政策已使用 `StringNotEquals`運算子。政策只能使用`StringNotEquals`運算子一次。

如需管理 Amazon S3 資源存取權的其他政策範例和詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[存取控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html)。