当前位置: 首页 > 知识库问答 >
问题:

使用JavaScript在一个API调用中从AWS秘密管理器请求2个秘密

章锦
2023-03-14

背景

我正在使用AWS秘密管理器在AWS中存储一些不同的密码和秘密值。第一个条目是专门针对AWS RDS信息的。

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

const secretRds = 'some/thing/something';
client.getSecretValue({ SecretId: secretRds }, {...}
const secretRds = 'some/thing/something';
const secretConfigs = 'some/thing/sopmethingElse';

由于原始的secretId是作为getsecretvalue参数中的值传入secretId键的,那么如何传入第二个secretId

查看这里的文档,我似乎找不到任何解释这一点的东西。

像这样的事情是我想要完成的,

显然,这不起作用,因为密钥被命名了两次。我需要理解如何将2个分泌物传递给同一个分泌物。

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

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

共有1个答案

上官自明
2023-03-14

不幸的是,Secretites Manager API不支持在单个GetSecretValue调用中传递多个SecreTID。

似乎没有任何方法可以在单个API调用中检索超过1个的secret值。您必须对GetSecretValue发出2个不同的API调用。

 类似资料:
  • 我们在AWS环境中部署了完整的应用程序,我们发现AWS秘密管理器是存储数据库和其他一些组件的秘密的正确选择。

  • 我创造了一个“其他类型的秘密”。我还在这个模板中添加了一个作为give的lambda函数。现在,当我试图立即旋转时,它会说“Fail to Rotion the secret”test_secret_Rothing“以前的旋转没有完成。将重新尝试该旋转。”轮转的时间是一天,即使第二天我看到分泌物也没有更新。我只是添加了那个lambda函数。我需要定义任何参数或任何其他lambda设置吗。我还在文档

  • null 例如,轮转设定为7天。所以我在我的应用程序中编码每7天刷新一次...不好,因为很难精确计时。 另一种方法是,如果我的应用程序面临身份验证异常,只需刷新密码,建立一个新的连接,并重试应用程序逻辑。 行业标准是什么?

  • 我有一个使用Bosh部署的concourse环境。它配置有AWS机密管理器。管道机密模板的格式为 我在AWS秘密管理器(其他类型的秘密)中创建了一个秘密,其值如下。 我在团队中设置了一个总汇管道。

  • 我有一个秘密存储在使用Terraform模块部署的AWS秘密管理器中,该模块支持秘密循环。我没有访问那个模块的源代码,所以我不能修改它。我想使用Terraform禁用秘密旋转。我应该使用哪种资源?需要如下所示的所有3个参数,并且没有任何参数来禁用循环。属性接受1到365之间的值,因此传递0也不是一个选项。

  • 我正在尝试使用秘密管理器AWS中的一个Lambda函数。Secrets manager用于将数据库凭据存储到Snowflake(用户名、密码)。 如何才能做到这一点?谢谢你的帮助!