Azure Key Vault 관리형 HSM에 저장된 고객 관리형 키를 사용하여 암호화 구성

Azure Storage는 미사용 스토리지 계정의 모든 데이터를 암호화합니다. 기본적으로 데이터는 Microsoft 관리형 키로 암호화됩니다. 암호화 키에 대한 추가 제어를 위해 사용자 고유의 키를 관리할 수 있습니다. 고객 관리형 키는 Azure Key Vault 또는 Key Vault 관리형 HSM(하드웨어 보안 모델)에 저장되어 있어야 합니다. Azure Key Vault 관리되는 HSM은 FIPS 140-2 수준 3 유효성이 검증된 HSM입니다.

이 문서에서는 Azure CLI를 사용하여 관리되는 HSM에 저장된 고객 관리형 키로 암호화를 구성하는 방법을 보여 줍니다. Key Vault에 저장된 고객 관리형 키로 암호화를 구성하는 방법에 대해 알아보려면 Azure Key Vault에 저장된 고객 관리형 키로 암호화 구성을 참조하세요.

참고 항목

Azure Key Vault 및 Azure Key Vault 관리되는 HSM은 구성에 대해 동일한 API 및 관리 인터페이스를 지원합니다.

스토리지 계정에 ID 할당

먼저 시스템이 할당한 관리 ID를 스토리지 계정에 할당합니다. 이 관리 ID를 사용하여 스토리지 계정에서 관리되는 HSM에 액세스할 수 있는 권한을 부여합니다. 시스템이 할당한 관리 ID에 대한 자세한 내용은 Azure 리소스에 대한 관리 ID란?을 참조하세요.

Azure CLI를 사용하여 관리 ID를 할당하려면 az storage account update를 호출합니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --assign-identity

관리되는 HSM에 액세스하기 위해 스토리지 계정에 역할 할당

그런 다음, 저장소 계정이 관리되는 HSM에 대한 사용 권한을 가지도록 관리되는 HSM 암호화 서비스 암호화 사용자 역할을 저장소 계정의 관리 ID에 할당합니다. 관리 ID에 가능한 최소 권한을 부여하려면 역할 할당 범위를 개별 키 수준으로 지정하는 것이 좋습니다.

스토리지 계정에 대한 역할 할당을 만들려면 az key vault role assignment create를 호출합니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.

storage_account_principal = $(az storage account show \
    --name <storage-account> \
    --resource-group <resource-group> \
    --query identity.principalId \
    --output tsv)

az keyvault role assignment create \
    --hsm-name <hsm-name> \
    --role "Managed HSM Crypto Service Encryption User" \
    --assignee $storage_account_principal \
    --scope /keys/<key-name>

관리되는 HSM에서 키를 사용하여 암호화 구성

마지막으로 관리되는 HSM에서 저장된 키를 사용하도록 고객 관리형 키로 Azure Storage 암호화를 구성합니다. 지원되는 키 형식에는 2048, 3072, 4096 크기의 RSA-HSM 키가 포함됩니다. 관리되는 HSM에서 키를 만드는 방법을 알아보려면 HSM 키 만들기를 참조하세요.

Azure CLI 2.12.0 이상을 설치하여 관리되는 HSM에서 고객 관리형 키를 사용하도록 암호화를 구성합니다. 자세한 내용은 Azure CLI 설치를 참조하세요.

고객 관리형 키의 키 버전을 자동으로 업데이트하려면 스토리지 계정의 고객 관리형 키를 사용하도록 암호화를 구성할 때 키 버전을 생략합니다. 자동 키 회전에 대한 암호화를 구성하는 방법에 대한 자세한 내용은 키 버전 업데이트를 참조하세요.

다음으로, 다음 예제와 같이 az storage account update를 호출하여 스토리지 계정의 암호화 설정을 업데이트합니다. --encryption-key-source parameter를 포함하고 이를 Microsoft.Keyvault에 설정하여 계정에 대해 고객 관리형 키를 사용하도록 설정합니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.

hsmurl = $(az keyvault show \
    --hsm-name <hsm-name> \
    --query properties.hsmUri \
    --output tsv)

az storage account update \
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

고객 관리형 키 버전을 수동으로 업데이트하려면 스토리지 계정에 대한 암호화를 구성할 때 키 버전을 포함해야 합니다.

az storage account update
    --name <storage-account> \
    --resource-group <resource_group> \
    --encryption-key-name <key> \
    --encryption-key-version $key_version \
    --encryption-key-source Microsoft.Keyvault \
    --encryption-key-vault $hsmurl

키 버전을 수동으로 업데이트할 때 새 버전을 사용하도록 스토리지 계정의 암호화 설정을 업데이트해야 합니다. 먼저 az keyvault show를 호출하여 키 자격 증명 모음 URI를 쿼리하고 az keyvault key list-versions를 호출하여 키 버전을 쿼리합니다. 그런 다음 이전 예제와 같이 az storage account update를 호출하여 새 버전의 키를 사용하도록 스토리지 계정의 암호화 설정을 업데이트합니다.

다음 단계