【问题标题】:Using SSM Secret Strings to create a Glue Connection fails in CDK在 CDK 中使用 SSM 秘密字符串创建胶水连接失败
【发布时间】:2020-08-31 11:56:33
【问题描述】:

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

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

我尝试了各种方法来使用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

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: amazon-web-services aws-glue aws-cdk


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      • 2021-03-30
      • 2017-11-24
      • 2022-11-02
      相关资源
      最近更新 更多