Azure Disk Storage의 서버 쪽 암호화

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합

대부분의 Azure 관리 디스크는 SSE(서버 쪽 암호화)를 사용하여 데이터를 보호하고 조직의 보안 및 규정 준수 약정을 충족하는 데 도움이 되는 Azure Storage 암호화로 암호화됩니다. Azure Storage 암호화는 클라우드에 유지되는 경우에 기본적으로 미사용 Azure 관리 디스크(OS 및 데이터 디스크)에 저장된 데이터를 자동으로 암호화합니다. 하지만 호스트에서 암호화가 설정된 디스크는 Azure Storage를 통해 암호화되지 않습니다. 호스트에서 암호화가 설정된 디스크의 경우에는, VM을 호스트하는 서버는 데이터에 관한 암호화를 제공하고 암호화된 데이터는 Azure Storage로 이동됩니다.

Azure Managed Disks의 데이터는 사용 가능한 가장 강력한 암호 중 하나인 256비트 AES 암호화를 사용하여 투명하게 암호화되며 FIPS 140-2 규격입니다. 암호화 모듈의 기본 Azure Managed Disks에 대한 자세한 정보는 Cryptography API: Next Generation을 참조하세요.

Azure Storage 암호화는 관리 디스크의 성능에 영향을 주지 않으며 추가 비용은 없습니다. Azure Storage 암호화에 대한 자세한 내용은 Azure Storage 암호화를 참조하세요.

참고 항목

호스트에서 암호화를 사용하도록 설정하지 않는 한 임시 디스크는 관리 디스크가 아니고 SSE로 암호화되지 않습니다.

암호화 키 관리 정보

플랫폼 관리형 키를 사용하여 관리 디스크를 암호화하거나 사용자 고유의 키를 사용하여 암호화를 관리할 수 있습니다. 사용자 고유의 키를 사용하여 암호화를 관리하는 경우 관리 디스크의 모든 데이터를 암호화 및 암호 해독하는 데 사용할 고객 관리형 키를 지정할 수 있습니다.

다음 섹션에서는 키 관리에 대한 각 옵션을 자세히 설명합니다.

플랫폼 관리형 키

기본적으로 관리 디스크는 플랫폼 관리형 암호화 키를 사용합니다. 기존 관리 디스크에 기록되는 모든 관리 디스크, 스냅샷, 이미지 및 데이터는 플랫폼 관리 키를 사용하여 미사용 시 자동으로 암호화됩니다. 플랫폼 관리형 키는 Microsoft에서 관리합니다.

고객 관리형 키

사용자 고유의 키를 사용하여 각 관리 디스크 수준에서 암호화를 관리할 수 있습니다. 고객 관리형 키를 지정하는 경우 해당 키는 데이터를 암호화하는 키에 대한 액세스를 보호하고 제어하는 데 사용됩니다. 고객 관리형 키를 사용하면 훨씬 더 유연하게 액세스 제어를 관리할 수 있습니다.

다음 Azure 키 저장소 중 하나를 사용하여 고객 관리형 키를 저장해야 합니다.

사용자의 RSA 키를 Key Vault로 가져오거나 Azure Key Vault에서 새 RSA 키를 생성할 수 있습니다. Azure Managed Disks는 봉투(Envelope) 암호화를 사용하여 완전히 투명한 방식으로 암호화 및 암호 해독을 처리합니다. 키를 사용하여 보호되는 AES 256 기반 DEK(데이터 암호화 키)를 사용하여 데이터를 암호화합니다. 스토리지 서비스는 데이터 암호화 키를 생성하고 RSA 암호화를 사용하여 고객 관리형 키로 이를 암호화합니다. 봉투(Envelope) 암호화를 사용하면 VM에 영향을 주지 않고 규정 준수 정책에 따라 정기적으로 키를 회전(변경)할 수 있습니다. 키를 회전하면 스토리지 서비스가 새로운 고객 관리형 키를 사용하여 데이터 암호화 키를 다시 암호화합니다.

관리 디스크 및 Key Vault 또는 관리되는 HSM은 동일한 Azure 지역에 있어야 하지만 다른 구독에 있을 수 있습니다. 또한 테넌트 간 고객 관리형 키(미리 보기)로 관리 디스크 암호화를 사용하지 않는 한 동일한 Microsoft Entra 테넌트에 있어야 합니다.

키에 대한 전체 권한

DEK 암호화 및 암호 해독에 키를 사용하려면 Key Vault 또는 관리되는 HSM의 관리 디스크에 대한 액세스 권한을 부여해야 합니다. 이를 통해 데이터 및 키를 완전히 제어할 수 있습니다. 언제든지 키를 사용하지 않도록 설정하거나 관리 디스크에 대한 액세스를 취소할 수 있습니다. 또한 Azure Key Vault 모니터링을 통해 암호화 키 사용을 감사하여 관리 디스크 또는 다른 신뢰할 수 있는 Azure 서비스만 키에 액세스하도록 할 수 있습니다.

