在一次 API 调用 JavaScript 中从 AWS Secrets Manager 请求 2 个密钥
Requesting 2 secrets from AWS Secrets Manager in One API Call with JavaScript
背景
我正在使用 AWS Secrets Manager 在 AWS 中存储一些不同的密码和秘密值。第一个条目专门用于 AWS RDS 信息。
要在 Secrets Manager 中输入任意机密数据,您必须 select 与 RDS 不同的条目。
我这样做了,然后创建了几个要存储的键值对。完成此操作后,我就有了 2 组 SecretId。 SecretIds 用于 return 来自 Secrets Manager 的正确机密。我有 2 个不同的 SecretId,需要 return 2 组不同的秘密。我希望我可以做到这一点而不必进行 2 个单独的 API 调用。
例子
最初这是 returnRDS 用户名和密码的 secretId。
const secretRds = 'some/thing/something';
我能够 return 这样的数据,
client.getSecretValue({ SecretId: secretRds }, {...}
问题
现在我有了第二个 secretId,我有 2 个这样的集合,
const secretRds = 'some/thing/something';
const secretConfigs = 'some/thing/sopmethingElse';
由于原始 secretId 已作为 getSecretValue
参数中的值传递到 SecretId
键中,我如何传递第二个 secretId
?
查看文档 here,我似乎找不到任何解释这一点的内容。
这就是我想要完成的事情,
显然这行不通,因为密钥被命名了两次。
我需要了解如何将 2 个 secretId 传递给同一个 secretId。
const secretRds = 'some/thing/something';
const secretConfigs = 'some/thing/sopmethingElse';
client.getSecretValue({ SecretId: secretRds: SecretId: secretConfigs }, {...}
不幸的是,Secrets Manager API does not support passing multiple SecretId's in a single GetSecretValue
调用。
似乎没有任何方法可以在单个 API 调用中检索超过 1 个秘密值。您必须向 GetSecretValue
.
发出 2 次不同的 API 调用
您存储的这些值是什么?如果它们是相关的,例如数据库用户名、密码和连接字符串,您可以将它们全部存储在秘密中的同一个 JSON blob 中。您可以返回控制台并编辑密钥以组合所有内容。
如果它们并非全都相关,您可能希望将它们保存在单独的秘密中,以便您可以单独管理对它们的权限。
背景
我正在使用 AWS Secrets Manager 在 AWS 中存储一些不同的密码和秘密值。第一个条目专门用于 AWS RDS 信息。
要在 Secrets Manager 中输入任意机密数据,您必须 select 与 RDS 不同的条目。
我这样做了,然后创建了几个要存储的键值对。完成此操作后,我就有了 2 组 SecretId。 SecretIds 用于 return 来自 Secrets Manager 的正确机密。我有 2 个不同的 SecretId,需要 return 2 组不同的秘密。我希望我可以做到这一点而不必进行 2 个单独的 API 调用。
例子
最初这是 returnRDS 用户名和密码的 secretId。
const secretRds = 'some/thing/something';
我能够 return 这样的数据,
client.getSecretValue({ SecretId: secretRds }, {...}
问题
现在我有了第二个 secretId,我有 2 个这样的集合,
const secretRds = 'some/thing/something';
const secretConfigs = 'some/thing/sopmethingElse';
由于原始 secretId 已作为 getSecretValue
参数中的值传递到 SecretId
键中,我如何传递第二个 secretId
?
查看文档 here,我似乎找不到任何解释这一点的内容。
这就是我想要完成的事情,
显然这行不通,因为密钥被命名了两次。 我需要了解如何将 2 个 secretId 传递给同一个 secretId。
const secretRds = 'some/thing/something';
const secretConfigs = 'some/thing/sopmethingElse';
client.getSecretValue({ SecretId: secretRds: SecretId: secretConfigs }, {...}
不幸的是,Secrets Manager API does not support passing multiple SecretId's in a single GetSecretValue
调用。
似乎没有任何方法可以在单个 API 调用中检索超过 1 个秘密值。您必须向 GetSecretValue
.
您存储的这些值是什么?如果它们是相关的,例如数据库用户名、密码和连接字符串,您可以将它们全部存储在秘密中的同一个 JSON blob 中。您可以返回控制台并编辑密钥以组合所有内容。
如果它们并非全都相关,您可能希望将它们保存在单独的秘密中,以便您可以单独管理对它们的权限。