Microsoft AZ-500: 키 관리, 암호화 및 인증서 — 학습 가이드
다음의 일부입니다: Microsoft Azure Security Engineer Associate AZ-500 — 학습 가이드. 검증된 답안으로 연습하기: Microsoft 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
Azure의 키 관리는 Azure Key Vault와 Azure Managed HSM을 중심으로 이루어집니다. 이 서비스들은 암호화 자료의 보안 저장소, 일관된 API, 그리고 감사 가능한 작업을 제공하여 미사용 데이터 암호화(encryption at rest), 전송 중 데이터 암호화(in transit), 애플리케이션 계층 암호화를 지원합니다. 운영 목표는 애플리케이션 런타임에서 키 관리 주체를 분리하고, 범위가 지정된 권한 부여 및 네트워킹으로 장애 반경(blast radius)을 최소화하며, 복구 가능성과 순환을 강제하여 장기 비밀(long-lived secret)의 위험을 줄이는 것입니다.
Azure Key Vault 및 Managed HSM 아키텍처와 권한 부여
Azure Key Vault 아키텍처
- 서비스 구성: 멀티테넌트 프런트엔드, 데이터 평면을 위한 지역별 파티션, 테넌트별 격리, Azure AD 기반 인증. 키는 소프트웨어로 보호되거나(Standard 계층) HSM으로 보호됩니다(Premium 계층). 비밀과 인증서는 항상 소프트웨어로 보호됩니다.
- 계층: Standard(소프트웨어 키)는 범용 및 비용 효율성을 위한 것이고, Premium(HSM 지원 키)은 FIPS 140-2 레벨 2/3 수준의 보호 또는 키 자료를 위한 전용 HSM 경계가 필요할 때 사용됩니다. 규제 요건을 충족해야 하거나 “RSA-HSM” 또는 “EC-HSM” 키를 사용할 경우 Premium을 선택하십시오.
- 일시 삭제 및 제거 보호: 일시 삭제(Soft delete)는 항상 활성화되어 있으며 보존 기간(7~90일, 보통 90일)을 구성할 수 있습니다. 제거 보호(Purge protection)를 활성화하면 보존 기간이 만료될 때까지 매우 높은 권한을 가진 사용자라도 자격 증명 모음이나 개체를 영구적으로 삭제할 수 없습니다. 운영상의 이유: 고객 관리형 키(CMK)를 지원하는 모든 자격 증명 모음에서 제거 보호를 활성화해야 합니다. 이 기능이 없으면 우발적이거나 악의적인 제거로 인해 종속된 데이터(예: 해당 키로 암호화된 스토리지 또는 데이터베이스)를 복구할 수 없게 될 수 있습니다.
- 복구: 삭제된 자격 증명 모음 개체를 나열하고 복구할 수 있으며, 자격 증명 모음 수준의 복구도 지원됩니다. 백업은 동일한 Azure 지역 및 클라우드의 호환되는 자격 증명 모음으로 복원할 수 있는 암호화된 Blob을 생성합니다. 이유: 주기적으로 키 백업을 내보내고 별도로 안전하게 보관하며, 복원을 테스트하여 RTO를 검증해야 합니다.
권한 부여 모델
- 권한 모델: 자격 증명 모음 액세스 정책(레거시) vs Azure RBAC(권장).
- 액세스 정책: 자격 증명 모음별로 정의되며, 키, 비밀, 인증서에 대한 세분화된 권한을 부여합니다. 소수의 보안 주체(principal)에 대해 매우 엄격하고 객체 유형별로 특화된 런타임 권한이 필요할 때 가장 적합합니다.
- Azure RBAC: 자격 증명 모음의 권한 모델을 Azure 역할 기반 액세스 제어(Azure role-based access control)로 설정하여 RBAC 데이터 평면 역할을 사용합니다. 장점: 구독/리소스 그룹/자격 증명 모음 수준에서 범위 지정 가능, PIM 적용 가능한 할당, 중앙 집중식 거버넌스 및 감사. 신규 배포 및 관리 작업에 권장됩니다.
- 기본 제공 자격 증명 모음 역할(예시): Key Vault Administrator(전체 관리), Key Vault Crypto Officer(키 관리, 단 액세스 정책 제외), Key Vault Secrets Officer, Key Vault Certificates Officer, Key Vault Reader. 운영 가이드:
- 액세스 모델 및 네트워크 ACL 구성을 위임할 때는 RBAC(예: Key Vault Administrator)를 사용하십시오.
- 단일 자격 증명 모음에서 최소 권한으로 인증서를 삽입/삭제하려면 액세스 정책 또는 Key Vault Certificates Officer와 같은 데이터 평면 RBAC 역할을 사용하십시오.
- 범위 설계: 과도한 권한 부여를 피하기 위해 자격 증명 모음 범위에서 RBAC를 할당하는 것을 선호합니다. 여러 자격 증명 모음이 동일한 운영자 팀을 공유하는 경우에만 리소스 그룹 범위를 사용하고, 런타임 액세스를 위해 구독 범위 할당은 피하십시오.
Managed HSM
- 아키텍처 및 보안 도메인: Managed HSM은 고객별 단일 테넌트, FIPS 140-2 레벨 3 검증 HSM 클러스터입니다. 보안 도메인(security domain)은 클러스터의 키 자료 이동성을 보호합니다. 클러스터 간 백업/복원에는 보안 도메인 개인 키의 쿼럼(quorum)이 필요합니다. 이유: 도메인 키를 생성하여 여러 관리자에게 분산 보관(escrow)하고, DR HSM으로의 복원을 테스트해야 합니다.
- 역할 모델: Azure RBAC와 통합됩니다. 역할에는 Managed HSM Administrator, Crypto Officer, Crypto User, Reader가 포함됩니다. 직무 분리: 관리자는 클러스터를 관리하고, 암호화 책임자(crypto officer)는 키를 관리하며, 암호화 사용자(crypto user)는 작업을 위해 키를 사용합니다.
- 고가용성: 여러 HSM 파티션과 SLA 지원 서비스를 통해 지역 내에서 중복성을 갖추고 있으며, 지원되는 지역에서는 영역 중복성(zone redundancy)을 사용할 수 있습니다. 지역 간 재해 복구를 위해서는 백업 + 보안 도메인에 의존합니다.
- 사용 사례: 결제 처리, 코드 서명, 봉투 암호화(envelope encryption)를 위한 키 래핑, 레벨 3 HSM 경계가 필요한 규제 대상 워크로드.
객체 및 수명 주기: 키, 비밀, 인증서 및 순환
키, 비밀, 인증서
- 키: 암호화 작업(서명, 확인, 래핑/언래핑, 암호화/복호화)에 사용됩니다. 알고리즘 강도 및 성능에 따라 키 유형/크기를 선택합니다(예: 규정 준수를 위한 RSA 3072/4096 또는 성능을 위한 ECC P-256/P-384).
- 비밀: 암호, 연결 문자열, API 토큰과 같은 임의의 바이트/문자열입니다. 암호화 작업에는 사용되지 않습니다.
- 인증서: 개인 키가 포함된 X.509입니다. 인증서 객체와 해당 비밀(PFX/PEM)로 모두 저장됩니다. TLS/MTLS 및 코드 서명 수명 주기에 유용합니다.
수명 주기 작업 및 순환
- 버전 관리: 모든 설정 또는 가져오기 작업은 불변의 버전을 생성합니다. 애플리케이션은 변경 관리 요구 사항에 따라 결정적인 동작을 위해 버전이 지정된 비밀을 참조하거나, 최신 버전을 자동으로 사용하기 위해 버전 없는 URI를 참조해야 합니다.
- 순환 전략:
- 키: 이를 지원하는 Azure 서비스(예: Storage, SQL TDE, AKV 관리 비밀)에는 버전 없는 키 URI를 사용하는 것이 좋습니다. 새 버전을 추가하여 순환하며, 지원되는 경우 서비스가 자동으로 다시 바인딩됩니다. 서비스에 고정된 버전이 필요한 경우 재구성 단계를 자동화합니다. AKV 순환 정책 및 경고를 통해 순환을 강제합니다.
- 비밀: Event Grid 알림으로 트리거되는 Azure Automation, Functions 또는 Logic Apps를 통해 순환하거나, 공급자 네이티브 순환(예: SAS 또는 데이터베이스 암호 순환)을 사용합니다. 가능한 경우 관리 ID로 대체하여 수명이 긴 정적 비밀을 피합니다.
- 인증서: 만료 전에 자동 갱신되도록 “수명 작업(lifetime actions)“이 포함된 인증서 정책을 정의합니다. 핸즈프리 갱신을 위해 통합된 발급 기관을 사용합니다.
인증서 관리
- 가져오기/생성: 기존 PFX/PEM(개인 키 포함)을 가져오거나 CSR을 생성하고 Key Vault가 구성된 CA를 통해 발급을 완료하도록 합니다.
- 자동 갱신 및 발급 기관: DigiCert, GlobalSign 또는 Key Vault를 통해 엔터프라이즈 Microsoft CA와 같은 발급 기관을 구성합니다. 알림 및 갱신 임계값과 함께 자동 갱신을 활성화합니다.
- 애플리케이션 통합:
- App Service 및 Functions: 관리 ID와 함께 Key Vault 참조를 사용합니다. 플랫폼이 순환된 비밀을 자동으로 동기화합니다.
- Application Gateway/WAF: Key Vault에서 인증서 비밀 ID를 참조합니다. Gateway가 새 버전을 자동으로 가져옵니다.
- AKS: Secrets Store CSI 드라이버와 Azure Key Vault 공급자를 통해 인증서를 마운트합니다.
최소 권한 인증서 작업을 위한 RBAC 할당 예시:
az role assignment create \
--assignee <userObjectId> \
--role "Key Vault Certificates Officer" \
--scope $(az keyvault show -n kv-prod --query id -o tsv)
네트워크 보안 및 서비스 통합
Key Vault 네트워킹
- 방화벽 규칙: 승인된 소스로 제한하려면 ‘선택한 네트워크(Selected networks)‘로 설정합니다. 이유: 유효한 토큰이 있더라도 인터넷에서 시작된 트래픽을 방지합니다.
- 가상 네트워크 서비스 엔드포인트: 프라이빗 IP 없이 특정 서브넷의 트래픽을 허용합니다. 활성화하기 간단하고 노출을 줄입니다. 빠른 격리가 필요하고 DNS 변경이 필요하지 않을 때 사용합니다.
- 프라이빗 엔드포인트: 진정한 프라이빗 연결을 위해 VNet의 자격 증명 모음에 프라이빗 IP를 할당합니다. 공용 네트워크 액세스를 차단합니다. 이유: 가장 강력한 데이터 반출 제어이며, 높은 신뢰 환경 및 아웃바운드 인터넷이 제한된 경우에 필요합니다.
- 신뢰할 수 있는 서비스: “신뢰할 수 있는 Microsoft 서비스 허용"은 네트워크 제한에도 불구하고 특정 Azure 서비스가 자격 증명 모음에 도달할 수 있도록 합니다. 순환 중 스토리지 암호화 스캔 키와 같은 시나리오에 필요합니다. 좁은 범위로 활성화하고 종속성을 문서화합니다.
고객 관리형 키(CMK) 및 키 URI
- 지원되는 서비스: Azure Storage, SQL Database (TDE), Synapse, Databricks, AKS 미사용 비밀 암호화, App Configuration, Event Hubs, Service Bus 및 Disk Encryption Set를 통한 Managed Disks.
- 키 URI 전략:
- 버전 없는 URI: 서비스가 새 키 버전에서 자동 리바인딩을 지원할 때 선호됩니다. 서비스 업데이트 없이 원활한 순환을 가능하게 합니다.
- 버전 있는 URI: 일부 서비스에서 필요하며, 순환 이벤트와 연계된 서비스 구성 업데이트를 자동화합니다.
- 순환 패턴:
- 단계적 순환: 새 키 버전을 생성하고, 서비스가 접근할 수 있는지 확인하고, 오류를 모니터링한 다음, 안전한 기간이 지난 후 선택적으로 이전 버전을 비활성화합니다.
- 이벤트 기반: key-new-version 이벤트에 Event Grid를 사용하여 유효성 검사 또는 서비스 재구성 워크플로를 트리거합니다.
봉투 암호화(Envelope encryption) 통합
- Azure 서비스는 로컬에서 데이터 암호화 키(DEK, 예: AES-256)를 사용하고, Key Vault/HSM의 키 암호화 키(KEK)를 사용하여 DEK를 래핑합니다. 운영상 KEK의 가용성과 네트워크 액세스를 보장해야 합니다. KEK를 분실하거나 액세스가 차단되면 서비스 운영이 중단될 수 있습니다.
예시: AKV 키로 DEK 래핑하기
# base64-encode a 32-byte DEK; wrap using RSA-OAEP
az keyvault key wrap-key \
--vault-name kv-prod \
--name app-kek \
--algorithm RSA-OAEP \
--value $(openssl rand -base64 32)
암호화, 미사용 데이터 옵션 및 보안 암호 관리
핵심 암호화 개념
- 대칭 암호화: 하나의 키로 암호화/복호화 (예: AES-GCM/CTR). 빠름. 대량 데이터에 이상적.
- 비대칭 암호화: 공개/개인 키 쌍(RSA/ECC)을 키 교환 및 서명에 사용. 느림. 신뢰 설정 및 DEK 래핑에 이상적.
- 해싱: 단방향 다이제스트 (예: SHA-256). 무결성용. 암호화가 아님.
- 서명: 개인 키로 서명을 생성하고 공개 키로 확인. 부인 방지 및 무결성.
- 봉투 암호화: 성능 및 키 보관 격리를 위해 비대칭 KEK와 대칭 DEK를 결합.
Azure Disk Encryption 및 스토리지 암호화
- Managed Disks 기본 암호화: 플랫폼 관리형 키(PMK)를 사용한 서버 측 암호화(SSE). 운영 오버헤드 최소화.
- Disk Encryption Set(DES)을 사용한 CMK: 디스크, 스냅샷, 이미지에 대해 Key Vault 또는 Managed HSM 키를 참조하는 DES를 사용. 이유: 중앙 집중식 키 수명 주기 제어 및 해지, 고객 제어에 대한 규정 준수 충족.
- ADE (Azure Disk Encryption): 게스트 내 BitLocker(Windows) 또는 dm-crypt(Linux). OS 수준 암호화 상태, 도메인에 바인딩된 디스크 수준 키 보호기 또는 기존 규정 준수 요건이 필요할 때 사용. 운영상의 트레이드오프: 더 높은 복잡성, 확장 관리, 잠재적인 VM 프로비저닝 영향.
- 이중 암호화:
- 디스크: 인프라 계층에서 PMK를 사용한 SSE와 DES를 통한 CMK를 결합하여 두 개의 독립적인 암호화 계층을 구현.
- 스토리지 계정: 컨테이너/워크로드별로 별도의 CMK를 사용하여 암호화 범위를 사용. 사용 가능한 경우 인프라 암호화와 결합하여 두 계층을 구성.
- 암호화 범위(Azure Storage): 테넌트/워크로드 위험을 격리하고 광범위한 영향 없이 대상 키 순환을 활성화하기 위해 컨테이너별 또는 Blob별로 고유한 CMK를 사용하여 범위를 정의.
보안 암호 관리 및 운영 관행
- 관리 ID: Azure 리소스에 시스템 또는 사용자 할당 관리 ID를 사용하여 Key Vault 및 서비스용 토큰을 획득하고, 내장된 자격 증명을 제거. RBAC 또는 액세스 정책의 범위를 좁게 지정.
- 보안 암호 스캐닝: Microsoft Defender for DevOps, GitHub Advanced Security 보안 암호 스캐닝 및 리포지토리 보호를 활성화. Pull Request와 통합하여 알려진 자격 증명 패턴을 차단.
- 파이프라인 및 IaC: Azure Pipelines의 Key Vault 작업 통합 및 GitHub Actions OIDC 기반 페더레이션 자격 증명을 사용하여 영구적인 보안 암호를 방지. 로그에 보안 암호를 출력하지 말고 출력을 마스킹. 유출된 모든 자료는 즉시 순환.
- 앱 설계: 안전한 경우 버전 없는 참조를 선호. 최소한으로 캐시하고, 토큰을 다시 획득하고 보안 암호를 다시 가져와서 401/403을 처리하여 키 순환 이벤트를 지원.
인증서 관리 심층 분석
- 정책 기반 발급: Key Vault 인증서 정책에서 주체, SAN, 키 사용량, EKU, 키 유형/크기, 키 재사용 설정을 정의합니다. 이유: 전체 자산에 걸쳐 일관된 TLS 상태를 유지하기 위함입니다.
- 발급자 통합: Key Vault에서 CA 프로필을 구성합니다. 프라이빗 PKI의 경우, 사용자 지정 발급자를 통해 Microsoft ADCS와 통합하거나 Azure Key Vault의 Certificate Connector를 사용합니다. 공용 CA를 사용하면 AKV 외부로 프라이빗 키를 노출하지 않고도 자동 갱신이 가능합니다.
- 자동 갱신 작업: 수명 주기 작업(예: 만료 60일 전 갱신, 90일 전 알림)을 사용합니다. 운영 관점에서는 갱신 기간을 변경 동결 기간과 맞추고, 종속 서비스가 자동으로 동기화되도록 보장해야 합니다.
- 애플리케이션 사용: 보안 암호(PFX/PEM)로 검색하거나 플랫폼 서비스에서 참조로 바인딩합니다. 새 버전으로 무중단 롤오버를 위해 플랫폼 네이티브 바인딩(App Service, Application Gateway)을 사용하는 것이 좋습니다. Kubernetes의 경우, CSI를 통해 마운트하여 순환(rotation) 시 롤링 재시작을 트리거합니다.
실제 문제 시나리오
Siemens AG는 Azure에서 IoT 텔레메트리를 보호하고, 미사용 데이터(data at rest)에 대한 강력한 키 소유권을 강제하며, 전 세계에 분산된 플릿 전반에 걸쳐 인증서 및 보안 암호 순환을 자동화해야 합니다.
- Vault 및 HSM 경계 설정
- 애플리케이션 보안 암호/인증서를 위한 지역별 Premium Key Vault와 KEK 작업을 위한 Managed HSM을 생성합니다.
- 근거: Premium Vault는 필요 시 HSM 지원 키를 사용할 수 있게 해주며, Managed HSM은 Level 3 보증 및 독립적인 키 소유권을 제공합니다.
- 복구 가능성 및 가드레일 강제
- 모든 Vault 및 Managed HSM에 제거 방지(purge protection)를 활성화하고, 일시 삭제(soft-delete) 보존 기간을 90일로 설정합니다. Azure Policy를 적용하여 제거 방지가 없는 Vault를 감사/거부합니다.
- 근거: 제거로 인한 치명적인 데이터 손실을 방지하고, 정책을 통해 구성 변경(drift)이 발생하지 않도록 보장합니다.
- RBAC를 사용한 중앙 집중식 권한 부여
- Vault를 Azure RBAC 권한 모델로 설정합니다. PIM을 통해 소규모 플랫폼 팀에 Key Vault Administrator를 할당하고, Vault 범위에서 앱 팀에 Key Vault Secrets Officer를 할당하며, 보안 엔지니어에게 Managed HSM Crypto Officer를 할당합니다.
- 근거: RBAC와 PIM을 함께 사용하면 최소 권한 원칙, 시간 제한적 권한 상승, 일관된 감사를 달성할 수 있습니다. 직무 분리를 통해 관리자가 키를 사용하지 못하도록 합니다.
- 프라이빗 엔드포인트로 네트워크 잠금
- 허브 VNet에 프라이빗 엔드포인트를 생성하고, 공용 네트워크 액세스를 비활성화합니다. CMK를 사용하는 Storage 계정에 대해서만 “신뢰할 수 있는 서비스"를 활성화합니다.
- 근거: 프라이빗 엔드포인트는 공용 노출을 제거하고 데이터 유출 경로를 차단하면서도, 필요한 서비스-Vault 간 통신 흐름은 유지합니다.
- CMK 및 암호화 전략 구현
- Storage의 경우, Premium Vault의 버전 없는 KEK URI를 사용하여 워크로드별 암호화 범위를 정의합니다. Managed Disks의 경우, HSM의 CMK를 사용하는 Disk Encryption Set을 사용합니다. 이중 암호화를 위해 인프라 수준 암호화를 활성화합니다.
- 근거: 워크로드별 키는 장애 영향 반경을 줄이고, 버전 없는 URI는 원활한 순환을 가능하게 하며, 이중 암호화는 엄격한 규정 준수 요구 사항을 충족합니다.
- 키 및 보안 암호 순환 자동화
- AKV 키 순환 정책(예: 연간 만료, 9개월 시점에 순환)과 유효성 검사 작업을 트리거하는 Event Grid 알림을 구성합니다. 서비스에서 관리 ID(managed identities)를 사용하고, 정적 자격 증명을 제거합니다.
- 근거: 예측 가능하고 자동화된 순환은 수명이 긴 키와 보안 암호로 인한 위험을 줄이고, 관리 ID는 취약한 공유 보안 암호를 대체합니다.
- 인증서 운영화
- DigiCert 발급자 통합과 함께 Key Vault 인증서 정책을 사용하고, 만료 60일 전 자동 갱신을 설정합니다. Application Gateway 및 App Service에서 참조로 인증서를 바인딩합니다.
- 근거: 자동 갱신은 서비스 중단을 방지하고 수동 키 처리를 피하게 해줍니다. 플랫폼 바인딩은 재배포 없이 새 버전을 적용합니다.
- 검증 및 모니터링
- Key Vault 및 Managed HSM 진단 로그를 Log Analytics로 보내도록 활성화하고, 무단 시도, 방화벽 거부, 만료 임박 이벤트에 대해 경고를 설정합니다. 보안 도메인 쿼럼을 사용하여 Vault 및 HSM 백업에 대한 분기별 복원 테스트를 실행합니다.
- 근거: 지속적인 모니터링은 잘못된 구성이나 공격을 신속하게 탐지합니다. 복원 테스트는 비상 상황에서의 복구 가능성을 보장합니다.
← 데이터 · 모든 도메인 · 보안 상태 관리 및 거버넌스 →
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →