2

背景

我正在使用 AWS Secrets Manager 在 AWS 中存储一些不同的密码和密钥值。第一个条目专门用于 AWS RDS 信息。

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

在此处输入图像描述

我这样做了,然后创建了一些要存储的键值对。现在我已经这样做了,我有 2 组 SecretId。SecretIds 用于从 Secrets Manager 返回正确的密钥。我有 2 个不同的 SecretId,需要返回 2 组不同的秘密。我希望我可以做到这一点,而不必进行 2 次单独的 API 调用。

例子

最初这是用于返回 RDS 用户名和密码的 secretId。

const secretRds = 'some/thing/something';

我能够像这样返回这些数据,

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

问题

现在我有了第二个 secretId 我有 2 套看起来像这样,

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

由于原始的 secretId 作为参数中的值传递到SecretId键中getSecretValue,我如何传递第二个secretId

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

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

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

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

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

2 回答 2

3

不幸的是,Secrets Manager API不支持在一次GetSecretValue调用中传递多个 SecretId。

似乎没有任何方法可以在单个 API 调用中检索超过 1 个秘密值。您将不得不发出 2 个不同的 API 调用到GetSecretValue.

于 2018-10-18T22:03:24.313 回答
1

您存储的这些值是什么?如果它们是相关的,例如数据库用户名、密码和连接字符串,您可以将它们全部存储在密钥中的同一个 JSON blob 中。您可以返回控制台并编辑密钥以组合所有内容。

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

于 2018-11-16T01:32:34.893 回答