Terraform 如何使用bucket策略允许S3 bucket跨帐户访问

Terraform 如何使用bucket策略允许S3 bucket跨帐户访问,terraform,terraform-provider-aws,terraform0.12+,terraform-modules,Terraform,Terraform Provider Aws,Terraform0.12+,Terraform Modules,Iam对各种帐户使用下面的bucket策略,将日志推送到位于“ACCOUNT-ID-0”中的集中S3 bucket中: 我在帐户ID-0中有此策略 { “版本”:“2012-10-17”, “声明”:[ { “Sid”:“AWSLogDeliveryWrite”, “效果”:“允许”, “委托人”:{ “服务”:[ “cloudtrail.amazonaws.com”, “config.amazonaws.com”, “delivery.logs.amazonaws.com” ] }, “操作

Iam对各种帐户使用下面的bucket策略,将日志推送到位于“ACCOUNT-ID-0”中的集中S3 bucket中:

我在帐户ID-0中有此策略

{
“版本”:“2012-10-17”,
“声明”:[
{
“Sid”:“AWSLogDeliveryWrite”,
“效果”:“允许”,
“委托人”:{
“服务”:[
“cloudtrail.amazonaws.com”,
“config.amazonaws.com”,
“delivery.logs.amazonaws.com”
]
},
“操作”:“s3:PutObject”,
“资源”:[
“arn:aws:s3:::BUCKET-NAME/vpc流日志/AWSLogs/{ACCOUNT-ID-01}/*”,
“arn:aws:s3:::BUCKET-NAME/cloudtrail/AWSLogs/{ACCOUNT-ID-02}/*”
],
“条件”:{
“StringEquals”:{
“s3:x-amz-acl”:“桶所有者完全控制”
}
}
},
{
“Sid”:“AWSLogDeliveryAclCheck”,
“效果”:“允许”,
“委托人”:{
“服务”:[
“cloudtrail.amazonaws.com”,
“config.amazonaws.com”,
“delivery.logs.amazonaws.com”
]
},
“操作”:“s3:GetBucketAcl”,
“资源”:“arn:aws:s3:::BUCKET-NAME”
}
]

}
您可以通过以下语句在
ACCOUNT-ID-0
中扩展当前bucket策略:

{
    "Sid": "AllowReadsFromOtherAccount",
    "Effect": "Allow",
    "Principal": {
        "AWS": "ACCOUNT-ID-03"
    },
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::BUCKET-NAME/awsconfigconforms-rules/*"
}

请注意,您在
ACCOUNT-ID-03
中使用的IAM用户/角色也需要读取s3的权限。

因此您希望允许从
ACCOUNT-ID-03
读取
ACCOUNT-ID-03中的bucket?是的,对于s3:bucket-NAME/awsconfigconforms规则中的特定文件夹也是如此