我可能在这里遗漏了一些明显的东西,但我似乎找不到关于从ECS任务定义的secret manager secret中检索特定键/值的文档。
我有一个像这样的ARN的秘密...
arn:aws:secretsmanager:<region>:<account>:secret:LDAP_Bind_Credentials-abcd在这个秘密中,我有这样的键/值对...
LDAP_BIND_USER: <ldap bind user name>
LDAP_BIND_PASSWORD: <ldap bind user password>我希望能够做的是,在我的任务定义LDAP_BIND_USER和LDAP_BIND_PASSWORD中定义环境变量,并在我的密钥中引用适当的密钥。
这实际上是可能的吗,或者我真的应该在我的程序中解码键/值对吗?
文档似乎只引用了密钥本身的ARN,而不是密钥中的密钥/值对。
发布于 2019-07-28 07:13:56
使用secret是不可能的,你必须在程序中进行解码。
通常,当ECS检索秘密时,它会在json对象中提供给我们,例如{"admin":"admin","pas":"pas"},我们必须以编程方式对其进行解码。
但另一种选择是使用AWS系统管理器参数存储1来存储机密,在这种情况下,ECS将直接为您提供它的实际值。
发布于 2020-09-06 03:23:33
自2020年2月以来,ECS任务定义现在支持从使用EC2启动类型的任务的JSON对象中的密钥读取AWS Secrets Manager密钥。
您可以在任务定义文件的containerDefinitions中添加以下内容
{
"containerDefinitions": [{
"secrets": [{
"name": "<environment_variable_name>",
"valueFrom": "arn:aws:secretsmanager:<region>:<account_id>:secret:<secret_name>:<json_key>::"
}]
}]
}https://stackoverflow.com/questions/57191835
复制相似问题