AWS::RDS::DBProxy AuthFormat关联的密钥需包含哪些内容
你提供的CloudFormation配置示例参考:
Resources: TestDBProxy: Type: AWS::RDS::DBProxy Properties: DBProxyName: !Ref ProxyName EngineFamily: MYSQL RoleArn: !Ref BootstrapSecretReaderRoleArn Auth: - {AuthScheme: SECRETS, SecretArn: !Ref BootstrapProxySecretArn, IAMAuth: DISABLED} VpcSubnetIds:
问题解答
你在CloudFormation模板中通过BootstrapProxySecretArn引用的Secrets Manager密钥,确实是用于存储目标RDS数据库登录凭证的密钥,核心存储内容就是数据库的用户名和密码。
该密钥需要符合以下格式要求:
必须为JSON结构的键值对,至少包含username和password两个必填字段,分别对应数据库的合法登录账号和对应密码,示例结构如下:
{ "username": "your_database_username", "password": "your_database_login_password" }
额外注意事项
- 你为DBProxy配置的关联IAM角色(示例中的
BootstrapSecretReaderRoleArn)必须配置对应的权限策略:需要允许该角色调用secretsmanager:GetSecretValue接口读取该密钥的内容;如果该密钥使用了自定义KMS CMK进行加密,还需要额外为角色授予该KMS密钥的kms:Decrypt权限。 - 即使你将Auth配置项的
IAMAuth参数设置为ENABLED(即客户端连接DB Proxy时使用IAM身份鉴权),该密钥依然为必填配置:DB Proxy本身需要通过该密钥中的凭证,完成与后端RDS数据库的身份验证。
你示例中使用的MYSQL引擎遵循上述规则,PostgreSQL等其他支持RDS Proxy的引擎也采用相同的密钥格式要求。
内容的提问来源于stack exchange,提问作者Migwell
相关产品推荐
相关产品推荐

