다음을 통해 공유


Azure Key Vault 개발자 가이드

Azure Key Vault는 암호화 키, 비밀 및 인증서의 보안 스토리지 및 관리를 제공하는 클라우드 서비스입니다. 이 가이드는 개발자가 Key Vault를 애플리케이션에 통합하는 데 도움이 됩니다.

개요

Azure Key Vault를 사용하면 다음을 수행할 수 있습니다.

  • 보안 스토리지: 사용자 지정 보안 코드를 작성하지 않고 키, 비밀 및 인증서를 보호합니다.
  • 간소화된 키 관리: 암호화 작업 및 키 수명 주기 관리를 중앙 집중화합니다.
  • 고객 소유 키: 핵심 애플리케이션 기능에 집중하는 동안 고객이 자신의 키를 관리할 수 있습니다.
  • 외부 키 관리: 애플리케이션 외부에 유지하면서 서명 및 암호화에 키를 사용합니다.

Azure Key Vault에 대한 일반 정보는 Azure Key Vault 정보를 참조하세요.

개발자 시나리오

Key Vault를 사용하는 일반적인 개발자 작업은 다음과 같습니다.

  • 비밀 저장 및 검색: 연결 문자열, 암호, API 키 및 SAS 토큰을 안전하게 관리합니다. 자세한 내용은 비밀 정보를 참조하세요.
  • 암호화 및 서명에 키 사용: 애플리케이션에 키 자료를 노출하지 않고 암호화 작업을 수행합니다. 자세한 내용은 키 정보를 참조하세요.
  • 인증서 관리: SSL/TLS에 대한 인증서 프로비저닝, 갱신 및 배포를 자동화합니다. 자세한 내용은 인증서 정보를 참조하세요.

공개 프리뷰

새 Key Vault 기능에 대한 공개 미리 보기를 주기적으로 릴리스합니다. 미리 보기 기능을 사용해 보고 피드백을 제공하려면 다음으로 azurekeyvault@microsoft.com문의하세요. 최신 기능 및 업데이트에 대한 자세한 내용은 Azure Key Vault의 새로운 기능을 참조하세요.

키 자격 증명 모음 만들기 및 관리

Key Vault는 2플레인 액세스 모델을 사용합니다.

미리 정의된 Key Vault 기여자 역할을 사용하여 Key Vault 리소스에 대한 관리 액세스 권한을 부여합니다. 인증 및 권한 부여에 대한 자세한 내용은 Azure Key Vault의 인증을 참조하세요.

네트워크 보안

프라이빗 엔드포인트, 방화벽 또는 서비스 엔드포인트를 구성하여 네트워크 노출을 줄입니다. 가장 제한적인 구성 옵션을 비롯한 포괄적인 네트워크 보안 지침은 Azure Key Vault 보안: 네트워크 보안Azure Key Vault 네트워킹 설정 구성을 참조하세요.

키 자격 증명 모음 관리에 대한 API 및 SDK

다음 표에서는 Key Vault 리소스(컨트롤 플레인 작업)를 관리하기 위한 SDK 및 빠른 시작을 나열합니다. 최신 버전 및 설치 지침은 클라이언트 라이브러리를 참조하세요.

Azure 커맨드 라인 인터페이스 (CLI) PowerShell REST API (REST 애플리케이션 프로그래밍 인터페이스) 리소스 관리자 닷넷 파이썬 자바 JavaScript
참조
빠른 시작
참조
빠른 시작
참조 참조
빠른 시작
참조 참조 참조 참조

코드에서 Key Vault에 인증

Key Vault는 Microsoft Entra 인증을 사용하며, 액세스 권한을 부여하려면 Microsoft Entra 보안 주체가 필요합니다. Microsoft Entra 보안 주체는 사용자, 애플리케이션 서비스 주체, Azure 리소스의 관리 ID, 또는 이러한 유형 중 하나로 구성된 그룹일 수 있습니다.

인증 모범 사례

Azure에 배포된 애플리케이션의 경우 관리 ID를 사용하여 코드에 자격 증명을 저장할 필요가 없습니다. 다양한 환경(프로덕션, 개발, 로컬)에 대한 자세한 인증 지침 및 보안 주체 권장 사항은 Azure Key Vault의 인증Azure Key Vault 보안을 참조하세요.

Azure ID 클라이언트 라이브러리

위의 인증 시나리오는 Azure ID 클라이언트 라이브러리에서 지원되며 Key Vault SDK와 통합되어 있습니다. 코드를 변경하지 않고 여러 환경 및 플랫폼에서 Azure ID 클라이언트 라이브러리를 사용할 수 있습니다. 라이브러리는 Azure CLI, Visual Studio, Visual Studio Code 및 기타 수단을 통해 Azure 사용자에 로그인한 사용자로부터 인증 토큰을 자동으로 검색합니다.

Azure ID 클라이언트 라이브러리에 대한 자세한 내용은 다음을 참조하세요.

