首页 > 解决方案 > 如何使用 CDK 将 *all* 机密注入 ECS 任务

问题描述

我正在使用 AWS-CDK 部署 ECS 集群,我想从 Secrets Manager 添加密钥。秘密是一个带有许多键/值对的大型 JSON blob。我在我的任务定义中使用以下内容在我的任务定义中包含秘密:

secrets: {
  FOO: Secret.fromSecretsManager(mySecret, 'FOO'),
  BAR: Secret.fromSecretsManager(mySecret, 'BAR'),
  BAZ: Secret.fromSecretsManager(mySecret, 'BAZ'),
  ...
}

这很好用,但我必须手动将每个密钥添加到此任务定义中,这开始变得笨拙。

是否可以动态注入在给定秘密中定义的所有键/值对?

标签: aws-cdkaws-secrets-manager

解决方案


CDK 不知道您的秘密具有哪些字段,并且任务定义必须明确指定每个秘密。

因此,除了修改 Secret 的结构(听起来您可以使用多个 Secret)之外,您唯一的解决方案是将整个 JSON 字符串传递给容器并让它解析出来。


推荐阅读