以下是一个使用AWS CloudFormation创建RDS集群并将其ARN添加到同一模板中的策略的示例:
AWSTemplateFormatVersion: '2010-09-09'
Resources:
MyRDSDBCluster:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora
EngineMode: provisioned
MasterUsername: admin
MasterUserPassword: Password123
DBClusterIdentifier: my-db-cluster
AvailabilityZones:
- us-east-1a
- us-east-1b
BackupRetentionPeriod: 7
DBSubnetGroupName: my-db-subnet-group
MyRDSPolicy:
Type: AWS::IAM::ManagedPolicy
Properties:
PolicyName: MyRDSPolicy
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action: rds:DescribeDBClusters
Resource:
- !Sub "arn:aws:rds:${AWS::Region}:${AWS::AccountId}:db:${MyRDSDBCluster}"
在上述示例中,我们首先创建了一个RDS集群(MyRDSDBCluster
),然后创建了一个IAM管理策略(MyRDSPolicy
),并将其与RDS集群关联。在策略文档中,我们使用rds:DescribeDBClusters
操作来允许对RDS集群执行描述操作,并将RDS集群的ARN作为资源进行指定。
请注意,上述示例中的ARN使用了AWS::Region
和AWS::AccountId
内置函数来动态地生成,以确保在不同的AWS账户和区域中都能正常工作。
希望这个示例能够帮助你解决问题!