amazon-cloudformation - 如何使用 aws-cdk 向 ecs 任务定义注入秘密
问题描述
我正在尝试将机密添加到任务定义中,但找不到从机密中的键/值中指定要使用哪个键的方法。
secrets = {
"DBUSER": ecs.Secret.from_secrets_manager(
sm.Secret.from_secret_complete_arn(
self, 'secret-dbuser',
'arn:aws:secretsmanager:eu-west-1:accountid:secret:secret-name').secret_value_from_json('DBUSER')
)
}
container: ecs.ContainerDefinition = task_definition.add_container(
"reports",
image=ecs.RepositoryImage.from_ecr_repository(
ecr.Repository.from_repository_name(self, "container", "container"), tag=image_tag,
),
memory_limit_mib=2048, logging=ecs.LogDriver.aws_logs(stream_prefix="container-"),
secrets=secrets
)
secret_value_from_json 返回一个 SecretValue,这不是我需要的。我也尝试过使用 from_secret_manager 和 filed='DBUSER' 但这给了我这样的错误
Invalid request provided: Create TaskDefinition: The Systems Manager parameter name specifie
d for secret DBUSER is invalid. The parameter name can be up to 2048 characters and include the following letters and symbols: a
-zA-Z0-9_.-, (Service: AmazonECS; Status Code: 400; Error Code: ClientException; Request ID
解决方案
如果密钥在同一个帐户/区域中,您应该能够:
secrets = {
"DBUSER": ecs.Secret.from_secrets_manager(
# import the secret by its name
sm.Secret.from_secret_name_v2(self, 'secret-dbuser', '<secret-name-here>'),
# specify the specific field
'DBUSER'
)
}
container: ecs.ContainerDefinition = task_definition.add_container(
"reports",
image=ecs.RepositoryImage.from_ecr_repository(
ecr.Repository.from_repository_name(self, "container", "container"), tag=image_tag,
),
memory_limit_mib=2048, logging=ecs.LogDriver.aws_logs(stream_prefix="container-"),
secrets=secrets
)
ecs.Secret.from_secrets_manager()
期望 aISecret
和 a field
。
推荐阅读
- typescript - NSwag / OpenAPI - 共享/通用类型定义
- php - 多边形中的 PHP 点和 Geojson 解码
- c# - 如何获取 ReportExecution2005.asmx 中依赖参数的参数 ValidValues?
- python - Pandas:根据列名重新排序列
- powershell - 使用 powershell 脚本上传 Powerbi PDF 文件
- javascript - 使 jQuery Ajax 代码更高效/更合乎逻辑的选项
- python - How do I load a yolov5l model with custom weights into torch in python?
- jpa - Sonar Qube Issue: Remove this forbidden call: Native Queries
- google-apps-script - Questions cannot have duplicate choice values Google Sheet to Google Form error
- wordpress - Adding server credentials to WordPress Jetpack