Zha*_* Yi 12 amazon-web-services serverless-framework aws-secrets-manager
我正在通过serverless
. 并且需要在部署期间从secretmanager读取值。我已阅读此文档: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}
但他们都没有工作。
yve*_*ine 14
Serverless 将为您解析该对象。
假设你的内容secret_ID_in_Secrets_Manager
如下所示:
{
"foo": "foo",
"bar": "bar"
}
Run Code Online (Sandbox Code Playgroud)
然后,如果您像这样定义自定义变量serverless.yml
:
custom:
supersecret: ${ssm:/aws/reference/secretsmanager/secret_ID_in_Secrets_Manager~true}
Run Code Online (Sandbox Code Playgroud)
那么这将解决:
custom:
supersecret:
foo: foo
bar: bar
Run Code Online (Sandbox Code Playgroud)
serverless.yml
您可以使用${self:custom.supersecret.foo}
和在内部引用它们${self:custom.supersecret.bar}
。
请参阅无服务器文档并搜索变量也可以是对象,因为 AWS Secrets Manager 不仅可以以纯文本形式存储密钥,还可以以 JSON 形式存储密钥。。
归档时间: |
|
查看次数: |
11979 次 |
最近记录: |