Azure Storage는 미사용 스토리지 계정의 모든 데이터를 암호화합니다. 기본적으로 데이터는 Microsoft 관리형 키로 암호화됩니다. 암호화 키를 더 효과적으로 제어하기 위해 사용자 고유의 키를 관리할 수 있습니다. 고객 관리형 키는 Azure Key Vault 또는 Key Vault 관리형 HSM(하드웨어 보안 모델)에 저장되어 있어야 합니다.
이 문서에서는 스토리지 계정과 키 자격 증명이 동일한 테넌트에 있을 때 기존 스토리지 계정에 대한 고객 관리형 키를 사용해 암호화를 구성하는 방법을 보여 줍니다. 고객 관리형 키는 키 자격 증명 모음에 저장됩니다.
새 스토리지 계정에 대해 고객 관리형 키를 구성하는 방법을 알아보려면 Azure 키 자격 증명 모음에서 새 스토리지 계정에 대한 고객 관리형 키 구성을 참조하세요.
관리형 HSM에 저장된 고객 관리형 키로 암호화를 구성하는 방법에 대한 자세한 내용은 Azure Key Vault 관리형 HSM에 저장된 고객 관리형 키로 암호화 구성을 참조하세요.
참고 항목
Azure Key Vault 및 Azure Key Vault 관리되는 HSM은 고객 관리형 키 구성 시 동일한 API 및 관리 인터페이스를 지원합니다. Azure Key Vault에 지원되는 모든 작업은 Azure Key Vault 관리되는 HSM에도 지원됩니다.
신규 또는 기존 키 자격 증명 모음을 사용하여 고객 관리형 키를 저장할 수 있습니다. 스토리지 계정 및 키 자격 증명 모음은 동일한 테넌트의 다른 지역 또는 구독에 있을 수 있습니다. Azure Key Vault에 대한 자세한 내용을 보려면 Azure Key Vault 개요 및 Azure Key Vault란?을 참조하세요.
Azure Storage 암호화에서 고객 관리형 키를 사용하려면 키 자격 증명 모음에 대해 일시 삭제 및 제거 보호를 모두 사용하도록 설정해야 합니다. 일시 삭제는 새 키 자격 증명 모음을 만들 때 기본적으로 사용하도록 설정되며 해제할 수 없습니다. 키 자격 증명 모음을 만들 때 또는 만든 후에 제거 보호를 사용하도록 설정할 수 있습니다.
Azure Key Vault는 Azure RBAC 권한 모델을 통해 Azure RBAC 권한 부여를 지원합니다. Microsoft는 키 자격 증명 모음 액세스 정책보다 Azure RBAC 권한 모델을 사용하는 것을 권장합니다. 자세한 내용은 Azure RBAC를 사용하여 Azure Key Vault에 액세스할 수 있도록 애플리케이션에 권한 부여를 참조하세요.
Azure Portal을 사용하여 키 자격 증명 모음을 만드는 방법은 빠른 시작: Azure Portal을 사용하여 키 자격 증명 모음 만들기를 참조하세요. 키 자격 증명 모음을 만들 때 다음 그림에 표시된 것처럼 보호 제거 사용을 선택합니다.
기존 키 자격 증명 모음에 보호 제거를 사용하도록 설정하려면 다음 단계를 수행합니다.
- Azure Portal에서 키 자격 증명 모음으로 이동합니다.
- 설정 아래에서 속성을 선택합니다.
- 보호 제거 섹션에서 보호 제거 사용을 선택합니다.
PowerShell을 사용하여 새 키 자격 증명 모음을 만들려면 버전 2.0.0 이상의 Az.KeyVault PowerShell 모듈을 설치합니다. 그런 다음 New-AzKeyVault를 호출하여 새 키 자격 증명 모음을 만듭니다. Az.KeyVault 모듈의 2.0.0 이상 버전을 사용하는 경우 새 키 자격 증명 모음을 만들 때 일시 삭제가 기본적으로 사용하도록 설정됩니다.
다음 예에서는 일시 삭제 및 제거 보호가 사용하도록 설정된 새 키 자격 증명 모음을 만듭니다. 키 자격 증명 모음의 권한 모델은 Azure RBAC를 사용하도록 설정됩니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
$rgName = "<resource_group>"
$___location = "<___location>"
$kvName = "<key-vault>"
$keyVault = New-AzKeyVault -Name $kvName `
-ResourceGroupName $rgName `
-Location $___location `
-EnablePurgeProtection `
-EnableRbacAuthorization
PowerShell을 사용하여 기존 키 자격 증명 모음에 보호 제거를 사용하도록 설정하는 방법은 Azure Key Vault 복구 개요를 참조하세요.
키 자격 증명 모음을 만든 후에는 Key Vault 암호화 책임자 역할을 자신에게 할당해야 합니다. 이 역할을 사용하면 키 자격 증명 모음에서 키를 만들 수 있습니다. 다음 예에서는 키 자격 증명 모음으로 범위가 할당된 사용자에게 이 역할을 할당합니다.
New-AzRoleAssignment -SignInName "<user-email>" `
-RoleDefinitionName "Key Vault Crypto Officer" `
-Scope $keyVault.ResourceId
PowerShell을 사용하여 RBAC 역할을 할당하는 방법에 대한 자세한 내용은 Azure PowerShell을 사용하여 Azure 역할 할당을 참조하세요.
Azure CLI를 사용하여 새 키 자격 증명 모음을 만들려면 az keyvault create를 호출합니다. 다음 예에서는 일시 삭제 및 제거 보호가 사용하도록 설정된 새 키 자격 증명 모음을 만듭니다. 키 자격 증명 모음의 권한 모델은 Azure RBAC를 사용하도록 설정됩니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
rgName="<resource_group>"
___location="<___location>"
kvName="<key-vault>"
az keyvault create \
--name $kvName \
--resource-group $rgName \
--___location $___location \
--enable-purge-protection \
--enable-rbac-authorization
Azure CLI를 사용하여 기존 키 자격 증명 모음에 보호 제거를 사용하도록 설정하는 방법은 Azure Key Vault 복구 개요를 참조하세요.
키 자격 증명 모음을 만든 후에는 Key Vault 암호화 책임자 역할을 자신에게 할당해야 합니다. 이 역할을 사용하면 키 자격 증명 모음에서 키를 만들 수 있습니다. 다음 예에서는 키 자격 증명 모음으로 범위가 할당된 사용자에게 이 역할을 할당합니다.
kvResourceId=$(az keyvault show --resource-group $rgName \
--name $kvName \
--query id \
--output tsv)
az role assignment create --assignee "<user-email>" \
--role "Key Vault Crypto Officer" \
--scope $kvResourceId
Azure CLI로 RBAC 역할을 할당하는 방법에 대한 자세한 내용은 Azure CLI를 사용하여 Azure 역할 할당을 참조하세요.
키 추가
다음으로 키 자격 증명 모음에 키를 추가합니다. 키를 추가하기 전에 Key Vault 암호화 책임자 역할을 자신에게 할당했는지 확인합니다.
Azure Storage 암호화는 2048, 3072, 4096 크기의 RSA 및 RSA HSM 키를 지원합니다. 지원되는 키 유형에 대한 자세한 내용은 키 정보를 참조하세요.
PowerShell을 사용하여 키를 추가하려면 Add-AzKeyVaultKey를 호출합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.
$keyName = "<key-name>"
$key = Add-AzKeyVaultKey -VaultName $keyVault.VaultName `
-Name $keyName `
-Destination 'Software'
Azure CLI를 사용하여 키를 추가하려면 az keyvault key create를 호출합니다. 대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
keyName="<key-name>"
az keyvault key create \
--name $keyName \
--vault-name $kvName
키 자격 증명 모음에 대한 액세스 권한을 부여하기 위한 관리 ID 선택
기존 스토리지 계정에 대해 고객 관리형 키를 사용하도록 설정하는 경우 키가 포함된 키 자격 증명 모음에 대한 액세스 권한을 부여하는 데 사용할 관리 ID를 지정해야 합니다. 관리 ID에는 키 자격 증명 모음의 키에 액세스할 수 있는 권한이 있어야 합니다.
키 자격 증명 모음에 대한 액세스 권한을 부여하는 관리 ID는 사용자가 할당한 관리 ID이거나 시스템이 할당한 관리 ID일 수 있습니다. 시스템이 할당한 관리 ID와 사용자가 할당한 관리 ID에 대해 자세히 알아보려면 관리 ID 유형을 참조하세요.
사용자가 할당한 관리 ID를 사용하여 액세스 권한 부여
고객 관리형 키를 새 스토리지 계정에 사용하도록 설정하는 경우 사용자가 할당한 관리 ID를 지정해야 합니다. 기존 스토리지 계정은 사용자가 할당한 관리 ID 또는 시스템이 할당한 관리 ID를 사용하여 고객 관리형 키를 구성하도록 지원합니다.
사용자가 할당한 관리 ID를 사용하여 고객 관리형 키를 구성하는 경우 사용자가 할당한 관리 ID를 사용하여 키가 포함된 키 자격 증명 모음에 대한 액세스 권한을 부여합니다. 고객 관리형 키를 구성하기 전에 사용자 할당 ID를 만들어야 합니다.
사용자 할당 관리 ID는 독립 실행형 Azure 리소스입니다. 사용자가 할당한 관리 ID에 대한 자세한 내용은 관리 ID 유형을 참조하세요. 사용자가 할당한 관리 ID를 만들고 관리하는 방법에 대해 자세히 알아보려면 사용자 할당 관리 ID 관리를 참조하세요.
사용자가 할당한 관리 ID에는 키 자격 증명 모음의 키에 액세스할 수 있는 권한이 있어야 합니다. Key Vault 암호화 서비스 암호화 사용자 역할을 키 자격 증명 모음 범위가 있는 사용자가 할당한 관리 ID에 할당하여 이러한 권한을 부여합니다.
사용자가 할당한 관리 ID로 고객 관리형 키를 구성하려면 먼저 Key Vault 암호화 서비스 암호화 사용자 역할을 키 자격 증명 모음으로 범위가 할당된 사용자가 할당한 관리 ID에 할당해야 합니다. 이 역할은 키 자격 증명 모음의 키에 액세스할 수 있는 사용자가 할당한 관리 ID 권한을 부여합니다. Azure Portal에서 Azure RBAC 역할 할당에 대한 자세한 내용은 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.
Azure Portal을 사용하여 고객 관리형 키를 구성하는 경우 포털 사용자 인터페이스를 통해 기존 사용자 할당 ID를 선택할 수 있습니다.
다음 예에서는 사용자가 할당한 관리 ID를 검색하고 여기에 키 자격 증명 모음으로 범위가 할당된 필수 RBAC 역할을 할당하는 방법을 보여 줍니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예에 정의된 변수를 사용해야 합니다.
$userIdentity = Get-AzUserAssignedIdentity -Name <user-assigned-identity> `
-ResourceGroupName $rgName
$principalId = $userIdentity.PrincipalId
New-AzRoleAssignment -ObjectId $principalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
다음 예에서는 사용자가 할당한 관리 ID를 검색하고 여기에 키 자격 증명 모음으로 범위가 할당된 필수 RBAC 역할을 할당하는 방법을 보여 줍니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예에 정의된 변수를 사용해야 합니다.
identityResourceId=$(az identity show --name <user-assigned-identity> \
--resource-group $rgName \
--query id \
--output tsv)
principalId=$(az identity show --name <user-assigned-identity> \
--resource-group $rgName \
--query principalId \
--output tsv)
az role assignment create --assignee-object-id $principalId \
--role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId \
--assignee-principal-type ServicePrincipal
시스템이 할당한 관리 ID를 사용하여 액세스 권한 부여
시스템이 할당한 관리 ID는 Azure 서비스 인스턴스와 연결됩니다(이 경우 Azure Storage 계정). 시스템이 할당한 관리 ID를 사용하여 고객 관리형 키가 포함된 키 자격 증명 모음에 대한 액세스 권한을 부여하려면 먼저 스토리지 계정에 시스템이 할당한 관리 ID를 명시적으로 할당해야 합니다.
기존 스토리지 계정만 시스템 할당 ID를 사용하여 키 자격 증명 모음에 대한 액세스 권한을 부여할 수 있습니다. 계정 생성 시 고객 관리형 키를 구성한 경우 새 스토리지 계정은 사용자 할당 ID를 사용해야 합니다.
시스템이 할당한 관리 ID에는 키 자격 증명 모음의 키에 액세스할 수 있는 권한이 있어야 합니다. Key Vault 암호화 서비스 암호화 사용자 역할을 키 자격 증명 모음 범위가 있는 시스템이 할당한 관리 ID에 할당하여 이러한 권한을 부여합니다.
시스템이 할당한 관리 ID로 고객 관리형 키를 구성하려면 먼저 Key Vault 암호화 서비스 암호화 사용자 역할을 키 자격 증명 모음으로 범위가 할당된 시스템이 할당한 관리 ID에 할당해야 합니다. 이 역할은 키 자격 증명 모음의 키에 액세스할 수 있는 시스템이 할당한 관리 ID 권한을 부여합니다. Azure Portal에서 Azure RBAC 역할 할당에 대한 자세한 내용은 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.
시스템이 할당한 관리 ID를 사용하여 Azure Portal에서 고객 관리형 키를 구성하면 시스템이 할당한 관리 ID가 내부적으로 스토리지 계정에 할당됩니다.
시스템이 할당한 관리 ID를 스토리지 계정에 할당하려면 먼저 Set-AzStorageAccount를 호출합니다.
$accountName = "<storage-account>"
$storageAccount = Set-AzStorageAccount -ResourceGroupName $rgName `
-Name $accountName `
-AssignIdentity
그런 다음, 키 자격 증명 모음으로 범위가 지정된 필수 RBAC 역할을 시스템이 할당한 관리 ID에 할당합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예에 정의된 변수를 사용해야 합니다.
$principalId = $storageAccount.Identity.PrincipalId
New-AzRoleAssignment -ObjectId $storageAccount.Identity.PrincipalId `
-RoleDefinitionName "Key Vault Crypto Service Encryption User" `
-Scope $keyVault.ResourceId
시스템이 할당한 관리 ID를 사용하여 키 자격 증명 모음에 대한 액세스를 인증하려면 먼저 az storage account update를 호출하여 스토리지 계정에 시스템이 할당한 관리 ID를 할당합니다.
accountName="<storage-account>"
az storage account update \
--name $accountName \
--resource-group $rgName \
--assign-identity
그런 다음, 키 자격 증명 모음으로 범위가 지정된 필수 RBAC 역할을 시스템이 할당한 관리 ID에 할당합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예에 정의된 변수를 사용해야 합니다.
principalId=$(az storage account show --name $accountName \
--resource-group $rgName \
--query identity.principalId \
--output tsv)
az role assignment create --assignee-object-id $principalId \
--role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId
기존 스토리지 계정에 대해 고객 관리형 키를 사용하여 암호화를 구성하는 경우 연결된 키 자격 증명 모음에서 새 버전을 사용할 수 있을 때마다 Azure Storage 암호화에 사용되는 키 버전을 자동으로 업데이트하도록 선택할 수 있습니다. 또는, 키 버전이 수동으로 업데이트될 때까지 암호화에 사용할 키 버전을 명시적으로 지정할 수 있습니다.
키 버전이 자동으로든, 수동으로든 변경되면 루트 암호화 키의 보호 상태가 변경되지만 Azure Storage 계정의 데이터는 항상 암호화된 상태로 유지됩니다. 데이터가 보호되도록 하기 위해 추가 작업이 필요하지 않습니다. 키 버전을 순환해도 성능에는 영향이 없습니다. 키 버전 회전과 관련된 가동 중지 시간은 없습니다.
기존 스토리지 계정에 대해 고객 관리형 키를 구성할 경우 시스템이 할당한 관리 ID 또는 사용자가 할당한 관리 ID를 사용하여 키 자격 증명 모음에 대한 액세스 권한을 부여할 수 있습니다.
참고 항목
키를 회전하려면 Azure Key Vault에서 새 버전의 키를 만듭니다. Azure Storage는 키 회전을 처리하지 않으므로 키 자격 증명 모음에서 키 회전을 관리해야 합니다. Azure Key Vault에서 키 자동 회전을 구성하거나 키를 수동으로 회전할 수 있습니다.
Azure Storage는 키 자격 증명 모음의 최신 키 버전을 사용하도록 암호화에 사용되는 고객 관리형 키를 자동으로 업데이트할 수 있습니다. Azure Storage는 매일 키 자격 증명 모음에서 새 키 버전을 확인합니다. 새 버전을 사용할 수 있게 되면 Azure Storage에서 자동으로 최신 버전의 암호화 키를 사용하기 시작합니다.
Important
Azure Storage는 키 자격 증명 모음에서 새 키 버전을 매일 한 번만 확인합니다. 키를 회전하는 경우 이전 버전을 사용하지 않도록 설정할 때까지 24시간 동안 기다려야 합니다.
Azure Portal에서 키 버전 자동 업데이트를 사용하여 기존 계정에 대한 고객 관리형 키를 구성하려면 아래 단계를 수행합니다.
본인의 저장소 계정으로 이동합니다.
보안 + 네트워킹에서 암호화를 선택합니다. 기본적으로 키 관리는 아래 이미지와 같이 Microsoft 관리형 키로 설정됩니다.
고객 관리형 키 옵션을 선택합니다. 계정이 이전에 키 버전을 수동으로 업데이트하여 고객 관리형 키용으로 구성된 경우 페이지 하단에서 키 변경을 선택합니다.
Key Vault에서 선택 옵션을 선택합니다.
키 자격 증명 모음 및 키 선택을 선택합니다.
사용하려는 키가 포함된 키 자격 증명 모음을 선택합니다. 새 키 자격 증명 모음을 만들 수도 있습니다.
키 자격 증명 모음에서 키를 선택합니다. 새 키를 만들 수도 있습니다.
키 자격 증명 모음에 대한 액세스를 인증하는 데 사용할 ID 유형을 선택합니다. 옵션에는 시스템 할당(기본값) 또는 사용자 할당이 포함됩니다. 관리 ID의 각 유형에 대해 자세히 알아보려면 관리 ID 유형을 참조하세요.
- 시스템 할당을 선택하면 스토리지 계정에 대한 시스템이 할당한 관리 ID가 아직 없는 경우 사용자에게 보이지 않게 만들어집니다.
- 사용자 할당을 선택하면 키 자격 증명 모음에 액세스할 수 있는 권한이 있는 기존의 사용자 할당 ID를 선택해야 합니다. 사용자가 할당한 ID를 만드는 방법을 알아보려면 사용자가 할당한 관리 ID 관리를 참조하세요.
변경 내용을 저장합니다.
키를 지정하면 Azure Portal은 키 버전 자동 업데이트가 사용하도록 설정되어 있음을 나타내고 현재 암호화에 사용 중인 키 버전을 표시합니다. 또한 포털에서는 키 자격 증명 모음에 대한 액세스 권한을 부여하는 데 사용되는 관리 ID 유형과 관리 ID에 대한 주체 ID를 표시합니다.
PowerShell에서 키 버전 자동 업데이트를 사용하여 기존 계정에 대한 고객 관리형 키를 구성하려면 Az.Storage 모듈 버전 2.0.0 이상을 설치합니다.
다음으로, Set-AzStorageAccount를 호출하여 스토리지 계정의 암호화 설정을 업데이트합니다. KeyvaultEncryption
매개 변수를 포함하여 스토리지 계정에서 고객 관리형 키를 사용하도록 설정하고, KeyVersion
을 빈 문자열로 설정하여 키 버전을 자동으로 업데이트할 수 있도록 합니다. 스토리지 계정이 이전에 특정 키 버전을 사용하여 고객 관리형 키용으로 구성된 경우, 키 버전을 빈 문자열로 설정하면 앞으로 키 버전을 자동으로 업데이트할 수 있습니다.
$accountName = "<storage-account>"
# Use this form of the command with a user-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-IdentityType SystemAssignedUserAssigned `
-UserAssignedIdentityId $userIdentity.Id `
-KeyvaultEncryption `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVersion "" `
-KeyVaultUserAssignedIdentityId $userIdentity.Id
# Use this form of the command with a system-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-KeyvaultEncryption `
-KeyName $key.Name `
-KeyVersion "" `
-KeyVaultUri $keyVault.VaultUri
Azure CLI에서 키 버전 자동 업데이트를 사용하여 기존 계정에 대한 고객 관리형 키를 구성하려면 Azure CLI 버전 2.4.0 이상을 설치합니다. 자세한 내용은 Azure CLI 설치를 참조하세요.
다음으로, az storage account update를 호출하여 스토리지 계정의 암호화 설정을 업데이트합니다. --encryption-key-source
매개 변수를 포함하고 Microsoft.Keyvault
로 설정하여 계정에서 고객 관리형 키를 사용하도록 설정하고, encryption-key-version
을 빈 문자열로 설정하여 키 버전을 자동 업데이트할 수 있도록 합니다. 스토리지 계정이 이전에 특정 키 버전을 사용하여 고객 관리형 키용으로 구성된 경우, 키 버전을 빈 문자열로 설정하면 앞으로 키 버전을 자동으로 업데이트할 수 있습니다.
accountName="<storage-account>"
keyVaultUri=$(az keyvault show \
--name $kvName \
--resource-group $rgName \
--query properties.vaultUri \
--output tsv)
# Use this form of the command with a user-assigned managed identity.
az storage account update \
--name $accountName \
--resource-group $rgName \
--identity-type SystemAssigned,UserAssigned \
--user-identity-id $identityResourceId \
--encryption-key-name $keyName \
--encryption-key-version "" \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri \
--key-vault-user-identity-id $identityResourceId
# Use this form of the command with a system-assigned managed identity.
az storage account update \
--name $accountName \
--resource-group $rgName \
--encryption-key-name $keyName \
--encryption-key-version "" \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri
키 버전을 수동으로 업데이트하려면 암호화에서 고객 관리형 키를 구성할 때 버전을 명시적으로 지정합니다. 이 경우 Azure Storage는 자격 증명 모음에서 새 버전을 만들 때 키 버전을 자동으로 업데이트하지 않습니다. 새 키 버전을 사용하려면 Azure Storage 암호화에 사용되는 버전을 수동으로 업데이트해야 합니다.
Azure Portal에서 키 버전 수동 업데이트를 사용하도록 고객 관리형 키를 구성하려면 버전을 포함하여 키 URI를 지정합니다. 키를 URI로 지정하려면 다음 단계를 수행합니다.
Azure Portal에서 키 URI을 찾으려면 키 자격 증명 모음으로 이동하여 키 설정을 선택합니다. 원하는 키를 선택한 다음, 키를 선택하여 해당 버전을 봅니다. 키 버전을 선택하여 해당 버전의 설정을 봅니다.
URI를 제공하는 키 식별자 필드의 값을 복사합니다.
스토리지 계정에 대한 암호화 키 설정에서 키 URI 입력 옵션을 선택합니다.
복사한 URI를 키 URI 필드에 붙여넣습니다. 키 버전 자동 업데이트를 사용하도록 설정하려면 URI에서 키 버전을 생략합니다.
키 자격 증명 모음이 포함된 구독을 지정합니다.
시스템이 할당한 관리 ID 또는 사용자가 할당한 관리 ID를 지정합니다.
변경 내용을 저장합니다.
키 버전 수동 업데이트를 사용하도록 고객 관리형 키를 구성하려면 스토리지 계정의 암호화를 구성할 때 키 버전을 명시적으로 제공합니다. 다음 예제와 같이 Set-AzStorageAccount를 호출하여 스토리지 계정의 암호화 설정을 업데이트하고 -KeyvaultEncryption 옵션을 포함하여 스토리지 계정에 고객 관리형 키를 사용하도록 설정합니다.
대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.
$accountName = "<storage-account>"
# Use this form of the command with a user-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-IdentityType SystemAssignedUserAssigned `
-UserAssignedIdentityId $userIdentity.Id `
-KeyvaultEncryption `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVersion $key.Version `
-KeyVaultUserAssignedIdentityId $userIdentity.Id
# Use this form of the command with a system-assigned managed identity.
Set-AzStorageAccount -ResourceGroupName $rgName `
-AccountName $accountName `
-KeyvaultEncryption `
-KeyVaultUri $keyVault.VaultUri `
-KeyName $key.Name `
-KeyVersion $key.Version
키 버전을 수동으로 업데이트하는 경우 새 버전을 사용하도록 스토리지 계정의 암호화 설정을 업데이트해야 합니다. 먼저 Get-AzKeyVaultKey를 호출하여 최신 버전의 키를 가져옵니다. 그런 다음 이전 예제와 같이 Set-AzStorageAccount를 호출하여 새 버전의 키를 사용하도록 스토리지 계정의 암호화 설정을 업데이트합니다.
키 버전 수동 업데이트를 사용하도록 고객 관리형 키를 구성하려면 스토리지 계정의 암호화를 구성할 때 키 버전을 명시적으로 제공합니다. 다음 예제와 같이 az storage account update를 호출하여 스토리지 계정의 암호화 설정을 업데이트합니다. --encryption-key-source
매개 변수를 포함하고 이를 Microsoft.Keyvault
로 설정하여 계정에서 고객 관리형 키를 사용하도록 설정합니다.
대괄호의 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
accountName="<storage-account>"
keyVaultUri=$(az keyvault show \
--name $kvName \
--resource-group $rgName \
--query properties.vaultUri \
--output tsv)
keyVersion=$(az keyvault key list-versions \
--name $keyName \
--vault-name $kvName \
--query [-1].kid \
--output tsv | cut -d '/' -f 6)
# Use this form of the command with a user-assigned managed identity
az storage account update \
--name $accountName \
--resource-group $rgName \
--identity-type SystemAssigned,UserAssigned \
--user-identity-id $identityResourceId \
--encryption-key-name $keyName \
--encryption-key-version $keyVersion \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri \
--key-vault-user-identity-id $identityResourceId
# Use this form of the command with a system-assigned managed identity
az storage account update \
--name $accountName \
--resource-group $rgName \
--encryption-key-name $keyName \
--encryption-key-version $keyVersion \
--encryption-key-source Microsoft.Keyvault \
--encryption-key-vault $keyVaultUri
키 버전을 수동으로 업데이트하는 경우 새 버전을 사용하도록 스토리지 계정의 암호화 설정을 업데이트해야 합니다. 먼저 az keyvault show를 호출하여 키 자격 증명 모음 URI를 쿼리하고 az keyvault key list-versions를 호출하여 키 버전을 쿼리합니다. 그런 다음 이전 예제와 같이 az storage account update를 호출하여 새 버전의 키를 사용하도록 스토리지 계정의 암호화 설정을 업데이트합니다.
키 변경
Azure Storage 암호화에 사용하는 키는 언제든지 변경할 수 있습니다.
참고 항목
키 또는 키 버전을 변경하면 루트 암호화 키의 보호 상태가 변경되지만, Azure Storage 계정의 데이터는 항상 암호화된 상태로 유지됩니다. 데이터를 보호하기 위해 취해야 할 추가 조치는 없습니다. 키를 변경하거나 키 버전을 회전해도 성능에 영향을 주지는 않습니다. 키 변경 또는 키 버전 회전과 관련된 가동 중지 시간은 없습니다.
Azure Portal을 사용하여 키를 변경하려면 다음 단계를 수행합니다.
- 스토리지 계정으로 이동하여 암호화 설정을 표시합니다.
- 키 자격 증명 모음을 선택하고 새 키를 선택합니다.
- 변경 내용을 저장합니다.
PowerShell을 사용하여 키를 변경하려면 Set-AzStorageAccount를 호출하고 새 키 이름과 버전을 입력합니다. 새 키가 다른 키 자격 증명 모음에 있으면 키 자격 증명 모음 URI도 업데이트해야 합니다.
Azure CLI를 사용하여 키를 변경하려면 az storage account update를 호출하고 새 키 이름과 버전을 입력합니다. 새 키가 다른 키 자격 증명 모음에 있으면 키 자격 증명 모음 URI도 업데이트해야 합니다.
새 키가 다른 키 자격 증명 모음에 있는 경우 관리 ID에 새 자격 증명 모음의 키에 대한 액세스 권한을 부여해야 합니다. 키 버전을 수동 업데이트하도록 선택하는 경우 키 자격 증명 모음 URI도 업데이트해야 합니다.
고객 관리형 키를 사용하는 스토리지 계정에 대한 액세스 권한 철회
고객 관리형 키를 사용하는 스토리지 계정에 대한 액세스 권한을 일시적으로 철회하려면 키 자격 증명 모음에서 현재 사용되는 키를 사용하지 않도록 설정합니다. 키를 사용하지 않도록 설정했다가 다시 사용하도록 설정하는 일과 관련하여 나타나는 성능상의 영향이나 가동 중지 시간은 없습니다.
키를 사용하지 않도록 설정하면 클라이언트가 Blob 또는 해당 메타데이터에서 읽거나 쓰는 작업을 호출할 수 없습니다. 실패할 작업에 대한 자세한 내용은 고객 관리형 키를 사용하는 스토리지 계정에 대한 액세스 권한 철회를 참조하세요.
주의
Key Vault에서 키를 사용하지 않도록 설정하면 Azure Storage 계정의 데이터가 암호화된 상태로 유지되지만, 키를 다시 사용하도록 설정할 때까지 액세스할 수 없게 됩니다.
Azure Portal에서 고객 관리형 키를 사용하지 않도록 설정하려면 다음 단계를 따릅니다.
키가 포함된 키 자격 증명 모음으로 이동합니다.
개체에서 키를 선택합니다.
키를 마우스 오른쪽 단추로 클릭하고 사용 안 함을 선택합니다.
PowerShell을 사용하여 고객 관리형 키를 철회하려면 다음 예제와 같이 Update-AzKeyVaultKey 명령을 호출합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꿔 변수를 정의하거나, 이전 예제에서 정의한 변수를 사용해야 합니다.
$kvName = "<key-vault-name>"
$keyName = "<key-name>"
$enabled = $false
# $false to disable the key / $true to enable it
# Check the current state of the key (before and after enabling/disabling it)
Get-AzKeyVaultKey -Name $keyName -VaultName $kvName
# Disable (or enable) the key
Update-AzKeyVaultKey -VaultName $kvName -Name $keyName -Enable $enabled
Azure CLI를 사용하여 고객 관리형 키를 철회하려면 다음 예제와 같이 az keyvault key set-attributes 명령을 호출합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꿔 변수를 정의하거나, 이전 예제에서 정의한 변수를 사용해야 합니다.
kvName="<key-vault-name>"
keyName="<key-name>"
enabled="false"
# "false" to disable the key / "true" to enable it:
# Check the current state of the key (before and after enabling/disabling it)
az keyvault key show \
--vault-name $kvName \
--name $keyName
# Disable (or enable) the key
az keyvault key set-attributes \
--vault-name $kvName \
--name $keyName \
--enabled $enabled
Microsoft 관리형 키로 다시 전환
Azure Portal, PowerShell 또는 Azure CLI를 사용하여 언제든지 고객 관리형 키에서 Microsoft 관리형 키로 다시 전환할 수 있습니다.
Azure Portal을 통해 고객 관리형 키에서 Microsoft 관리형 키로 다시 전환하려면 다음 단계를 따릅니다.
본인의 저장소 계정으로 이동합니다.
보안 + 네트워킹에서 암호화를 선택합니다.
암호화 유형을 Microsoft 관리형 키로 변경합니다.
PowerShell을 사용하여 고객 관리형 키에서 Microsoft 관리형 키로 다시 전환하려면 다음 예제와 같이 -StorageEncryption
옵션을 사용하여 Set-AzStorageAccount 명령을 호출합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.
Set-AzStorageAccount -ResourceGroupName $storageAccount.ResourceGroupName `
-AccountName $storageAccount.StorageAccountName `
-StorageEncryption
Azure CLI를 사용하여 고객 관리형 키에서 Microsoft 고객 관리형 키로 다시 전환하려면 다음 예제와 같이 az storage account update를 호출하고 --encryption-key-source parameter
를 Microsoft.Storage
로 설정합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.
az storage account update \
--name <storage-account> \
--resource-group <resource_group> \
--encryption-key-source Microsoft.Storage
다음 단계