Azure Key Vault 관리형 HSM의 안정성

Azure Key Vault 관리형 HSM 은 FIPS 140-3 수준 3의 검증된 HSM(하드웨어 보안 모듈)을 사용하여 클라우드 애플리케이션에 대한 암호화 키를 보호할 수 있는 완전 관리형 고가용성 단일 테넌트 표준 규격 클라우드 서비스입니다. 관리형 HSM은 키를 계속 사용할 수 있도록 다양한 기본 제공 안정성 기능을 제공합니다.

Azure를 사용하는 경우 안정성은 공유 책임입니다. Microsoft는 복원력 및 복구를 지원하는 다양한 기능을 제공합니다. 이러한 기능이 사용하는 모든 서비스 내에서 작동하는 방식을 이해하고 비즈니스 목표 및 가동 시간 목표를 충족하는 데 필요한 기능을 선택할 책임이 있습니다.

이 문서에서는 일시적인 오류, 하드웨어 오류 및 지역 중단을 포함하여 관리형 HSM이 다양한 잠재적 중단 및 문제에 대해 복원하는 방법을 설명합니다. 또한 백업 및 보안 도메인을 사용하여 다른 유형의 문제에서 복구하는 방법, 실수로 인한 삭제를 방지하는 복구 기능 및 관리형 HSM SLA(서비스 수준 계약)에 대한 몇 가지 주요 정보를 강조 표시합니다.

안정성을 위한 프로덕션 배포 권장 사항

프로덕션 워크로드의 경우 다음을 수행하는 것이 좋습니다.

안정성 아키텍처 개요

관리형 HSM을 사용하는 경우 이라고도 하는 인스턴스를 배포합니다.

관리형 HSM은 아키텍처를 통해 고가용성 및 내구성을 위해 설계되었습니다.

  • 단일 테넌트 격리: 각 관리형 HSM 인스턴스는 단일 고객 전용이며 암호화 격리된 여러 HSM 파티션의 클러스터로 구성됩니다.

  • 삼중 중복 파티션: 관리형 HSM 풀은 데이터 센터 내의 별도의 랙에 분산된 세 개의 부하 분산 HSM 파티션으로 구성됩니다. 이 배포는 하드웨어 오류에 대한 중복성을 제공하고 단일 구성 요소(예: 랙의 전원 공급 장치 또는 네트워크 스위치)의 손실이 모든 파티션에 영향을 주지 않도록 합니다.

  • 기밀 컴퓨팅: 각 서비스 인스턴스는 Intel SGX enclave를 사용하는 TEE(신뢰할 수 있는 실행 환경)에서 실행됩니다. 서버에 물리적으로 액세스할 수 있는 사용자를 포함하여 Microsoft 직원은 암호화 키 자료에 액세스할 수 없습니다.

  • 자동 복구: 하드웨어 오류 또는 기타 문제가 세 파티션 중 하나에 영향을 미치는 경우 서비스는 고객의 개입 없이 비밀을 노출하지 않고 정상 하드웨어에서 영향을 받는 파티션을 자동으로 다시 빌드합니다.

관리형 HSM이 이러한 기능을 구현하는 방법에 대한 자세한 내용은 관리형 HSM의 주요 주권, 가용성, 성능 및 확장성을 참조하세요.

보안 도메인

보안 도메인은 재해 복구에 중요한 구성 요소입니다. 파티션 소유자 키, 파티션 자격 증명, 데이터 래핑 키 및 HSM의 초기 백업을 포함하여 관리형 HSM 인스턴스를 처음부터 다시 빌드하는 데 필요한 모든 자격 증명을 포함하는 암호화된 Blob입니다.

Important

보안 도메인이 없으면 재해 복구가 불가능합니다. Microsoft는 보안 도메인을 복구할 방법이 없으며 키 없이는 키에 액세스할 수 없습니다.

보안 도메인은 관리형 HSM의 보안 및 안정성에 중요한 부분입니다. 다음 모범 사례를 따르는 것이 좋습니다.

  • 안전하게 키 생성: 프로덕션 환경의 경우 공기가 틈새가 있는 환경(예: 온-프레미스 HSM 또는 격리된 워크스테이션)에서 보안 도메인을 보호하는 RSA 키 쌍을 생성합니다.
  • 오프라인으로 저장: 암호화된 USB 드라이브 또는 기타 오프라인 스토리지에 보안 도메인 키를 저장하고 각 키 공유를 별도의 지리적 위치에 별도의 디바이스에 저장합니다.
  • 다중 사용자 쿼럼 설정: 3개 이상의 키 소유자를 사용하여 한 사람이 모든 쿼럼 키에 액세스하지 못하도록 방지하고 단일 사용자에 대한 종속성을 방지합니다.

