使用 SSM 密钥字符串创建粘附连接在 CDK 中失败



我正在使用cdk来定义我的ETL管道。管道的第一步是创建通过 JDBC 连接连接到 RDS 实例的爬网程序,以提取架构元数据。

我正在尝试创建一个glue.CfnConnection,在其中传入需要作为秘密字符串从 SSM 获取的connectionPropertiesUSERNAMEPASSWORD

我尝试了各种方法来使用ssm.StringParameter.valueForSecureStringParameter()获取机密,如下所示:https://docs.aws.amazon.com/cdk/latest/guide/get_ssm_value.html

我还尝试使用此处概述的ssm.StringParameter.fromSecureStringParameterAttributes():https://docs.aws.amazon.com/cdk/api/latest/docs/aws-ssm-readme.html

当我合成模板时,它会正确呈现值以进行动态引用:

"ConnectionProperties": {
"JDBC_CONNECTION_URL": "url",
"USERNAME": "{{resolve:ssm-secure:<secret-name>/username:version}}",
"PASSWORD": "{{resolve:ssm-secure:<secret-name>/password:version}}"
}

但是当我尝试部署它时,我收到错误:SSM Secure reference is not supported,这导致我这样做,这表明并非所有 Cfn 资源都支持动态引用:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html

有没有更好的方法

我正在使用SecretsManager来存储用户名和密码,这对我有用:

"ConnectionProperties": {
"JDBC_CONNECTION_URL": "url",
"USERNAME": "{{resolve:secretsmanager:<secret-name>}}",
"PASSWORD": "{{resolve:secretsmanager:<secret-name>}}"
}

最新更新