Important

키가 비활성화, 삭제 또는 만료되면 해당 키를 사용하는 OS 또는 데이터 디스크가 있는 모든 VM이 자동으로 종료됩니다. 자동화된 종료 후에는 키가 다시 사용하도록 설정되거나 새 키를 할당할 때까지 VM이 부팅되지 않습니다.

일반적으로 키가 비활성화, 삭제 또는 만료되고 1시간이 지나면 Disk I/O(읽기 또는 쓰기 작업)가 실패하기 시작합니다.

다음 다이어그램은 관리 디스크에서 고객 관리형 키를 사용하여 요청하기 위해 Microsoft Entra ID 및 Azure Key Vault를 사용하는 방법을 보여줍니다.

관리 디스크 및 고객 관리형 키 워크플로 다이어그램 관리자가 Azure Key Vault를 만든 다음, 디스크 암호화 집합을 만들고, 디스크 암호화 집합을 설정합니다. 해당 집합은 VM에 연결되어 있으므로 디스크에서 Microsoft Entra ID를 사용하여 인증할 수 있습니다.

다음 목록에서는 다이어그램에 대해 보다 자세히 설명합니다.

  1. Azure Key Vault 관리자가 Key Vault 리소스를 만듭니다.
  2. Key Vault 관리자가 RSA 키를 Key Vault로 가져오거나 Key Vault에서 새 RSA 키를 생성합니다.
  3. 관리자는 Azure Key Vault ID와 키 URL을 지정하는 디스크 암호화 집합 리소스의 인스턴스를 만듭니다. 디스크 암호화 집합은 관리 디스크에 대한 키 관리를 간소화하기 위해 도입된 새로운 리소스입니다.
  4. 디스크 암호화 집합이 만들어지면 시스템이 할당한 관리 ID가 Microsoft Entra ID에서 생성되고 디스크 암호화 집합과 연결됩니다.
  5. 그 다음, Azure Key Vault 관리자가 Key Vault에서 작업을 수행할 수 있는 관리 ID 권한을 부여합니다.
  6. VM 사용자는 디스크 암호화 집합과 연결하여 디스크를 만듭니다. 또한 VM 사용자는 디스크 암호화 집합과 연결하여 기존 리소스에 대해 고객 관리형 키와 함께 서버 쪽 암호화를 사용하도록 설정할 수 있습니다.
  7. 관리 디스크는 관리 ID를 사용하여 Azure Key Vault에 요청을 보냅니다.
  8. 데이터를 읽거나 쓰는 경우 관리 디스크는 데이터 암호화 및 암호 해독을 수행하기 위해 데이터 암호화 키를 암호화(래핑)하고 해독(래핑 해제)하는 요청을 Azure Key Vault로 보냅니다.

고객 관리형 키에 대한 액세스를 취소하려면 Azure Key Vault PowerShellAzure Key Vault CLI를 참조하세요. 액세스를 취소하면 Azure Storage에서 암호화 키에 액세스할 수 없으므로 스토리지 계정의 모든 데이터에 대한 액세스가 효과적으로 차단됩니다.

고객 관리형 키의 자동 키 순환

일반적으로 고객 관리형 키를 사용하는 경우 자동 키 회전을 최신 키 버전으로 사용하도록 설정해야 합니다. 자동 키 회전은 키를 안전하게 보호하는 데 도움이 됩니다. 디스크는 디스크 암호화 집합을 통해 키를 참조합니다. 디스크 암호화 집합에 대해 자동 회전을 사용하는 경우 시스템은 디스크 암호화 집합을 참조하는 모든 관리 디스크, 스냅숏 및 이미지가 1시간 이내에 새 버전의 키를 사용하도록 자동으로 업데이트합니다. 자동 키 순환을 통해 고객 관리형 키를 사용하도록 설정하는 방법을 알아보려면 자동 키 순환으로 Azure Key Vault 및 DiskEncryptionSet 설정을 참조하세요.

참고 항목

Virtual Machines는 자동 키 회전 중에 다시 부팅되지 않습니다.

자동 키 회전을 사용하도록 설정할 수 없는 경우 키가 만료되기 전에 다른 방법을 사용하여 경고할 수 있습니다. 이렇게 하면 만료 전에 키를 회전하고 비즈니스 연속성을 유지할 수 있습니다. Azure Policy 또는 Azure Event Grid를 사용하여 키가 곧 만료되면 알림을 보낼 수 있습니다.

제한 사항

