AWS CloudFormation 创建 RDS 集群并将其 ARN 添加到同一模板中的策略
AWS CloudFormation create RDS cluster and add its ARN to a policy in the same template
我正在创建一个 RDS cluster
,并且在同一个模板中创建一个策略,该策略具有允许对该集群执行特定操作的某些权限。
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 的末尾添加了那个随机字符串,在这个例子中 no1yzvzs29sq 我不知道如何在名称的 "whitelist" 部分使用通配符之类的东西。
我想要类似的东西
arn:aws:rds:us-east-1:1111111111:cluster:production-mycluster-rdscluster-*
但是没用。我将不胜感激!
基于docs:
Amazon RDS Data API does not support specifying a resource ARN in the Resource
element of an IAM policy statement. To allow access to Amazon RDS Data API, specify “Resource”: “*”
in your policy.
所以在这一点上,您似乎受困于看起来像
的政策
Statement:
- Effect: Allow
Actions:
- 'rds-data:BatchExecuteStatement'
- 'rds-data:ExecuteStatement'
Resource: '*'
您可以根据集群名称自行构建ARN。
例如:
Statement:
- Effect: Allow
Actions:
- 'rds-data:BatchExecuteStatement'
- 'rds-data:ExecuteStatement'
Resource: !Sub 'arn:${AWS::Partition}:rds:${AWS::Region}:${AWS::AccountId}:cluster:${MyDBCluster}'
我正在创建一个 RDS cluster
,并且在同一个模板中创建一个策略,该策略具有允许对该集群执行特定操作的某些权限。
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 的末尾添加了那个随机字符串,在这个例子中 no1yzvzs29sq 我不知道如何在名称的 "whitelist" 部分使用通配符之类的东西。
我想要类似的东西
arn:aws:rds:us-east-1:1111111111:cluster:production-mycluster-rdscluster-*
但是没用。我将不胜感激!
基于docs:
Amazon RDS Data API does not support specifying a resource ARN in the
Resource
element of an IAM policy statement. To allow access to Amazon RDS Data API, specify“Resource”: “*”
in your policy.
所以在这一点上,您似乎受困于看起来像
的政策Statement:
- Effect: Allow
Actions:
- 'rds-data:BatchExecuteStatement'
- 'rds-data:ExecuteStatement'
Resource: '*'
您可以根据集群名称自行构建ARN。
例如:
Statement:
- Effect: Allow
Actions:
- 'rds-data:BatchExecuteStatement'
- 'rds-data:ExecuteStatement'
Resource: !Sub 'arn:${AWS::Partition}:rds:${AWS::Region}:${AWS::AccountId}:cluster:${MyDBCluster}'