자세한 내용은 관리형 HSM의 보안 도메인 개요를 참조하세요.

일시적인 오류에 대한 복원력

일시적인 오류는 구성 요소에서 짧고 간헐적인 오류입니다. 클라우드와 같은 분산 환경에서 자주 발생하며 작업의 일반적인 부분입니다. 일시적인 오류는 짧은 시간 후에 스스로 수정됩니다. 애플리케이션은 일반적으로 영향을 받는 요청을 다시 시도하여 일시적인 오류를 처리할 수 있는 것이 중요합니다.

모든 클라우드 호스팅 애플리케이션은 클라우드 호스팅 API, 데이터베이스 및 기타 구성 요소와 통신할 때 Azure 임시 오류 처리 지침을 따라야 합니다. 자세한 내용은 임시 오류 처리를 위한 권장 사항을 참조하세요.

관리형 HSM과 통합되는 Azure 서비스를 사용하는 경우 해당 서비스는 일시적인 오류를 자동으로 처리합니다.

관리형 HSM과 통합되는 사용자 지정 애플리케이션을 빌드하는 경우 다음 모범 사례를 고려하여 발생할 수 있는 일시적인 오류를 처리합니다.

  • 기본 제공 재시도 메커니즘을 포함하는 Azure Key Vault용 Microsoft 제공 SDK를 사용합니다. SDK는 .NET, PythonJavaScript에 사용할 수 있습니다.

  • 지수적 백오프 재시도 정책을 포함하여 관리형 HSM과 직접 상호 작용할 때 재시도 논리를 구현합니다.

  • 관리형 HSM에 대한 직접 종속성 수를 줄입니다. 가능하면 암호화 작업 결과를 캐시하여 관리형 HSM에 대한 직접 요청을 줄입니다. 암호화, 래핑 및 확인과 같은 공개 키 작업의 경우 공개 키 자료를 캐싱하여 이러한 작업을 로컬로 수행합니다. 작업을 로컬로 수행하면 관리형 HSM에 대한 종속성이 줄어들고 일시적인 오류가 이러한 작업을 중단하지 않도록 방지합니다.

처리량이 높은 시나리오에서 관리형 HSM을 사용하는 경우 관리형 HSM은 암호화 작업을 제한하지 않습니다. HSM 하드웨어를 최대 용량으로 활용합니다. 각 관리형 HSM 인스턴스에는 세 개의 파티션이 있습니다. 유지 관리 또는 복구 작업 중에 하나의 파티션을 사용할 수 없을 수 있습니다. 용량 계획의 경우 두 파티션을 사용할 수 있다고 가정합니다. 보장된 처리량이 필요한 경우 사용 가능한 파티션 하나를 기반으로 계획합니다. 관리형 HSM 가용성 메트릭을 모니터링 하여 서비스의 상태를 이해합니다.

대량 데이터의 암호화 크기를 조정하려면 KEK(키 암호화 키)만 관리형 HSM에 저장되고 다른 보안 키 스토리지 위치에 저장된 하위 수준 키를 래핑하는 데 사용되는 키 계층 구조를 사용합니다.

자세한 성능 벤치마크 및 용량 계획 지침은 Azure Managed HSM 크기 조정 지침을 참조하세요.

파티션 오류에 대한 복원력

관리형 HSM은 각 HSM 풀이 데이터 센터 내의 별도의 서버 랙에 분산된 3개의 HSM 파티션으로 구성된 삼중 중복 아키텍처를 통해 고가용성을 달성합니다. 이 랙 수준 배포는 지역화된 하드웨어 오류에 대한 중복성을 제공합니다.

각각 별도의 물리적 서버와 다른 서버 랙에 있는 관리형 HSM 풀의 세 파티션을 보여 주는 다이어그램.

각각 별도의 물리적 서버와 다른 서버 랙에 있는 관리형 HSM 풀의 세 파티션을 보여 주는 다이어그램.

하드웨어 오류 또는 지역화된 중단이 발생하면 관리형 HSM은 자동으로 요청을 정상 파티션으로 리디렉션하고 기밀 서비스 복구라는 프로세스를 통해 영향을 받는 파티션을 다시 빌드합니다. 실패한 파티션은 복구 중에 비밀을 보호하기 위해 증명된 TLS 및 Intel SGX enclave를 사용하여 정상 하드웨어에서 자동으로 다시 작성됩니다.