현재, 고객 관리형 키에는 다음과 같은 제한 사항이 있습니다.

  • 증분 스냅샷이 있는 디스크에 대해 이 기능이 사용하도록 설정된 경우 해당 디스크 또는 해당 스냅샷에서 사용하지 않도록 설정할 수 없습니다. 이 문제를 해결하려면 고객 관리형 키를 사용하지 않는 완전히 다른 관리 디스크로 모든 데이터를 복사합니다. Azure CLI 또는 Azure PowerShell 모듈을 사용하여 이 작업을 수행할 수 있습니다.
  • 2,048비트, 3,072비트 및 4,096비트 크기의 소프트웨어 및 HSM RSA 키만 지원되며 다른 키 또는 크기는 지원되지 않습니다.
    • HSM 키에는 Azure 키 자격 증명 모음의 프리미엄 계층이 필요합니다.
  • Ultra Disks 및 Premium SSD v2 디스크의 경우에만 다음을 수행합니다.
    • 서버 쪽 암호화 및 고객 관리형 키로 암호화된 디스크에서 만든 스냅샷은 동일한 고객 관리형 키를 사용하여 암호화해야 합니다.
    • 사용자 할당 관리 ID는 고객 관리형 키로 암호화된 Ultra Disks 및 Premium SSD v2 디스크에 대해 지원되지 않습니다.
  • 고객 관리형 키와 관련된 대부분의 리소스(디스크 암호화 집합, VM, 디스크 및 스냅샷)는 동일한 구독 및 지역에 있어야 합니다.
    • Azure Key Vault는 다른 구독에서 사용할 수 있지만 디스크 암호화 집합과 동일한 지역에 있어야 합니다. 미리 보기로 다른 Microsoft Entra 테넌트의 Azure Key Vault를 사용할 수 있습니다.
  • 고객 관리형 키로 암호화된 디스크는 연결된 VM의 할당이 취소된 경우에만 다른 리소스 그룹으로 이동할 수 있습니다.
  • 고객 관리형 키를 사용하여 암호화된 디스크, 스냅샷 및 이미지는 다른 구독으로 이동할 수 없습니다.
  • 현재 또는 이전에 Azure Disk Encryption을 통해 암호화된 관리 디스크는 고객 관리형 키를 사용하여 암호화할 수 없습니다.
  • 구독당 지역당 최대 5,000개의 디스크 암호화 집합을 만들 수 있습니다.
  • 공유 이미지 갤러리에서 고객 관리형 키를 사용하는 방법에 대한 자세한 내용은 미리 보기: 이미지 암호화를 위해 고객 관리형 키 사용을 참조하세요.

지원되는 지역

관리 디스크를 사용할 수 있는 모든 지역에서 고객 관리형 키를 사용할 수 있습니다.

Important

고객 관리형 키는 Microsoft Entra ID의 기능 중 하나인 Azure 리소스에 대한 관리 ID를 사용합니다. 고객 관리형 키를 구성하는 경우 관리 ID가 내부적으로 리소스에 자동으로 할당됩니다. 이후에 구독, 리소스 그룹 또는 관리 디스크를 Microsoft Entra 디렉터리 간에 이동하는 경우 관리 디스크와 연결된 관리 ID는 새로운 테넌트로 전송되지 않으므로 고객 관리형 키가 더 이상 작동하지 않을 수 있습니다. 자세한 내용은 Microsoft Entra 디렉터리 간에 구독 전송을 참조하세요.

관리 디스크에 대해 고객 관리형 키를 사용하도록 설정하려면 Azure PowerShell module, Azure CLI 또는 Azure Portal 중 하나를 통해 이를 사용 설정하는 방법에 대한 문서를 참조하세요.

코드 샘플은 CLI를 사용하여 스냅샷에서 관리 디스크 만들기를 참조하세요.

호스트에서의 암호화 - VM 데이터의 엔드투엔드 암호화

호스트에서 암호화를 사용하도록 설정하면 VM이 할당되는 Azure 서버인 VM 호스트 자체에서 암호화가 시작됩니다. 임시 디스크 및 OS/데이터 디스크 캐시의 데이터는 해당 VM 호스트에 저장됩니다. 호스트에서 암호화를 사용하도록 설정한 후에는 이 모든 데이터가 미사용 시 암호화되며, 스토리지 서비스로 흘러 유지됩니다. 기본적으로 호스트에서의 암호화는 엔드투엔드에서 데이터를 암호화합니다. 호스트에서의 암호화는 VM의 CPU를 사용하지 않으며, VM의 성능에 영향을 미치지 않습니다.

