Как была устроена интеграция с Vault? Как ротировались секреты?
Answer from AI
sobes.tech AI
Интеграция с Vault обычно строится через использование его API или клиентских библиотек, которые позволяют приложениям безопасно получать и обновлять секреты. В нашей реализации сервисы аутентифицировались в Vault с помощью AppRole или Kubernetes Auth, что обеспечивало безопасный доступ к секретам.
Ротация секретов происходила автоматически с помощью встроенных механизмов Vault, таких как динамические секреты и политики TTL (Time To Live). Например, для баз данных мы использовали динамическое создание учетных данных с ограниченным сроком действия, что позволяло Vault автоматически создавать новые логины и пароли, а старые — отзывать. Для статических секретов применялись периодические задачи, которые обновляли значения и обновляли конфигурации сервисов через механизм подписки или push-уведомлений.
Пример конфигурации ротации динамических секретов для базы данных в Vault:
path "database/creds/my-role" {
capabilities = ["read"]
}
Таким образом, приложения запрашивали временные креденшелы, которые автоматически истекали и обновлялись без ручного вмешательства.