无法为 S3 中的日志跨账户写入创建存储桶策略
Unable to create bucket policy for cross account write of logs in S3
我正在尝试将 Cloudwatch 日志流中的日志写入跨账户 S3 存储桶。在账户 B 中创建存储桶策略时,出现以下错误。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutBucketAcl",
"s3:PutObject",
"s3:getobject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::ayush-test-b3245-4676/*",
"Principal": {
"AWS": "arn:aws:iam::45097+@#%^*#:role/service-role/s3-bucket-lambda-role-uz281"
}
}
]
}
请帮我解决这个问题,我想添加一个 Lambda 角色来写入这些日志。
Error Screenshot
评论里已经有答案了,我再解释一下。
在资源部分,您需要有一个资源对应于您放入 Action 数组中的每个操作。在这种情况下,PutBucketAcl
需要一个存储桶资源,而在您的示例中,您只有一个与存储桶内的对象相对应的资源。
此外,请仔细检查 s3:getobject
的拼写,应该是 s3:GetObject
。
我正在尝试将 Cloudwatch 日志流中的日志写入跨账户 S3 存储桶。在账户 B 中创建存储桶策略时,出现以下错误。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutBucketAcl",
"s3:PutObject",
"s3:getobject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::ayush-test-b3245-4676/*",
"Principal": {
"AWS": "arn:aws:iam::45097+@#%^*#:role/service-role/s3-bucket-lambda-role-uz281"
}
}
]
}
请帮我解决这个问题,我想添加一个 Lambda 角色来写入这些日志。
Error Screenshot
评论里已经有答案了,我再解释一下。
在资源部分,您需要有一个资源对应于您放入 Action 数组中的每个操作。在这种情况下,PutBucketAcl
需要一个存储桶资源,而在您的示例中,您只有一个与存储桶内的对象相对应的资源。
此外,请仔细检查 s3:getobject
的拼写,应该是 s3:GetObject
。