Azure Key Vault란?

완료됨

Azure Key Vault는 항상 보안을 유지해야 하는 암호, 연결 문자열 등의 구성 값과 같은 앱 비밀을 저장하는 중앙 집중식 클라우드 서비스인 비밀 저장소입니다. Key Vault를 사용하면 단일 중앙 위치에 보관하여 앱의 비밀을 제어할 수 있습니다. 보안 액세스, 권한 제어, 액세스 로깅을 제공합니다.

Key Vault의 주요 이점은 다음과 같습니다.

  • 중요한 앱 정보를 다른 구성 및 코드에서 분리하여 우발적인 유출 위험 감소
  • 앱과 앱이 필요한 개인에 맞게 조정된 액세스 정책으로 제한된 비밀 액세스
  • 중앙 집중식 비밀 스토리지는 필요한 모든 변경을 한 곳에서만 수행해야 한다는 뜻입니다.
  • 비밀에 액세스하는 방법 및 시기를 이해하는 데 도움이 되는 액세스 로깅 및 모니터링

비밀은 비밀을 그룹화하는 데 사용되는 Azure 리소스인 개별 ‘자격 증명 모음’에 저장됩니다. 비밀 액세스 및 자격 증명 모음 관리는 REST API를 사용하여 수행됩니다. 많은 인기 있는 언어에 사용할 수 있는 모든 Azure 관리 도구 및 클라이언트 라이브러리도 이 API를 지원합니다. 모든 자격 증명 모음에는 API가 호스트되는 고유한 URL이 있습니다.

중요

Key Vault는 서버 앱의 구성 비밀을 저장하도록 설계되었습니다. 앱 사용자에 속한 데이터를 저장하기 위한 것이 아닙니다. 앱의 클라이언트 쪽 부분에서는 사용하지 말아야 합니다. 이 동작은 성능 특성, API, 비용 모델에 반영됩니다.

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

Key Vault에서 비밀이란?

Key Vault에서 비밀은 문자열의 이름 값 쌍입니다. 비밀 이름은 1-127자로, 영숫자 및 대시만 포함해야 하고 자격 증명 모음 내에서 고유해야 합니다. 비밀 값은 크기가 최대 25KB인 UTF-8 문자열일 수 있습니다.

비밀 이름을 특별히 비밀로 간주할 필요는 없습니다. 구현이 비밀 이름을 호출하는 경우 앱의 구성에 저장할 수 있습니다. 자격 증명 모음 이름 및 URL에도 동일하게 적용됩니다.

참고 항목

Key Vault는 문자열 외에 인증서라는 두 가지 비밀 종류를 추가로 지원합니다. Key Vault는 사용 사례와 관련된 유용한 기능을 제공합니다. 이 모듈에서는 이러한 기능을 다루지 않고 암호 및 연결 문자열과 같은 비밀 문자열에 집중합니다.

자격 증명 모음 인증 및 권한

Key Vault의 API는 Microsoft Entra ID를 사용하여 사용자와 앱을 인증합니다. 자격 증명 모음 액세스 정책은 ‘작업’을 기반으로 하고 전체 자격 증명 모음에 적용됩니다. 예를 들어 자격 증명 모음에 대한 Get(비밀 값 읽기), List(모든 비밀의 이름 나열), Set(비밀 값 만들기 또는 업데이트) 권한이 있는 앱은 비밀을 만들고, 모든 비밀 이름을 나열하고, 해당 자격 증명 모음의 모든 비밀 값을 가져오고 설정할 수 있습니다.

자격 증명 모음에서 수행되는 모든 작업에는 인증과 권한 부여가 필요합니다. 익명 액세스 권한을 부여할 수 있는 방법은 없습니다.

개발자와 앱에 자격 증명 모음 액세스 권한을 부여하는 경우 필요한 최소 권한 집합만 부여합니다. 권한 제한 사항을 적용하면 코드 버그로 인해 발생하는 사고를 방지하고 앱에 삽입되는 도난 당한 자격 증명 또는 악의적인 코드의 영향을 줄일 수 있습니다.

개발자는 일반적으로 개발 환경 자격 증명 모음에 대한 GetList 권한만 필요합니다. 일부 엔지니어는 필요한 경우 비밀을 변경하고 추가하기 위해 전체 권한이 필요합니다.

앱의 경우 Get 권한만 필요한 경우가 많습니다. 일부 앱은 앱이 구현되는 방식에 따라 List가 필요할 수 있습니다. 이 모듈의 연습에 나온 앱에는 자격 증명 모음에서 비밀을 읽는 데 사용하는 기법 때문에 List 권한이 필요합니다.