닷넷 파이썬 자바 JavaScript
Azure Identity SDK .NET Azure ID SDK Python Azure Identity SDK Java Azure Identity SDK JavaScript

비고

Key Vault .NET SDK 버전 3에 대한 앱 인증 라이브러리가 권장되었지만 이제 이상 사용되지 않습니다. Key Vault .NET SDK 버전 4로 마이그레이션하려면 AppAuthentication에서 Azure.Identity로 마이그레이션 지침을 따르세요.

애플리케이션에서 Key Vault에 인증하는 방법에 대한 자습서는 다음을 참조하세요:

키, 인증서 및 비밀 관리

비고

.NET, Python, Java, JavaScript, PowerShell 및 Azure CLI용 SDK는 Key Vault 서비스 팀의 지원하에 공개 프리뷰 및 일반 공급을 통해 Key Vault 기능 릴리스 프로세스의 일부로 제공됩니다. Key Vault의 다른 SDK 클라이언트도 제공되지만, 해당 클라이언트는 개별 SDK 팀에서 GitHub를 통해 빌드 및 지원하며 팀 일정에 따라 릴리스됩니다. 최신 SDK 버전 및 설치 패키지는 클라이언트 라이브러리를 참조하세요.

데이터 평면은 키, 인증서 및 비밀에 대한 액세스를 제어합니다. 데이터 평면을 통해 액세스 제어를 위해 Key Vault와 함께 Azure RBAC 를 사용할 수 있습니다.

키에 대한 API 및 SDK

다음 표에서는 키(데이터 평면 작업)를 사용하기 위한 SDK 및 빠른 시작을 나열합니다. 키에 대한 자세한 내용은 키 정보를 참조하세요.

Azure 커맨드 라인 인터페이스 (CLI) PowerShell REST API (REST 애플리케이션 프로그래밍 인터페이스) 리소스 관리자 닷넷 파이썬 자바 JavaScript
참조
빠른 시작
참조
빠른 시작
참조 참조
빠른 시작
참조
빠른 시작
참조
빠른 시작
참조
빠른 시작
참조
빠른 시작

기타 라이브러리

Key Vault 및 관리되는 HSM에 대한 암호화 클라이언트

이 모듈은 Go용 Azure Key Vault 키 클라이언트 모듈에 대한 암호화 클라이언트를 제공합니다.

비고

이 프로젝트는 Azure SDK 팀의 지원을 받지는 않지만, 다른 지원 언어의 암호화 클라이언트와 동일한 방식을 따릅니다.

언어 참고 문헌
가라 참조

인증서에 대한 API 및 SDK

다음 표에서는 인증서(데이터 평면 작업)를 사용하기 위한 SDK 및 빠른 시작을 나열합니다. 인증서에 대한 자세한 내용은 인증서 정보를 참조하세요.

Azure 커맨드 라인 인터페이스 (CLI) PowerShell REST API (REST 애플리케이션 프로그래밍 인터페이스) 리소스 관리자 닷넷 파이썬 자바 JavaScript
참조
빠른 시작
참조
빠른 시작
참조 해당 없음(N/A) 참조
빠른 시작
참조
빠른 시작
참조
빠른 시작
참조
빠른 시작

비밀에 대한 API 및 SDK

다음 표에는 비밀 관리(데이터 평면 작업)를 위한 SDK와 빠른 시작 가이드가 나열되어 있습니다. 비밀에 대한 자세한 내용은 비밀 정보를 참조하세요.

Azure 커맨드 라인 인터페이스 (CLI) PowerShell REST API (REST 애플리케이션 프로그래밍 인터페이스) 리소스 관리자 닷넷 파이썬 자바 JavaScript
참조
빠른 시작
참조
빠른 시작
참조 참조
빠른 시작
참조
빠른 시작
참조
빠른 시작
참조
빠른 시작
참조
빠른 시작

비밀 사용

Azure Key Vault를 사용하여 애플리케이션에 대한 비밀만 저장합니다. Key Vault에 저장해야 하는 비밀의 예는 다음과 같습니다.

  • 클라이언트 애플리케이션 비밀
  • 연결 문자열
  • 암호
  • 공유 액세스 키
  • SSH 키

사용자 이름 및 애플리케이션 ID와 같은 비밀 관련 정보는 비밀의 태그로 저장할 수 있습니다. 다른 중요한 구성 설정의 경우 Azure App Configuration을 사용해야 합니다.

설치 패키지 및 소스 코드는 클라이언트 라이브러리를 참조하세요.

애플리케이션에서 Key Vault 사용

Key Vault의 최신 기능을 활용하려면 애플리케이션에서 비밀, 인증서 및 키를 사용하기 위해 사용 가능한 Key Vault SDK를 사용하는 것이 좋습니다. 제품에 대한 새로운 기능이 릴리스되면 Key Vault SDK 및 REST API가 업데이트되며 모범 사례 및 지침을 따릅니다.