Cost

Managed HSM의 기본 제공 고가용성과 관련된 추가 비용은 없습니다. 가격 책정은 HSM 풀의 수와 수행된 작업 수를 기반으로 합니다. 자세한 내용은 Azure 관리형 HSM 가격 책정 참조하세요.

모든 파티션이 정상인 경우의 동작

이 섹션에서는 관리형 HSM 풀이 작동하고 파티션을 사용할 수 없는 경우 예상되는 사항에 대해 설명합니다.

  • 트래픽 라우팅: 관리형 HSM은 세 파티션에서 트래픽 라우팅을 자동으로 관리합니다. 정상적인 작업 중에 요청은 파티션 간에 투명하게 분산됩니다.

  • 데이터 복제: 키, 역할 할당 및 액세스 제어 정책을 포함한 모든 데이터는 세 파티션 모두에 동기적으로 복제됩니다. 이렇게 하면 파티션을 사용할 수 없게 되는 경우에도 일관성과 가용성이 보장됩니다.

파티션 실패 시 동작

이 섹션에서는 하나 이상의 파티션을 사용할 수 없게 될 때 예상되는 사항에 대해 설명합니다.

  • 검색 및 응답: 관리형 HSM 서비스는 파티션 오류를 감지하고 자동으로 응답하는 역할을 담당합니다. 파티션 오류가 발생하는 동안에는 아무 작업도 수행할 필요가 없습니다.

  • 활성 요청: 파티션이 실패하는 동안 영향을 받는 파티션으로 전송 중인 요청이 실패하고 클라이언트 애플리케이션이 다시 시도하도록 요구할 수 있습니다. 파티션 중단의 영향을 최소화하려면 클라이언트 애플리케이션이 일시적인 오류 처리 방법을 따라야 합니다.

  • 예상 데이터 손실: 파티션 간 동기 복제로 인해 파티션이 실패하는 동안 데이터 손실이 발생하지 않습니다.

  • 예상 가동 중지 시간: 읽기 작업 및 대부분의 암호화 작업의 경우 파티션 실패 시 가동 중지 시간이 최소화되어야 합니다. 나머지 정상 파티션은 계속해서 요청을 처리합니다.

  • 트래픽 경로 변경: 관리형 HSM은 고객의 개입 없이 영향을 받는 파티션에서 정상 파티션으로 트래픽을 자동으로 다시 라우팅합니다.

파티션 복구

영향을 받는 파티션이 복구되면 관리형 HSM은 기밀 서비스 복구를 통해 작업을 자동으로 복원합니다. 이 프로세스는 다음과 같습니다.

  1. 정상 하드웨어에 새 서비스 인스턴스를 만듭니다.
  2. 기본 파티션을 사용하여 입증된 TLS 연결을 설정합니다.
  3. 자격 증명 및 암호화 자료를 안전하게 교환합니다.
  4. 서비스 데이터를 새 CPU에 봉인합니다.

Azure 플랫폼은 이 프로세스를 완전히 관리하며 고객의 개입이 필요하지 않습니다.

가용성 영역 오류에 대한 복원력

관리형 HSM의 고가용성은 명시적 가용성 영역 배포가 아닌 데이터 센터 내의 랙 수준 배포를 기반으로 합니다. 각 파티션은 전원 공급 장치 또는 네트워크 스위치 문제와 같은 랙 수준 오류로부터 보호하는 다른 랙의 별도 서버에서 실행됩니다.

데이터 센터 또는 가용성 영역 전체 중단에 대한 복원력이 필요한 경우 지역 전체 오류에 대한 복원력에 대한 방법 중 하나를 사용하는 것이 좋습니다.

지역 전체 오류에 대한 복원력

관리형 HSM 리소스는 단일 Azure 지역에 배포됩니다. 지역을 사용할 수 없게 되면 관리형 HSM도 사용할 수 없습니다. 그러나 지역 중단에 대한 복원력을 보장하는 데 사용할 수 있는 방법이 있습니다.

다중 지역 복제

관리형 HSM은 선택적 다중 지역 복제를 지원하므로 관리형 HSM 풀을 하나의 Azure 지역( 주 지역)에서 두 번째 Azure 지역( 확장 지역)으로 확장할 수 있습니다. 구성되면 다음을 수행합니다.

  • 두 지역 모두 활성 상태이며 요청을 처리할 수 있습니다.
  • 주요 자료, 역할 및 권한은 지역 간에 자동으로 복제됩니다.
  • 요청은 Azure Traffic Manager를 사용하여 사용 가능한 가장 가까운 지역으로 라우팅됩니다.
  • 결합된 서비스 수준 계약(SLA)이 증가합니다.

