Cloudformation - 指定S3 ACL主体

0

【以下的问题经过翻译处理】 你好,

我试图在S3 ACL策略中使用Fn:GetAtt指定一个主体,但始终收到“无效的桶策略语法”错误。以下是摘录,我做错了什么?

“ingestions3bucketbucketpolicy”:{
    “Type”:“AWS :: S3 :: BucketPolicy”,
    “Properties”:{
        “Bucket”:{
            “Ref”:“ingestions3bucket”
        },
        “PolicyDocument”:{
            “Statement”:[
                {
                    “Action”:[
                        “s3:PutObject”
                    ],
                    “Effect”:“Allow”,
                    “Resource”:{
                        “Fn :: Join”:[
                            “”,
                            [
                                “arn:aws:s3 :::”,
                                {
                                    “Ref”:“ingestions3bucket”
                                },
                                “/*”
                            ]
                        ]
                    },
                    “Principal”:{
                        “Fn :: Join”:[
                            “”,
                            [
                                “\”AWS \“:”,
                                {
                                    “Fn :: GetAtt”:[
                                        “IngestionServiceRole”,
                                        “Arn”
                                    ]
                                }
                            ]
                        ]
                    }
                }
            ]
        }
    },
    “DependsOn”:“IngestionServiceRole”
}
profile picture
专家
已提问 5 个月前63 查看次数
1 回答
0

【以下的回答经过翻译处理】 主体是一个对象,只有一个属性——在这种情况下是“AWS”。你上面的代码指定了以“AWS:”开头的字符串。


"Principal":  {
    "AWS" : { "Fn::GetAtt": [ "IngestionServiceRole",  "Arn" ] }
}

有关更多信息,请参见http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Principal

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则