本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
傳送至 Amazon S3 的日誌
使用者許可
若要啟用傳送日誌至 Amazon S3,您登入時必須具有以下許可。
日誌送往的 S3 儲存貯體必須具有包含特定許可的資源政策。如果儲存貯體目前沒有資源政策,且設定記錄的使用者具有儲存貯體的 S3:GetBucketPolicy
和 S3:PutBucketPolicy
許可,則當您開始將日誌傳送至 Amazon S3 時, AWS
會自動建立下列政策。
在先前的政策中,對於 aws:SourceAccount
,指定要將日誌交付至此儲存貯體的帳戶 IDS 清單。對於 aws:SourceArn
,指定產生日誌之資源的 ARN 清單,格式為 arn:aws:logs:
。source-region
:source-account-id
:*
如果儲存貯體具有資源政策,但該政策未包含前一個政策中出現的陳述式,且設定記錄的使用者具有儲存貯體的 S3:GetBucketPolicy
和 S3:PutBucketPolicy
許可,則該陳述式會附加至儲存貯體的資源政策。
注意
在某些情況下, AWS CloudTrail 如果 s3:ListBucket
許可尚未授予 ,您可能會在 中看到AccessDenied
錯誤delivery.logs.amazonaws.com
。若要避免 CloudTrail 日誌中出現這些錯誤,您必須將 s3:ListBucket
許可授予 delivery.logs.amazonaws.com
,且必須包含與先前儲存貯體政策中設定的 s3:GetBucketAcl
許可一起顯示的 Condition
參數。為簡化此操作而不用建立一個新的 Statement
,你可以直接將 AWSLogDeliveryAclCheck
更新為 “Action”:
[“s3:GetBucketAcl”, “s3:ListBucket”]
Amazon S3 儲存貯體伺服器端加密
您可以啟用伺服器端加密搭配 Amazon S3 S3-managed金鑰 (SSE-S3) 或使用存放在 AWS Key Management Service (SSE-KMS) 的 AWS KMS 金鑰進行伺服器端加密,來保護 Amazon S3 儲存貯體中的資料。如需詳細資訊,請參閱使用伺服器端加密保護資料。
如果您選擇 SSE-S3,則不需要其他組態。Amazon S3 會處理加密金鑰。
警告
如果您選擇 SSE-KMS,您必須使用客戶受管金鑰,因為此案例不支援使用 AWS 受管金鑰。如果您使用 AWS 受管金鑰設定加密,日誌將以無法讀取的格式交付。
當您使用客戶受管 AWS KMS 金鑰時,您可以在啟用儲存貯體加密時指定客戶受管金鑰的 Amazon Resource Name (ARN)。您必須將以下內容新增至客戶受管金鑰的金鑰政策 (而不是 S3 儲存貯體的儲存貯體政策),以便日誌傳遞帳戶可以寫入您的 S3 儲存貯體。
如果您選擇 SSE-KMS,則必須使用客戶受管金鑰,因為此情況不支援使用 AWS 受管金鑰。當您使用客戶受管 AWS KMS 金鑰時,您可以在啟用儲存貯體加密時指定客戶受管金鑰的 Amazon Resource Name (ARN)。您必須將以下內容新增至客戶受管金鑰的金鑰政策 (而不是 S3 儲存貯體的儲存貯體政策),以便日誌傳遞帳戶可以寫入您的 S3 儲存貯體。
{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": ["
0123456789
"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1
:0123456789
:delivery-source:*"] } } }
對於 aws:SourceAccount
,指定要將日誌交付至此儲存貯體的帳戶 IDS 清單。對於 aws:SourceArn
,指定產生日誌之資源的 ARN 清單,格式為 arn:aws:logs:
。source-region
:source-account-id
:*