我想使用 AWS-ConfigureS3BucketLogging 运行手册来修复不合规的资源。但是,自动修复失败并出现“操作执行失败”错误。
简短描述
AWS Config 规则 s3-bucket-logging-enabled 会检查目标 Amazon Simple Storage Service (Amazon S3) 存储桶的日志记录是否已开启。然后,AWS-ConfigureS3BucketLogging AWS Systems Manager 自动化运行手册会修复不合规的资源。
AWS-ConfigureS3BucketLogging 运行手册必须具有以下权限:
解决方法
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时遇到错误,请参阅排查 AWS CLI 错误。此外,确保您使用的是最新版本的 AWS CLI。
要解决操作执行失败错误,必须运行 describe-remediation-execution-status AWS CLI 命令来查看详细的错误消息。
有关更多信息,请参阅如何对 AWS Config 中的失败修正操作进行问题排查?
访问被拒绝
您会收到以下错误:
"Step fails when it is Execute/Cancelling action.An error occurred (AccessDenied) when calling the PutBucketLogging operation: Access Denied.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 角色。请使用以下示例策略允许 Systems Manager 代入 IAM 角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
相关信息
Remediating noncompliant resources with AWS Config rules
Amazon S3 bucket compliance using AWS Config auto remediation feature