我正在为S3 bucket编写一个cfn模板。我已将桶中主体策略定义为
Principal:
AWS:
Fn::Join:
- ''
- - 'arn:aws:s3:::'
- !Ref "AWS::AccountId"
- ":root"
我想把本金作为aws帐户。这给了我一个无效的主要错误。请帮助
对于Fn::Join,您需要两个级别的-
,而且它应该是iam
:
Principal:
AWS:
Fn::Join:
- ''
- - 'arn:aws:iam::'
- !Ref "AWS::AccountId"
- ":root"
但使用Sub:会更容易
Principal:
AWS: !Sub 'arn:aws::${AWS::AccountId}:root"
IAM根主体的ARN看起来像arn:aws:iam::1234567890:root
。
注意:iam
,而不是s3
,帐号前有两个冒号,而不是3。