Go에서 mamori와 함께 자체적으로 조정되는 Azure Key Vault Secrets
Azure Key Vault는 Azure 비밀 관리의 모범적인 구성 요소입니다. 모든 비밀은 버전 관리되며, 소프트 삭제 및 삭제 보호 기능을 제공합니다. 액세스는 RBAC 또는 액세스 정책으로 제어되며, DefaultAzureCredential을 통해 애플리케이션은 로컬(az login) 및 프로덕션(AKS의 Managed Identity/Workload Identity)에서 코드 변경 없이 동일한 방식으로 인증됩니다.하지만 여전히 예전과 같은 간극이 존재합니다. Go 서비스는 시작 시 GetSecret을 한 번 호출하고, 값을 구조체로 디코딩하여 프로세스 수명 주기 동안 불변으로 취급합니다. 누군가 Key Vault에서 비밀을 회전(새 버전 생성, 이전 버전 비활성화)해도 서비스는 이를 알지 못합니다. 배포 또는 pod 재시작 시까지 부팅 시 읽은 값을 계속 사용합니다. Azure에서는 회전이 원활했지만 애플리케이션에는 보이지 않았으며, 이는 정확히 잘못된 조합입니다.