Requirements

  • 지역 지원: 모든 Azure 관리형 HSM 지역은 주 지역으로 지원됩니다. Azure 지역 페어링에 대한 종속성은 없습니다.

    관리형 HSM은 모든 지역을 확장 지역으로 지원하지 않습니다. 자세한 내용은 Azure 지역 지원을 참조하세요.

  • 최대 지역 수: 최대 2개의 지역(총 2개)에 대해 하나의 확장된 지역을 추가할 수 있습니다.

Cost

다중 지역 복제는 확장된 지역에서 두 번째 HSM 풀을 사용하므로 추가 청구가 발생합니다. 자세한 내용은 Azure 관리형 HSM 가격 책정 참조하세요.

다중 지역 복제 구성

모든 지역이 정상인 경우의 동작

다중 지역 복제를 사용하도록 설정하고 두 지역이 모두 작동되는 경우:

  • 트래픽 라우팅: 모든 지역이 요청을 처리할 수 있습니다. Azure Traffic Manager는 가장 가까운 지리적 근접 또는 가장 낮은 대기 시간으로 요청을 지역으로 라우팅합니다.

    Private Link를 사용하는 경우 장애 조치(failover) 중에 최적의 라우팅을 위해 두 지역에서 프라이빗 엔드포인트를 구성합니다. 자세한 내용은 다중 지역 복제를 사용하는 프라이빗 링크 동작을 참조하세요.

  • 데이터 복제: 키, 역할 정의 및 역할 할당에 대한 모든 변경 내용은 6분 이내에 확장된 지역에 비동기적으로 복제됩니다. 확장된 지역에서 키를 사용하기 전에 키를 만들거나 업데이트한 후 6분 정도 기다립니다.

지역 오류 중 동작

다중 지역 복제를 사용하도록 설정하고 한 지역에서 중단이 발생하는 경우:

  • 검색 및 응답: Azure Traffic Manager는 비정상 지역을 검색하고 향후 요청을 정상 지역으로 라우팅합니다. DNS 레코드에는 5초 TTL이 설정되어 있지만, DNS 조회 결과를 캐싱하는 클라이언트의 경우 장애 조치 시간은 약간 더 길어질 수 있습니다.
  • 알림: Microsoft는 지역이 다운된 경우 자동으로 알리지 않습니다. 그러나 Azure Service Health 를 사용하여 지역 오류를 포함하여 서비스의 전반적인 상태를 파악할 수 있으며, 문제를 알리도록 Service Health 경고를 설정할 수 있습니다.
  • 활성 요청: 영향을 받는 지역으로 전송 중인 요청이 실패하고 다시 시도해야 할 수 있습니다.

  • 예상 데이터 손실: 해당 변경 내용이 복제를 완료하지 않은 경우 지역 오류가 발생하기 6분 전에 변경된 내용에 대한 데이터 손실이 있을 수 있습니다.

  • 예상 가동 중지 시간: 읽기 및 쓰기 작업은 모두 장애 조치(failover) 중에 정상 지역에서 사용할 수 있습니다.

    비정상 지역에 가까운 클라이언트 애플리케이션은 DNS 레코드가 업데이트될 때까지 해당 지역으로 계속 전송될 수 있지만 이 업데이트는 약 5초 이내에 수행됩니다. 장애 조치(failover) 시간을 최소화하기 위해 클라이언트는 DNS 레코드의 TTL보다 오랫동안 DNS 조회를 캐싱하지 않아야 합니다.

  • 라우팅: Azure Traffic Manager는 요청의 경로를 정상 지역으로 자동으로 다시 라우팅합니다.

지역 복구

영향을 받는 지역이 복구되면 관리형 HSM은 자동으로 작업을 다시 시작합니다. Traffic Manager는 근접성을 기반으로 두 지역에 대한 요청을 다시 라우팅하기 시작합니다.

지역 오류 테스트

관리형 HSM은 지역 오류에 대한 트래픽 라우팅, 장애 조치(failover) 및 장애 복구(failback)를 완벽하게 관리하므로 지역 오류 프로세스의 유효성을 검사하거나 추가 입력을 제공할 필요가 없습니다.

