gpt4 book ai didi

aws-cloudformation - 如何使用 aws-cdk 将 secret 注入(inject) ecs 任务定义

转载 作者:行者123 更新时间:2023-12-03 07:15:19 34 4
gpt4 key购买 nike

我正在尝试将 secret 添加到任务定义中,但找不到方法来指定要使用 secret 中的键/值的键。

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 与 returned='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

最佳答案

如果 secret 位于同一帐户/区域,您应该能够执行以下操作:

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() 需要一个 ISecret 和一个字段

另请参阅https://docs.aws.amazon.com/cdk/api/latest/python/aws_cdk.aws_ecs/Secret.html#aws_cdk.aws_ecs.Secret.from_secrets_manager

关于aws-cloudformation - 如何使用 aws-cdk 将 secret 注入(inject) ecs 任务定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68172893/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com