Запрос 2 секретов из AWS Secrets Manager в одном вызове API с JavaScript
Фон
Я использую AWS Secrets Manager для хранения нескольких разных паролей и секретных значений в AWS. Первая запись специально для информации AWS RDS.
Чтобы ввести произвольные секретные данные в Secrets Manager, вы должны выбрать запись, отличную от RDS.
Я сделал это, а затем создал несколько пар ключ-значение для хранения. Теперь, когда я сделал это, у меня есть 2 набора SecretIds. SecretIds - это то, что используется для возврата правильного секрета из диспетчера секретов. У меня есть 2 разных секретных идентификатора, и мне нужно вернуть 2 разных набора секретов. Я надеюсь, что смогу сделать это без необходимости делать 2 отдельных вызова API.
пример
Первоначально это был secretId для возврата имени пользователя и пароля RDS.
const secretRds = 'some/thing/something';
Я смог вернуть эти данные, как это,
client.getSecretValue({ SecretId: secretRds }, {...}
Вопрос
Теперь, когда у меня есть второй секрет, у меня есть 2 набора, которые выглядят так,
const secretRds = 'some/thing/something';
const secretConfigs = 'some/thing/sopmethingElse';
Поскольку первоначальный секретный идентификатор был передан в SecretId
ключ в качестве значения в getSecretValue
params, как мне пройти секунду secretId
в?
Глядя на документацию здесь, я не могу найти ничего, объясняющего это.
Что-то вроде этого - то, чего я пытаюсь достичь,
Очевидно, это не сработает, потому что ключ назван дважды. Мне нужно понять, как передать 2 секретных идентификатора в один и тот же секретный идентификатор.
const secretRds = 'some/thing/something';
const secretConfigs = 'some/thing/sopmethingElse';
client.getSecretValue({ SecretId: secretRds: SecretId: secretConfigs }, {...}
2 ответа
К сожалению, API Secrets Manager не поддерживает передачу нескольких SecretId в один GetSecretValue
вызов.
Кажется, нет никакого способа получить более 1 секретного значения за один вызов API. Вам нужно будет выполнить 2 разных вызова API для GetSecretValue
,
Какие эти ценности вы храните? Если они связаны, например, имя пользователя БД, пароль и строка подключения, вы можете просто сохранить их все в одном и том же BLOB-объекте JSON в секрете. Вы можете вернуться к консоли и отредактировать секрет, чтобы объединить все.
Если они не все связаны, вы, вероятно, захотите хранить их в отдельных секретах, чтобы вы могли управлять разрешениями для них отдельно.