我設定了 AWS Config 規則 s3-bucket-logging-enabled 來自動修補未合規的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。但修補執行失敗,且 AWS Config 主控台顯示動作狀態錯誤「動作執行失敗 (詳細資訊)」。 我已開啟詳細資訊頁面,但該頁面未提供對該問題進行疑難排解的足夠資訊。
AWS Config 規則 s3-bucket-logging-enabled 使用 AWS Systems Manager Automation 文件 AWS-ConfigureS3BucketLogging 修補不合規資源。必須使用 AWS Identity and Access Management (IAM) 在自動化角色信任政策中允許系統管理員服務,將作為 AutomationAssumeRole 參數傳遞。此外,自動化角色必須具備 PutBucketLogging 許可,且須將目標 Amazon S3 儲存貯體設定為存放日誌。
如需更詳細的錯誤訊息,請執行 AWS Command Line Interface (AWS CLI) 命令 describe-remediation-execution-status。然後,依照下列指示對錯誤訊息進行疑難排解。如需詳細資訊,請參閱如何對 AWS Config 中的修補執行失敗進行疑難排解?
重要事項: 在開始之前,請確定您已安裝並配置 AWS CLI。如果您在執行 AWS CLI 命令時收到錯誤訊息,請確認您使用的是最新版本的 AWS CLI。
若要解決此錯誤訊息,請參閱為什麼 SSM 文件 AWS-ConfigureS3BucketLogging 的 AWS Config 自動修補動作失敗,並在呼叫 PutBucketLogging API 時顯示錯誤「(MalformedXML)」?
發生此錯誤的原因是 AutomationAssumeRole 角色沒有在不合規的 S3 儲存貯體上呼叫 PutBucketLogging API 的權限。您可以使用下列範例政策允許角色呼叫 PutBucketLogging API:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:PutBucketLogging", "Resource": [ "arn:aws:s3:::<BUCKET_NAME_1>", "arn:aws:s3:::<BUCKET_NAME_2>", "arn:aws:s3:::<BUCKET_NAME_3>" ] } ] }
**注意事項:**如果您要求在 AWS 區域中的所有儲存貯體上進行修復,請使用條件金鑰 aws:RequestedRegion 限制角色對特定區域的權限。
發生此錯誤的原因是 Systems Manager Automation 服務無法擔任 IAM AutomationAssumeRole 角色。使用下列範例政策允許系統管理員擔任 IAM 角色:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
透過 AWS Config 規則修復不合規的 AWS 資源
使用 AWS Config 自動修復功能的 Amazon S3 儲存貯體合規