你可以使用AWS CloudFormation来创建一个数据库实例,并为该实例创建一个IAM角色。以下是一个示例解决方案:
Resources:
MyDatabaseInstance:
Type: "AWS::RDS::DBInstance"
Properties:
Engine: "mysql"
DBInstanceIdentifier: "my-database-instance"
AllocatedStorage: "20"
DBInstanceClass: "db.t2.micro"
MasterUsername: "admin"
MasterUserPassword: "admin123"
VPCSecurityGroups:
- !Ref MySecurityGroup
DBSubnetGroupName: "my-db-subnet-group"
PubliclyAccessible: false
Tags:
- Key: "Name"
Value: "MyDatabaseInstance"
MyDatabaseInstanceRole:
Type: "AWS::IAM::Role"
Properties:
RoleName: "MyDatabaseInstanceRole"
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
Service: "rds.amazonaws.com"
Action: "sts:AssumeRole"
MyDatabaseInstancePolicy:
Type: "AWS::IAM::Policy"
Properties:
PolicyName: "MyDatabaseInstancePolicy"
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Action:
- "rds:CreateDBInstance"
- "rds:DeleteDBInstance"
- "rds:DescribeDBInstances"
Resource: "*"
Roles:
- !Ref MyDatabaseInstanceRole
上述代码示例中,我们创建了一个数据库实例(MyDatabaseInstance
),并为该实例创建了一个IAM角色(MyDatabaseInstanceRole
)。这个角色具有允许执行RDS相关操作的权限。
请注意,这只是一个示例解决方案,你需要根据你的具体需求和环境进行调整和修改。
上一篇:AWS CloudFormation是否支持Macie?
下一篇:AWS CloudFormation属性验证失败:[在{ /ContainerProperties/Environment}中遇到不支持的属性。