Amazon-Web-Services

配置 AWS Cloudfront 以登錄到另一個 AWS 賬戶中的 S3 儲存桶

  • October 4, 2018

在此處輸入圖像描述我有一些 AWS Cloudfront 分佈分佈在不同的 AWS 賬戶中。

我想將這些分佈的訪問日誌儲存在單個 AWS 賬戶中的單個 S3 儲存桶中。

這是可能的,但沒有記錄(我可以找到)。

目前尚不清楚日誌儲存桶上需要對 ACL 進行哪些更新,或者需要什麼(如果有)儲存桶策略。

我似乎需要更新儲存桶上的 ACL,以將 FULL_CONTROL 提供給 Cloudfront 用於寫入日誌的另一個 AWS 賬戶中的任何賬戶的規範 id。

如果其他人對此進行了配置並且可以提供幫助,我將不勝感激。

(已更新以供將來參考)

假設您的 CloudFront 分配位於賬戶 123456789012 中,並將日誌記錄配置到your-logging-bucket不同賬戶中的儲存桶。

  1. 創建一個S3 儲存桶策略,為 CloudFront 賬戶 123456789012 授予執行s3:GetBucketAcls3:PutBucketAcl開啟的權限your-logging-bucket

這是必需的儲存桶策略

{
 "Version": "2012-10-17",
 "Statement": [
   {
     "Effect": "Allow",
     "Principal": {
       "AWS": "arn:aws:iam::123456789012:root"     << the CloudFront account
     },
     "Action": [
       "s3:GetBucketAcl",
       "s3:PutBucketAcl"
     ],
     "Resource": "arn:aws:s3:::your-logging-bucket"
   }
 ]
}
  1. 使用該S3 儲存桶策略**在賬戶 1223456789012 中創建一個新的 CloudFront 分配,並在創建嚮導*中啟用日誌記錄到your-logging-bucket. 由於上述儲存桶策略,它將為您創建適當的 ACL。

您可以通過查看 S3 -> your-logging-bucket -> Permissions -> ACL 來檢查 CloudFront 官方帳戶 c4c1ede66af...8632f77d2d0是否已被授予訪問權限

在此處輸入圖像描述 3. 在 123… 帳戶中配置所有其他 CF 發行版以登錄your-logging-bucket- 它現在應該也適用於所有預先存在的 CF 發行版。

希望有幫助:)

引用自:https://serverfault.com/questions/933795