Amazon web services AWS CloudFormation创建RDS群集并将其ARN添加到同一模板中的策略中
我正在创建一个RDS群集,并在同一模板中创建一个具有某些权限的策略,以允许在该群集上执行特定操作Amazon web services AWS CloudFormation创建RDS群集并将其ARN添加到同一模板中的策略中,amazon-web-services,amazon-cloudformation,aws-policies,Amazon Web Services,Amazon Cloudformation,Aws Policies,我正在创建一个RDS群集,并在同一模板中创建一个具有某些权限的策略,以允许在该群集上执行特定操作 Statement: - Effect: Allow Actions: - 'rds-data:BatchExecuteStatement' - 'rds-data:ExecuteStatement' Resource: 'arn:aws:rds:us-east-1:1111111111:cluster:production-mycluster-rdscl
Statement:
- Effect: Allow
Actions:
- 'rds-data:BatchExecuteStatement'
- 'rds-data:ExecuteStatement'
Resource: 'arn:aws:rds:us-east-1:1111111111:cluster:production-mycluster-rdscluster-no1yzvzs29sq'
问题是AWS::RDS::DBCluster不支持Fn::GetAtt ARN,而且,由于RDS在ARN的末尾添加了该随机字符串,在本例中,我不知道如何使用诸如通配符之类的内容来白名单部分名称
我想要类似的东西
arn:aws:rds:us-east-1:1111:cluster:production mycluster rdscluster-*
但它不起作用。我会感谢你的帮助 基于:
Amazon RDS数据API不支持在IAM策略语句的资源元素中指定资源ARN。要允许访问Amazon RDS数据API,请在策略中指定“资源”:“*”
所以在这一点上,你似乎被困在了一个
声明:
-效果:允许
行动:
-'rds数据:BatchExecuteStatement'
-“rds数据:执行声明”
资源:'*'
您可以自己根据集群名称构建ARN
例如:
Statement:
- Effect: Allow
Actions:
- 'rds-data:BatchExecuteStatement'
- 'rds-data:ExecuteStatement'
Resource: !Sub 'arn:${AWS::Partition}:rds:${AWS::Region}:${AWS::AccountId}:cluster:${MyDBCluster}'
您收到的错误消息是什么?