如何透過 AWS Config 規則 s3-bucket-logging-enabled 的自動修復對「動作執行失敗」錯誤進行疑難排解?

1 分的閱讀內容
0

我想要使用 AWS-ConfigureS3BucketLogging 執行手冊來修復不合規資源。不過,自動修復失敗,導致「動作執行失敗」錯誤。

簡短說明

AWS Config s3-bucket-logging-enabled 會檢查目標 Amazon Simple Storage Service (Amazon S3) 儲存貯體是否開啟記錄功能。AWS-ConfigureS3BucketLogging AWS Systems Manager 自動化執行手冊,然後修復不合規資源。

AWS-ConfigureS3BucketLogging 執行手冊必須具有下列許可:

  • 在 AWS Identity and Access Management (IAM) 中為自動化服務角色設定的信任政策。這項資訊會作為 AutomationAssumeRole 參數傳遞。
  • PutBucketLogging 許可具有設為儲存日誌的 S3 儲存貯體。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

若要解決 Action execution failed 錯誤,您必須執行 describe-remediation-execution-status AWS CLI 命令,以檢閱詳細的錯誤訊息。

如需詳細資訊,請參閱如何對 AWS Config 中的修復動作失敗進行疑難排解?

存取遭拒

您會收到以下錯誤訊息:

"Step fails when it is Execute/Cancelling action.呼叫 PutBucketLogging 操作時發生錯誤 (AccessDenied): 存取遭拒。Please refer to Automation Service Troubleshooting Guide for more diagnosis details."

發生此錯誤的原因是 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>"
      ]
    }auto
  ]
}

注意: 如果您必須修復 AWS 區域中的所有 S3 儲存貯體,則使用aws:RequestedRegion 條件金鑰來限制角色的許可。

無效的執行參數

您會收到以下錯誤訊息:

"Invalid execution parameters sent to Systems Automation.The defined assume role is unable to be assumed."

發生此錯誤的原因是 Systems Manager Automation 服務無法擔任 AutomationAssumeRole 角色。使用下列範例政策允許系統管理員擔任 IAM 角色:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
         "Service": "ssm.amazonaws.com"
       },
       "Action": "sts:AssumeRole"
     }
  ]
}

相關資訊

使用 AWS Config 規則修復不合規的資源

使用 AWS Config 自動修復功能的 Amazon S3 儲存貯體合規

AWS 官方
AWS 官方已更新 6 個月前