Как найти расположение кеша для AWS Secrets Manager
Я использую хранилище параметров для хранения учетных данных базы данных и доступа к ним с помощью задания talend. Однако из-за того, что несколько заданий обращаются к этим параметрам одновременно; мы столкнулись с проблемой масштабирования хранилища параметров, поскольку оно достигло порогового значения.
Я решил использовать AWS Secrets Manager, и пока я могу успешно создавать / извлекать эти секреты с помощью функции AWS Lambda (Python); и я использую библиотеку кеширования на стороне клиента PythonSecretCache
а также SecretCacheConfig
.
Были следующие вопросы относительно того же:
- Можно ли узнать место, где моя лямбда-функция кэширует эти секреты?
- Если секреты меняются во время выполнения моего задания talend, как убедиться, что задание talend использует обновленное значение для секрета?
- Как убедиться, что используется последнее значение секрета.
1 ответ
Реализация SecretCache - это кеш только в памяти, поэтому вы не сможете найти кеш на диске где угодно.
Вопросы ii) и iii) в некоторой степени связаны и зависят от того, как используется секрет. Чтобы иметь высокодоступную стратегию ротации, у вас должна быть возможность иметь два активных секрета или пользователя и чередовать их. Обеспечивая обновление кеша с более чем удвоенной частотой вращения, кеш переключится на последний пароль пользователя, прежде чем текущий будет перезаписан.
Например, если вы используете базу данных, вы можете настроить многопользовательскую ротацию и ротацию один раз в день. Поскольку частота обновления кэша по умолчанию (secret_refresh_interval) составляет 1 час, кеш заберет последнюю версию секрета перед следующей ротацией.