DZone.com Feed на русском
Подписаться
Azure Key Vault Secrets, которые самовосстанавливаются в Go, с mamori
Azure Key Vault — это примерный гражданин мира секретов Azure. Каждый секрет версионируется; вы получаете мягкое удаление и защиту от очистки; доступ управляется RBAC или политиками доступа; а DefaultAzureCredential означает, что ваше приложение аутентифицируется одинаково локально (az login) и в производственной среде (Managed Identity/Workload Identity на AKS) без каких-либо изменений в коде.И все же тот же старый пробел остается. Ваша Go-служба вызывает GetSecret один раз при запуске, декодирует значение в структуру и считает его неизменяемым в течение всего времени работы процесса. Когда кто-то обновляет секрет в Key Vault — новую версию, старая отключена — ваша служба об этом не узнает. Она продолжает использовать значение, прочитанное при загрузке, до следующего развертывания или перезапуска пода. Обновление было бесшовным в Azure и незаметным для вашего приложения, что является совершенно неправильной комбинацией.