Azure Storage는 사용 가능한 가장 강력한 블록 암호화 중 하나인 GCM 모드 암호화가 있는 256비트 AES를 사용하여 서비스 수준에서 스토리지 계정의 모든 데이터를 자동으로 암호화하며 FIPS 140-2를 준수합니다. 데이터가 안전하다는 높은 수준의 보증을 요구하는 고객은 이중 암호화를 위해 Azure Storage 인프라 수준에서 CBC 암호화가 있는 256비트 AES를 사용하도록 설정할 수도 있습니다. Azure Storage 데이터의 이중 암호화를 활용하면 암호화 알고리즘 또는 키 중 하나가 손상될 수 있는 시나리오에 대비할 수 있습니다. 이 시나리오에서 추가 암호화 계층은 계속해서 데이터를 보호합니다.
전체 스토리지 계정 또는 계정 내의 암호화 범위에 대해 인프라 암호화를 사용하도록 설정할 수 있습니다. 스토리지 계정 또는 암호화 범위에 대해 인프라 암호화를 사용하도록 설정하면, 서로 다른 암호화 알고리즘 2개와 서로 다른 키 2개를 사용하여 데이터가 두 번(서비스 수준에서 한 번, 인프라 수준에서 한 번) 암호화됩니다.
서비스 수준 암호화는 Azure Key Vault 또는 Key Vault 관리형 HSM(하드웨어 보안 모델)을 사용하여 Microsoft에서 관리형 키 또는 고객 관리형 키를 사용할 수 있도록 지원합니다. 인프라 수준 암호화는 Microsoft 관리형 키를 기반으로 하며 항상 별도의 키를 사용합니다. Azure Storage 암호화를 사용한 키 관리에 대한 자세한 내용은 암호화 키 관리 정보를 참조하세요.
데이터를 이중으로 암호화하려면 먼저 인프라 암호화를 위해 구성된 스토리지 계정 또는 암호화 범위를 만들어야 합니다. 이 문서에서는 인프라 암호화를 사용하도록 설정하는 방법을 설명합니다.
Important
인프라 암호화는 규정 준수 요구 사항에 이중 암호화 데이터가 필요한 시나리오에 권장됩니다. 대부분의 다른 시나리오에서 Azure Storage 암호화는 충분히 강력한 암호화 알고리즘을 제공하며 인프라 암호화를 사용하는 데 도움이 될 가능성은 거의 없습니다.
인프라 암호화를 사용하도록 설정하여 계정 만들기
스토리지 계정에 인프라 암호화를 사용하도록 설정하려면 계정을 만들 때 인프라 암호화를 사용하도록 스토리지 계정을 구성해야 합니다. 계정을 만든 후에는 인프라 암호화를 사용하거나 사용하지 않도록 설정할 수 없습니다. 스토리지 계정은 범용 v2, 프리미엄 블록 Blob, 프리미엄 페이지 Blob 또는 프리미엄 파일 공유 유형이어야 합니다.
다음으로 New-AzStorageAccount 명령을 호출하여 범용 v2, 프리미엄 블록 Blob, 프리미엄 페이지 Blob 또는 프리미엄 파일 공유 스토리지 계정을 만듭니다. 인프라 암호화를 사용하도록 설정하는 -RequireInfrastructureEncryption 옵션을 포함합니다.
다음 예제에서는 RA-GRS(읽기 액세스 지역 중복 스토리지)에 대해 구성된 GPv2(범용 v2) 스토리지 계정을 만들고 데이터의 이중 암호화에 대해 인프라 암호화를 사용하도록 설정하는 방법을 보여 줍니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
스토리지 계정에 대해 인프라 암호화를 사용하도록 설정했는지 확인하려면 Get-AzStorageAccount 명령을 호출합니다. 이 명령은 스토리지 계정 속성 및 해당 값의 집합을 반환합니다. Encryption 속성 내에서 RequireInfrastructureEncryption 필드를 검색하고 이 필드가 True로 설정되어 있는지 확인합니다.
다음 예제에서는 RequireInfrastructureEncryption 속성의 값을 검색합니다. 꺾쇠괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
다음 예제에서는 RA-GRS(읽기 액세스 지역 중복 스토리지)에 대해 구성된 GPv2(범용 v2) 스토리지 계정을 만들고 데이터의 이중 암호화에 대해 인프라 암호화를 사용하도록 설정하는 방법을 보여 줍니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
스토리지 계정에 대해 인프라 암호화를 사용하도록 설정했는지 확인하려면 az storage account show 명령을 호출합니다. 이 명령은 스토리지 계정 속성 및 해당 값의 집합을 반환합니다. encryption 속성 내에서 requireInfrastructureEncryption 필드를 찾고 이 필드가 true로 설정되어 있는지 확인합니다.
다음 예제에서는 requireInfrastructureEncryption 속성의 값을 검색합니다. 꺾쇠괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
az storage account show /
--name <storage-account> /
--resource-group <resource-group>
다음 JSON 예제에서는 RA-GRS(읽기 액세스 지역 중복 스토리지)에 대해 구성된 GPv2(범용 v2) 스토리지 계정을 만들고 데이터의 이중 암호화에 대해 인프라 암호화를 사용하도록 설정합니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
Azure Policy는 스토리지 계정에 대해 인프라 암호화를 사용하도록 요구하는 기본 제공 정책을 제공합니다. 자세한 내용은 Azure Policy 기본 제공 정책 정의의 스토리지 섹션을 참조하세요.
인프라 암호화가 사용될 암호화 범위 만들기
계정에 대해 인프라 암호화를 사용하도록 설정한 경우, 해당 계정에서 만든 암호화 범위가 인프라 암호화를 자동으로 사용합니다. 계정 수준에서 인프라 암호화를 사용하도록 설정하지 않은 경우, 범위를 만들 때 암호화 범위에 대해 사용하도록 설정할 수 있는 옵션이 있습니다. 범위를 만든 후에는 암호화 범위에 대한 인프라 암호화 설정을 변경할 수 없습니다. 자세한 내용은 암호화 범위 만들기를 참조하세요.