Azure Storage 보안 기능 살펴보기
Azure Storage는 SSE(서비스 쪽 암호화)를 사용하여 데이터가 클라우드에 유지될 때 자동으로 암호화합니다. Azure Storage 암호화는 데이터를 보호하고 조직의 보안과 규정 준수 노력에 부합하는 데 도움이 됩니다.
Microsoft는 대부분의 시나리오에서 서비스 쪽 암호화를 사용하여 데이터를 보호할 것을 권장합니다. 그러나 Blob Storage 및 Queue Storage용 Azure Storage 클라이언트 라이브러리는 클라이언트의 데이터를 암호화해야 하는 고객을 위해 클라이언트 쪽 암호화도 제공합니다.
미사용 데이터에 대한 Azure Storage 암호화
Azure Storage는 데이터를 클라우드에 유지할 때 자동으로 암호화합니다. 암호화는 데이터를 보호하고 조직의 보안 및 규정 준수 노력에 부합하는 데 도움이 됩니다. Azure Storage의 데이터는 사용 가능한 가장 강력한 블록 암호 중 하나인 256비트 AES(고급 암호화 표준) 암호화를 사용하여 투명하게 암호화 및 해독되며 FIPS(Federal Information Processing Standards) 140-2를 준수합니다. Azure Storage 암호화는 Windows의 BitLocker 암호화와 비슷합니다.
Azure Storage 암호화는 모든 스토리지 계정에 대해 사용하도록 설정되며 사용하지 않도록 설정할 수 없습니다. 데이터가 기본적으로 보호되므로 Azure Storage 암호화를 활용하기 위해 코드 또는 애플리케이션을 수정할 필요가 없습니다.
스토리지 계정의 데이터는 성능 계층, 액세스 계층 또는 배포 모델에 관계없이 암호화됩니다. 보관 계층의 Blob을 포함하여 모든 신규 및 기존 블록 Blob, 추가 Blob 및 페이지 Blob이 암호화됩니다. 모든 Azure Storage 중복 옵션은 암호화를 지원 하며 지역 복제를 사용하면 기본 지역과 보조 지역의 모든 데이터가 암호화됩니다. BLOB, 디스크, 파일, 큐 및 테이블 등 모든 Azure Storage 리소스가 암호화됩니다. 모든 개체 메타데이터도 암호화됩니다.
Azure Storage 암호화에 대한 추가 비용은 없습니다.
암호화 키 관리
기본적으로 새 스토리지 계정의 데이터는 Microsoft 관리 키로 암호화됩니다. Microsoft 관리 키를 데이터 암호화에 계속 사용하거나 고유한 키를 사용하여 암호화를 관리할 수도 있습니다. 고유한 키로 암호화를 관리하는 경우 두 가지 옵션이 있습니다. 두 가지 키 관리 유형 중 하나나 둘 다 사용할 수 있습니다.
Blob Storage와 Azure Files에서 데이터를 암호화 및 암호 해독하는 데 사용할 고객 관리형 키를 지정할 수 있습니다. 고객 관리형 키를 Azure Key Vault 또는 Azure Key Vault 관리형 HSM(하드웨어 보안 모델)에 저장해야 합니다.
Blob Storage 작업에서 고객이 제공한 키를 지정할 수 있습니다. 클라이언트는 Blob 데이터가 암호화되고 해독되는 방식을 세부적으로 제어하기 위해 읽기/쓰기 요청에 암호화 키를 포함할 수 있습니다.
다음 표에서는 Azure Storage 암호화의 키 관리 옵션을 비교합니다.
키 관리 매개 변수 | Microsoft 관리형 키 | 고객 관리형 키 | 고객 제공 키 |
---|---|---|---|
암호화/암호 해독 작업 | Azure | Azure | Azure |
지원되는 Azure Storage 서비스 | 모두 | Blob Storage, Azure Files | Blob Storage |
키 스토리지 | Microsoft 키 저장소 | Azure Key Vault 또는 Key Vault HSM | 고객의 고유한 키 저장소 |
키 회전 책임 | Microsoft | 고객 | 고객 |
키 제어 | Microsoft | 고객 | 고객 |
키 범위 | 계정(기본값), 컨테이너 또는 Blob | 계정(기본값), 컨테이너 또는 Blob | 해당 없음 |
클라이언트 쪽 암호화
.NET, Java 및 Python용 Azure Blob Storage 클라이언트 라이브러리는 Azure Storage에 업로드하기 전에 클라이언트 애플리케이션 내부에서 데이터를 암호화하고 클라이언트로 다운로드하는 동안 데이터의 암호를 해독하도록 지원합니다. .NET 및 Python용 Queue Storage 클라이언트 라이브러리는 클라이언트 쪽 암호화도 지원합니다.
Blob Storage 및 Queue Storage 클라이언트 라이브러리는 AES를 사용하여 사용자 데이터를 암호화합니다. 클라이언트 라이브러리에는 두 가지 버전의 클라이언트 쪽 암호화를 사용할 수 있습니다.
- 버전 2는 AES에서 GCM(Galois/Counter Mode) 모드를 사용합니다. Blob Storage 및 Queue Storage SDK는 v2를 사용한 클라이언트 쪽 암호화를 지원합니다.
- 버전 1은 AES에서 CBC(암호화 블록 체인) 모드를 사용합니다. Blob Storage, Queue Storage 및 Table Storage SDK는 v1을 사용한 클라이언트 쪽 암호화를 지원합니다.