我正在尝试使用 AWS 控制台将日志从我的 CloudWatch 日志组之一导出到 Amazon S3。
我按照AWS 文档中的指南进行操作,但收效甚微。我的组织不允许我管理 IAM 角色/策略,但我发现我的角色允许执行所有与日志相关的操作(logs:*在账户内的所有资源上)。
目前,我遇到了以下错误消息:
无法创建导出任务。对给定存储桶的 PutObject 调用失败。请检查 CloudWatch Logs 是否已被授予执行此操作的权限。
我的存储桶策略设置如下:
{
[
...
{
"Sid": "Cloudwatch Log Export 1",
"Effect": "Allow",
"Principal": {
"Service": "logs.eu-central-1.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::my-bucket"
},
{
"Sid": "Cloudwatch Log Export 2",
"Effect": "Allow",
"Principal": {
"Service": "logs.eu-central-1.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在编辑存储桶策略之前,我的错误消息是
无法创建导出任务。对给定存储桶的 GetBucketAcl 调用失败。请检查 CloudWatch Logs 是否已被授予执行此操作的权限。
但编辑存储桶策略解决了这个问题。我希望允许PutObject这样做,但事实并非如此。
谢谢你的帮助。