代码之家  ›  专栏  ›  技术社区  ›  wuno

使用JavaScript在一个API调用中从AWS secrets Manager请求2个机密

  •  1
  • wuno  · 技术社区  · 7 年前

    要在Secrets Manager中输入任意机密数据,必须选择与RDS不同的条目。

    enter image description here

    例子

    原来这是用来返回RDS用户名和密码的秘密。

    const secretRds = 'some/thing/something';
    

    我可以这样返回数据,

    client.getSecretValue({ SecretId: secretRds }, {...}
    

    问题

    现在我有了第二个秘密我有两套像这样的,

    const secretRds = 'some/thing/something';
    const secretConfigs = 'some/thing/sopmethingElse';
    

    因为最初的秘密被传给了 SecretId 键作为 getSecretValue secretId 在哪?

    查看文档 here ,我似乎找不到任何解释。

    显然,这是行不通的,因为密钥被命名了两次。 我需要知道如何把两个分泌物传给同一个分泌物。

    const secretRds = 'some/thing/something';
    const secretConfigs = 'some/thing/sopmethingElse';
    
    client.getSecretValue({ SecretId: secretRds: SecretId: secretConfigs }, {...}
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   spg    7 年前

    不幸的是 Secrets Manager API 不支持一次传递多个秘密 GetSecretValue

    似乎没有任何方法可以在单个API调用中检索超过1个秘密值。您必须发出两个不同的API调用 获取分泌值

        2
  •  0
  •   JoeB    7 年前

    您存储的这些值是什么?如果它们是相关的,比如DB用户名、密码和连接字符串,您可以将它们全部存储在secret中的同一个JSON blob中。你可以回到控制台编辑这个秘密来组合所有的东西。

    如果它们不是全部相关的,您可能希望将它们单独保密,以便可以分别管理对它们的权限。