

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

# 適用於 CloudTrail Lake 查詢結果的 Amazon S3 儲存貯體政策
<a name="s3-bucket-policy-lake-query-results"></a>

根據預設，所有 Amazon S3 儲存貯體和物件皆為私有。只有資源擁有者 (建立儲存貯體的 AWS 帳戶)，可存取儲存貯體及其包含的物件。資源擁有者可藉由編寫存取政策，將存取許可授予其他資源和使用者。

若要將 CloudTrail Lake 查詢結果傳送到 S3 儲存貯體，CloudTrail 必須具備必要的許可，而且不得設定為[申請者付款](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html)儲存貯體。

CloudTrail 會在政策中為您新增下列欄位：
+ 允許的 SID
+ 儲存貯體名稱
+ CloudTrail 的服務委託人名稱

安全最佳實務是將 `aws:SourceArn` 條件金鑰新增至 Amazon S3 儲存貯體政策。IAM 全域條件索引鍵 `aws:SourceArn` 有助於確保 CloudTrail 僅針對事件資料存放區寫入 S3 儲存貯體。

下列政策允許 CloudTrail 將查詢結果傳遞到受支援 AWS 區域中的儲存貯體。將 *amzn-s3-demo-bucket*、*myAccountID* 和 *myQueryRunningRegion* 取代為您的組態的適當值。*myAccountID* 是用於 CloudTrail AWS 的帳戶 ID，可能與 S3 儲存貯體 AWS 的帳戶 ID 不同。

**注意**  
如果您的儲存貯體政策包含 KMS 金鑰的陳述式，我們會建議使用完全合格的 KMS 金鑰 ARN。如果您改用 KMS 金鑰別名， 會在申請者的帳戶中 AWS KMS 解析金鑰。此行為可能會導致資料使用屬於申請者 (而不是儲存貯體擁有者) 的 KMS 金鑰來加密。  
如果這是組織事件資料存放區，則事件資料存放區 ARN 必須包含管理帳戶的 AWS 帳戶 ID。這是因為管理帳戶會維護所有組織資源的擁有權。

**S3 儲存貯體政策**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailLake1",
            "Effect": "Allow",
            "Principal": {"Service": "cloudtrail.amazonaws.com"},
            "Action": [
                "s3:PutObject*",
                "s3:Abort*"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:sourceAccount": "111111111111"
                },
                "ArnLike": {
                    "aws:sourceArn": "arn:aws:cloudtrail:us-east-1:111111111111:eventdatastore/*"
                }
            }     
        },
        {
            "Sid": "AWSCloudTrailLake2",
            "Effect": "Allow",
            "Principal": {"Service":"cloudtrail.amazonaws.com"},
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Condition": {
                "StringEquals": {
                    "aws:sourceAccount": "111111111111"
                },
                "ArnLike": {
                    "aws:sourceArn": "arn:aws:cloudtrail:us-east-1:111111111111:eventdatastore/*"
                }
            }
        }
    ]
}
```

------

**Contents**
+ [為 CloudTrail Lake 查詢結果指定現有的儲存貯體](#specify-an-existing-bucket-for-cloudtrail-query-results-delivery)
+ [其他資源](#cloudtrail-lake-S3-bucket-policy-resources)

## 為 CloudTrail Lake 查詢結果指定現有的儲存貯體
<a name="specify-an-existing-bucket-for-cloudtrail-query-results-delivery"></a>

如果您指定現有的 S3 儲存貯體做為 CloudTrail Lake 查詢結果傳送的儲存位置，您必須將政策連接到儲存貯體，以允許 CloudTrail 將查詢結果傳送到儲存貯體。

**注意**  
最佳實務是使用 CloudTrail Lake 查詢結果專用的 S3 儲存貯體。

**將必要的 CloudTrail 政策新增至 Amazon S3 儲存貯體**

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 選擇您想要讓 CloudTrail 傳送查詢結果的目標儲存貯體，然後選擇 **Permissions** (許可)。

1. 選擇**編輯**。

1. 將 [S3 bucket policy for query results](#s3-bucket-policy-lake-query) 複製到 **Bucket Policy Editor** (儲存貯體政策編輯器) 視窗。將斜體預留位置取代成您儲存貯體的名稱、區域和帳戶 ID。
**注意**  
如果現有的儲存貯體已連接一或多個政策，請將 CloudTrail 存取陳述式新增至這些政策。請評估所產生的一組許可，以確保它們適用於存取儲存貯體的使用者。

## 其他資源
<a name="cloudtrail-lake-S3-bucket-policy-resources"></a>

如需 S3 儲存貯體和政策的詳細資訊，請參閱 *Amazon Simple Storage Service 使用者指南*中的[使用儲存貯體政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html)。