복원력을 위한 사용자 지정 다중 지역 솔루션

다중 지역 복제가 요구 사항에 적합하지 않은 경우 수동 재해 복구를 구현할 수 있습니다. 다음을 필요로 합니다.

  • 원본 HSM의 보안 도메인입니다.
  • 보안 도메인을 암호화하는 프라이빗 키(적어도 쿼럼 번호)입니다.
  • 원본 HSM의 최근 전체 백업입니다.

재해 복구를 수행하려면 다음을 수행합니다.

  1. 다른 지역에 새 관리형 HSM 인스턴스를 만듭니다.
  2. 보안 도메인 복구 모드를 활성화하고 보안 도메인을 업로드합니다.
  3. 새 HSM의 백업을 수행합니다(복원하기 전에 필요).
  4. 원본 HSM에서 백업을 복원합니다.

Important

새 HSM에는 다른 이름 및 서비스 엔드포인트 URI가 있습니다. 새 위치를 사용하려면 애플리케이션 구성을 업데이트해야 합니다.

자세한 재해 복구 절차는 관리형 HSM 재해 복구를 참조하세요.

백업 및 복원

관리형 HSM은 모든 키, 버전, 특성, 태그 및 역할 할당의 전체 백업 및 복원을 지원합니다. 백업은 Azure Storage 계정에 저장됩니다. 지역에서 지원하는 경우 GRS(지역 중복 스토리지)를 사용하도록 설정된 Azure Storage 계정에 관리형 HSM을 백업하는 것이 좋습니다.

백업은 HSM의 보안 도메인과 연결된 암호화 키를 사용하여 암호화되며 동일한 보안 도메인이 있는 HSM으로만 복원할 수 있습니다.

관리형 HSM은 백업 예약을 지원하지 않지만 Azure Functions 또는 Azure Automation과 같은 서비스를 사용하여 사용자 고유의 스케줄러를 빌드할 수 있습니다.

백업이 진행 중인 동안 일부 파티션이 백업 작업을 수행하느라 HSM이 전체 처리량에서 작동하지 않을 수 있습니다.

자세한 백업 및 복원 절차는 전체 백업 및 복원을 참조하세요.

실수로 인한 삭제에 대한 복구 능력

관리형 HSM은 우발적이거나 악의적인 삭제를 방지하기 위한 두 가지 주요 복구 기능을 제공합니다.

  • 일시 삭제: HSM 또는 키를 삭제하면 구성 가능한 보존 기간(7~90일, 기본값 90일)에 대해 복구할 수 있습니다. 일시 삭제는 항상 사용하도록 설정되며 사용하지 않도록 설정할 수 없습니다.

    비고

    일시 삭제된 관리형 HSM 리소스는 제거될 때까지 계속 청구됩니다.

  • 제거 보호: 사용하도록 설정하면 보존 기간이 경과할 때까지 관리형 HSM 및 해당 키를 영구적으로 삭제하지 않습니다. 제거 보호는 Microsoft를 비롯한 모든 사용자가 사용하지 않도록 설정하거나 재정의할 수 없습니다.

프로덕션 환경에 대한 제거 보호를 사용하도록 설정하는 것이 좋습니다. 자세한 내용은 관리형 HSM 일시 삭제 및 제거 보호를 참조하세요.

서비스 유지 관리에 대한 복원력

관리형 HSM은 고객의 개입 없이 펌웨어 업데이트, 패치 및 하드웨어 복구를 포함한 서비스 유지 관리를 처리합니다. 유지 관리 중:

  • 업데이트가 적용되는 동안 파티션을 일시적으로 사용할 수 없을 수 있습니다.
  • 일상적인 유지 관리 중에는 3개 파티션 중 2개 이상을 계속 사용할 수 있습니다.
  • 클라이언트 애플리케이션은 짧은 중단을 처리하기 위해 재시도 논리를 구현해야 합니다.

기밀 서비스 복구 프로세스는 유지 관리 작업 중에 비밀이 노출되지 않도록 합니다.

서비스 수준 약정

Azure 서비스에 대한 SLA(서비스 수준 계약)는 각 서비스의 예상 가용성과 솔루션이 가용성 기대치를 달성하기 위해 충족해야 하는 조건을 설명합니다. 자세한 내용은 온라인 서비스 SLA를 참조하세요.

관리형 HSM은 단일 지역 배포에 대한 표준 SLA를 제공합니다. 다중 지역 복제를 사용하도록 설정하면 두 지역의 결합된 SLA가 증가합니다.