Amazon web services AWS CloudFormation创建RDS群集并将其ARN添加到同一模板中的策略中

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

我正在创建一个RDS群集,并在同一模板中创建一个具有某些权限的策略,以允许在该群集上执行特定操作

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}'


您收到的错误消息是什么?