小编eve*_*way的帖子

AWS:将日志从 Cloudwatch 导出到 Amazon S3 的权限

我正在尝试使用 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这样做,但事实并非如此。

谢谢你的帮助。

amazon-s3 amazon-web-services amazon-iam amazon-cloudwatch

12
推荐指数
1
解决办法
2万
查看次数