Go에서 mamori와 함께 자체적으로 조정되는 Azu... 노트

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에서는 회전이 원활했지만 애플리케이션에는 보이지 않았으며, 이는 정확히 잘못된 조합입니다.