기본 시나리오의 경우 간소화된 사용을 위해 Microsoft 파트너 또는 오픈 소스 커뮤니티에서 제공하는 지원이 포함된 다른 라이브러리 및 통합 솔루션이 있습니다.

인증서의 경우 다음을 사용할 수 있습니다.

비밀의 경우 다음을 사용할 수 있습니다.

코드 예제

애플리케이션에서 Key Vault를 사용하는 전체 예제는 Azure Key Vault 코드 샘플을 참조하세요.

작업별 지침

다음 문서와 시나리오에서는 Azure Key Vault 작업을 위한 작업별 지침을 제공합니다:

Key Vault와의 통합

Key Vault를 사용하거나 통합하는 서비스 및 시나리오는 다음과 같습니다.

  • 휴지 상태의 암호화는 데이터가 영구 저장될 때 데이터의 인코딩(암호화)을 가능하게 합니다. 데이터 암호화 키는 액세스를 더욱 제한하기 위해 Azure Key Vault의 키 암호화 키로 암호화되는 경우가 많습니다.
  • Azure Information Protection을 통해 사용자 고유의 테넌트 키를 관리할 수 있습니다. 예를 들어, (기본 설정인) Microsoft가 사용자 테넌트 키를 관리하는 대신, 조직에 적용되는 특정 규정을 준수하기 위해 사용자 고유의 테넌트 키를 직접 관리할 수 있습니다. 사용자 고유의 테넌트 키를 관리하는 것을 BYOK (Bring Your Own Key)라고도 합니다.
  • Azure Private Link를 사용하면 사용자 가상 네트워크의 프라이빗 엔드포인트를 통해 Azure 서비스 (예를 들면, Azure Key Vault, Azure Storage, Azure Cosmos DB) 및 Azure에서 호스팅하는 고객/파트너 서비스에 액세스할 수 있습니다.
  • Azure Event Grid와 Key Vault를 통합하면 Key Vault에 저장된 비밀의 상태가 변경될 때 사용자에게 알릴 수 있습니다. 새 버전의 비밀을 애플리케이션에 배포하거나 곧 만료되는 비밀을 회전하여 중단을 방지할 수 있습니다.
  • Key Vault에서 원치 않는 액세스로부터 Azure DevOps 비밀을 보호합니다.
  • Key Vault에 저장된 비밀을 사용하여 Azure Databricks에서 Azure Storage에 연결합니다.
  • Kubernetes에서 비밀 저장소 CSI 드라이버에 대한 Azure Key Vault 공급자를 구성하고 실행합니다.

재해 복구 및 비즈니스 연속성

Key Vault는 자동 지역 복제를 사용하여 기본 제공 재해 복구를 제공합니다. 프로덕션 배포의 경우 일시 삭제 및 제거 보호를 사용하도록 설정하고 정기적인 백업을 구현합니다. 자세한 내용은 Azure Key Vault 가용성 및 중복성, Azure Key Vault 복구 관리Azure Key Vault 백업을 참조하세요.

성능 및 확장성

Key Vault를 사용하는 애플리케이션을 개발할 때 다음 성능 및 확장성 모범 사례를 고려합니다.

  • 서비스 한도: Key Vault에는 지역별 자격 증명 모음당 트랜잭션에 대한 서비스 한도가 있습니다. 이러한 제한을 초과하면 속도 제한이 발생합니다. 자세한 내용은 Azure Key Vault 서비스 제한을 참조하세요.
  • 제한 지침: 제한 응답을 처리하기 위해 지수 백오프를 사용하여 재시도 논리를 구현합니다. 자세한 내용은 Azure Key Vault 제한 지침을 참조하세요.
  • 캐싱: Key Vault에 대한 호출을 줄이고 성능을 향상시키기 위해 애플리케이션에서 비밀 및 인증서를 캐시합니다.
  • 연결 관리: 가능한 경우 Key Vault에 대한 HTTP 연결을 다시 사용하여 대기 시간을 줄이고 성능을 향상시킵니다.

모니터링 및 로깅

보안, 규정 준수 및 문제 해결을 위해 로깅 및 모니터링을 사용하도록 설정합니다. 중요한 이벤트에 대한 진단 설정, Event Grid 알림 및 경고를 구성합니다. 자세한 지침은 Azure Key Vault 모니터링, Azure Key Vault 로깅, Azure Event Grid를 사용하여 Key Vault 모니터링Azure Key Vault 보안: 로깅 및 위협 감지를 참조하세요.

일반적인 매개 변수 및 요청 패턴

Key Vault REST API를 사용하는 경우 일반적인 매개 변수 및 요청/응답 패턴을 이해하는 것이 유용합니다.

Troubleshooting

일반적인 문제를 해결하는 데 도움이 되도록 다음을 수행합니다.

보안 모범 사례

ID 및 액세스 관리, 데이터 보호, 규정 준수, 거버넌스 및 백업 전략을 포함한 포괄적인 보안 지침은 Azure Key Vault 보안을 참조하세요.

추가 리소스

Key Vault 개념

관리 및 운영

커뮤니티 및 지원