Key Vault의 비밀

완료됨

모든 사람과 공유하는 비밀은 비밀이 아닙니다. 연결 문자열, 보안 토큰, 인증서, 암호 같은 기밀 항목을 코드에 저장하는 행위는 아무나 와서 자유롭게 기밀 항목을 사용할 수 있도록 초대하는 것과 다를 바 없습니다. 이러한 종류의 데이터를 웹 구성에 저장하는 것도 좋은 생각이 아닙니다. 결과적으로 소스 코드 또는 웹 서버 액세스 권한을 가진 사람이 프라이빗 데이터에 액세스할 수 있도록 허용하는 것입니다.

이러한 비밀은 항상 Azure Key Vault에 저장해야 합니다.

Azure Key Vault란?

Azure Key Vault는 비밀 저장소로써, 애플리케이션 비밀을 저장하기 위한 중앙 집중식 클라우드 서비스입니다. Key Vault는 애플리케이션 비밀을 중앙의 단일 위치에 보관하여 기밀 데이터를 안전하게 보호하고 보안 액세스, 권한 제어 및 액세스 로깅을 제공합니다.

비밀은 개별 자격 증명 모음에 저장되며, 각각 액세스를 제어하는 고유의 구성 및 보안 정책이 있습니다. 사용자는 대부분의 언어에 제공되는 REST API 또는 클라이언트 SDK를 통해 데이터로 이동할 수 있습니다.

중요

Key Vault는 서버 애플리케이션에 대한 구성 비밀을 저장하도록 디자인되었습니다. 앱 사용자에게 속하는 데이터를 저장하는 데 사용되지 않으며, 앱의 클라이언트 쪽 부분에 사용하면 안 됩니다. 이는 성능 특성, API 및 비용 모델에 반영됩니다.

사용자 데이터는 투명한 데이터 암호화를 사용하는 Azure SQL Database 또는 스토리지 서비스 암호화를 사용하는 스토리지 계정과 같이 다른 곳에 저장되어야 합니다. 애플리케이션이 해당 데이터 저장소에 액세스하는 데 사용하는 비밀을 Key Vault에 보관할 수 있습니다.

비밀에 Key Vault를 사용하는 이유

키를 관리하고 비밀을 저장하는 작업을 수동으로 수행하면 복잡하고 오류가 발생하기 쉽습니다. 인증서를 수동으로 순환하면 몇 시간 또는 며칠 동안 인증서 없이 돌아갈 가능성이 있습니다. 위에서 언급했듯이, 연결 문자열을 구성 파일이나 코드 리포지토리에 저장하면 다른 사람이 자격 증명을 훔칠 수 있습니다.

Key Vault를 사용하면 사용자는 연결 문자열, 비밀, 암호, 인증서, 액세스 정책, 파일 잠금(항목을 Azure에서 읽기 전용으로 설정) 및 자동화 스크립트를 저장할 수 있습니다. 또한 액세스 및 활동을 기록하고 구독에서 IAM(액세스 제어)을 모니터링할 수 있습니다. 필요한 액세스 권한을 갖도록 하는 진단, 메트릭, 경고 및 문제 해결 도구도 있습니다.

Azure Key Vault를 사용하여 서버 앱의 비밀 관리에서 Azure Key Vault 사용에 대해 자세히 알아보세요.

요약

Azure Key Vault를 사용하여 비밀을 잘 관리하면 자격 증명 도난, 수동 키 순환 및 인증서 갱신에 대해 신경 쓸 필요가 없습니다.