엔드투엔드 암호화를 사용하는 경우 임시 디스크와 임시 OS 디스크는 플랫폼 관리형 키를 사용하여 미사용 시 암호화됩니다. OS 및 데이터 디스크 캐시는 선택한 디스크 암호화 유형에 따라 고객 관리형 키 또는 플랫폼 관리형 키를 사용하여 미사용 데이터를 암호화합니다. 예를 들어 디스크가 고객 관리형 키를 사용하여 암호화된 경우 디스크의 캐시는 고객 관리형 키를 사용하여 암호화되고, 디스크가 플랫폼 관리형 키를 사용하여 암호화된 경우 디스크의 캐시는 플랫폼 관리형 키를 사용하여 암호화됩니다.

제한 사항

  • 4k 섹터 크기의 Ultra Disks 및 프리미엄 SSD v2에 지원됩니다.
  • 2023년 5월 13일 이후에 만들어진 512e 섹터 크기 Ultra Disks 및 프리미엄 SSD v2에서만 지원됩니다.
    • 이 날짜 이전에 만들어진 디스크의 경우 디스크 스냅샷을 생성하고 해당 스냅샷을 사용하여 새 디스크를 만듭니다.
  • 현재 또는 Azure Disk Encryption을 사용하도록 설정한 적이 있는 VM(가상 머신) 또는 가상 머신 확장 집합에서는 사용하도록 설정할 수 없습니다.
  • 호스트에서 암호화가 사용하도록 설정된 디스크에서는 Azure Disk Encryption을 사용하도록 설정할 수 없습니다.
  • 암호화는 기존 가상 머신 확장 집합에서 사용하도록 설정할 수 있습니다. 단, 암호화를 사용하도록 설정한 후 생성된 새 VM만 자동으로 암호화됩니다.
  • 암호화하려면 기존 VM의 할당을 취소하고 다시 할당해야 합니다.

국가별 가용성

호스트 암호화는 모든 지역에서 모든 디스크 유형에 대해 사용할 수 있습니다.

지원되는 VM 크기

지원되는 VM 크기의 전체 목록은 프로그래밍 방식으로 끌어올 수 있습니다. 프로그래밍 방식으로 검색하는 방법을 알아보려면 Azure PowerShell 모듈 또는 Azure CLI 문서의 지원되는 VM 크기 찾기 섹션을 참조하세요.

호스트에서의 암호화를 사용하여 엔드투엔드 암호화를 사용 설정하려면 Azure PowerShell 모듈, Azure CLI 또는 Azure Portal 중 하나를 통해 사용 설정하는 방법에 대한 문서를 참조하세요.

미사용 이중 암호화

특정 암호화 알고리즘, 구현 또는 손상되는 키와 연결된 위험에 관해 우려하는 높은 수준의 보안을 중요시하는 고객은 플랫폼 관리형 암호화 키를 사용하는 인프라 계층에서 다른 암호화 알고리즘/모드를 사용하는 추가적인 암호화 계층을 선택할 수 있습니다. 이 새 계층은 지속형 OS와 데이터 디스크, 스냅샷 및 이미지에 적용할 수 있으며, 이는 모두 이중 암호화를 사용하여 미사용 시 암호화됩니다.

제한 사항

미사용 이중 암호화는 현재 Ultra Disks 또는 프리미엄 SSD v2 디스크에서 지원되지 않습니다.

지원되는 지역

관리 디스크를 사용할 수 있는 모든 지역에서 이중 암호화를 사용할 수 있습니다.

관리 디스크에 대해 미사용 시 이중 암호화를 사용하도록 설정하려면 Azure PowerShell module, Azure CLI 또는 Azure Portal 중 하나를 통해 이를 사용 설정하는 방법에 대한 문서를 참조하세요.

서버 쪽 암호화 및 Azure Disk Encryption

Azure Disk Encryption은 Linux의 DM-Crypt 기능 또는 Windows의 BitLocker 기능을 활용하여 게스트 VM 내에서 고객 관리형 키를 사용하여 관리 디스크를 암호화합니다. 고객 관리형 키를 사용하는 서버 쪽 암호화는 스토리지 서비스의 데이터를 암호화하여 VM에 대한 모든 OS 유형 및 이미지를 사용할 수 있도록 설정하여 ADE에서 향상됩니다.

Important

고객 관리형 키는 Microsoft Entra ID의 기능 중 하나인 Azure 리소스에 대한 관리 ID를 사용합니다. 고객 관리형 키를 구성하는 경우 관리 ID가 내부적으로 리소스에 자동으로 할당됩니다. 이후에 구독, 리소스 그룹 또는 관리 디스크를 Microsoft Entra 디렉터리 간에 이동하는 경우 관리 디스크와 연결된 관리 ID는 새로운 테넌트로 전송되지 않으므로 고객 관리형 키가 더 이상 작동하지 않을 수 있습니다. 자세한 내용은 Microsoft Entra 디렉터리 간에 구독 전송을 참조하세요.

다음 단계