Запрос 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 в секрете. Вы можете вернуться к консоли и отредактировать секрет, чтобы объединить все.

Если они не все связаны, вы, вероятно, захотите хранить их в отдельных секретах, чтобы вы могли управлять разрешениями для них отдельно.

Другие вопросы по тегам