如何从serverless.yml中的密钥管理器引用对象值? [英] How can I reference a object value from secret manager in serverless.yml?
本文介绍了如何从serverless.yml中的密钥管理器引用对象值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
serverless
将应用部署到AWS。并需要在部署期间从iciManager读取值。我已阅读此文档:https://www.serverless.com/framework/docs/providers/aws/guide/variables/#reference-variables-using-the-ssm-parameter-store
它显示了如何阅读:
custom: supersecret: ${ssm:/aws/reference/secretsmanager/secret_ID_in_Secrets_Manager~true}
但是,它可用于从密钥管理器读取字符串值。我的秘诀是包含key/value
对的对象。如何读取机密中的key
?
我尝试过这样的操作:
custom: supersecret: ${ssm:/aws/reference/secretsmanager/secret_ID_in_Secrets_Manager:MY_KEY~true}
custom: supersecret: ${ssm:/aws/reference/secretsmanager/secret_ID_in_Secrets_Manager/MY_KEY~true}
但都不起作用。
推荐答案
无服务器将为您解析对象。
假设secret_ID_in_Secrets_Manager
的内容如下:
{
"foo": "foo",
"bar": "bar"
}
然后,如果您在serverless.yml
中定义您的自定义变量,如下所示:
custom:
supersecret: ${ssm:/aws/reference/secretsmanager/secret_ID_in_Secrets_Manager~true}
然后将解析为:
custom:
supersecret:
foo: foo
bar: bar
您可以使用${self:custom.supersecret.foo}
和${self:custom.supersecret.bar}
在serverless.yml
中引用它们。
查看Serverless documentation和搜索变量也可以是对象,因为AWS Secrets Manager不仅可以以纯文本存储机密,还可以以JSON存储机密。。
这篇关于如何从serverless.yml中的密钥管理器引用对象值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文