Azure Storage는 미사용 스토리지 계정의 모든 데이터를 암호화합니다. 기본적으로 데이터는 Microsoft 관리형 키로 암호화됩니다. 암호화 키에 대한 추가 제어를 위해 사용자 고유의 키를 관리할 수 있습니다. 고객 관리형 키는 Azure Key Vault 또는 Azure Key Vault 관리형 HSM(하드웨어 보안 모델)에 저장해야 합니다.
이 문서에서는 새 스토리지 계정을 만들 때 고객 관리형 키를 사용하는 암호화를 구성하는 방법을 보여 줍니다. 테넌트 간 시나리오에서 스토리지 계정은 ISV에서 관리하는 테넌트에 상주하는 반면, 해당 스토리지 계정의 암호화에 사용되는 키는 고객이 관리하는 테넌트의 키 자격 증명 모음에 상주합니다.
Azure Key Vault 및 Azure Key Vault 관리되는 HSM은 고객 관리형 키 구성 시 동일한 API 및 관리 인터페이스를 지원합니다. Azure Key Vault에 지원되는 모든 작업은 Azure Key Vault 관리되는 HSM에도 지원됩니다.
테넌트 간 고객 관리형 키 정보
Azure에서 SaaS(Software as a Service) 제품을 빌드하는 많은 서비스 공급자는 고객에게 자체 암호화 키를 관리하는 옵션을 제공하고자 합니다. 고객 관리형 키를 사용하면 서비스 공급자는 서비스 공급자의 고객이 관리하고 서비스 공급자가 액세스할 수 없는 암호화 키를 사용하여 고객의 데이터를 암호화할 수 있습니다. Azure에서 서비스 공급자의 고객은 Azure Key Vault를 사용하여 자체 Microsoft Entra 테넌트 및 구독에서 암호화 키를 관리할 수 있습니다.
서비스 공급자의 소유이며 서비스 공급자의 테넌트에 상주하는 Azure 플랫폼 서비스 및 리소스는 암호화/암호 해독 작업을 수행하려면 고객의 테넌트에서 키에 액세스해야 합니다.
아래 이미지에서는 서비스 공급자와 해당 고객을 포괄하는 테넌트 간 CMK 워크플로에서 페더레이션 ID를 사용하는 미사용 데이터 암호화를 보여 줍니다.
위의 예에는 두 개의 Microsoft Entra 테넌트, 즉 독립 서비스 공급자의 테넌트(테넌트 1)와 고객의 테넌트(테넌트 2)가 있습니다. Tenant 1은 Azure 플랫폼 서비스를 호스트하고 Tenant 2는 고객의 키 자격 증명 모음을 호스트합니다.
다중 테넌트 애플리케이션 등록은 테넌트 1의 서비스 공급자에 의해 만들어집니다. 페더레이션 ID 자격 증명은 이 애플리케이션에서 사용자가 할당한 관리 ID를 사용하여 만들어집니다. 그런 다음, 앱의 이름과 애플리케이션 ID가 고객과 공유됩니다.
적절한 권한이 있는 사용자가 서비스 공급자의 애플리케이션을 고객 테넌트, Tenant 2에 설치합니다. 그러면 사용자는 설치된 애플리케이션과 연결된 서비스 주체에게 고객의 키 자격 증명 모음에 대한 액세스 권한을 부여합니다. 또한 고객이 암호화 키 또는 고객 관리형 키를 키 자격 증명 모음에 저장합니다. 고객이 키 위치(키의 URL)를 서비스 공급자와 공유합니다.
이제 서비스 공급자는 다음 정보를 갖고 있습니다.
고객 관리형 키에 대한 액세스 권한이 부여된 고객의 테넌트에 설치된 다중 테넌트 애플리케이션의 애플리케이션 ID입니다.
다중 테넌트 애플리케이션에서 자격 증명으로 구성된 관리 ID입니다.
고객의 키 자격 증명 모음에 있는 키의 위치
이러한 세 가지 매개 변수를 사용하여 서비스 공급자는 Tenant 2에서 고객 관리형 키로 암호화할 수 있는 Azure 리소스를 Tenant 1에 프로비전합니다.
위의 엔드투엔드 솔루션을 세 단계로 나눌 수 있습니다.
서비스 공급자가 ID를 구성합니다.
고객은 서비스 공급자의 다중 테넌트 앱에 Azure Key Vault의 암호화 키에 대한 액세스 권한을 부여합니다.
서비스 공급자는 CMK를 사용하여 Azure 리소스의 데이터를 암호화합니다.
1단계의 작업은 대부분의 서비스 공급자 애플리케이션에서 한 번만 수행하는 일회성 설정입니다. 2단계와 3단계의 작업은 고객마다 반복됩니다.
고객이 애플리케이션을 설치하고 권한을 부여할 수 있도록 애플리케이션 이름과 애플리케이션 ID를 고객과 공유합니다.
없음
없음
서비스 공급자에 대한 고려 사항
Microsoft Entra 애플리케이션을 만드는 데는 ARM(Azure Resource Manager) 템플릿이 권장되지 않습니다.
동일한 다중 테넌트 애플리케이션을 사용하여 테넌트 2, 테넌트 3, 테넌트 4 등과 같은 여러 테넌트의 키에 액세스할 수 있습니다. 각 테넌트에서 애플리케이션 ID는 동일하지만 개체 ID가 다른 애플리케이션의 독립 인스턴스가 만들어집니다. 따라서 이 애플리케이션의 각 인스턴스에는 독립적으로 권한이 부여됩니다. 이 기능에 사용되는 애플리케이션 개체를 사용하여 모든 고객의 애플리케이션을 분할하는 방법을 고려해 보세요.
애플리케이션에는 최대 20개의 페더레이션 ID 자격 증명이 있을 수 있으며, 이를 위해서는 서비스 공급자가 고객 간에 페더레이션 ID를 공유해야 합니다. 페더레이션 ID 디자인 고려 사항 및 제한 사항에 대한 자세한 내용은 외부 ID 공급자를 신뢰하도록 앱 구성을 참조하세요.
드문 경우지만 서비스 공급자는 고객별로 단일 애플리케이션 개체를 사용할 수 있지만 모든 고객에 걸쳐 대규모 애플리케이션을 관리하려면 상당한 유지 관리 비용이 필요합니다.
애플리케이션에 Key Vault 암호화 서비스 암호화 사용자 역할을 할당하려면 사용자 액세스 관리자 역할이 할당되어 있어야 합니다.
없음
4.
키 자격 증명 모음 URL 및 키 이름을 SaaS 제품의 고객 관리형 키 구성에 복사합니다.
없음
없음
참고 항목
CMK를 사용하여 암호화를 위해 관리형 HSM에 대한 액세스 권한을 부여하려면 여기에 있는 스토리지 계정 예제를 참조하세요. 관리형 HSM을 사용하여 키를 관리하는 방법에 대한 자세한 내용은 Azure CLI를 사용하여 관리형 HSM 관리를 참조하세요.
서비스 공급자의 고객에 대한 고려 사항
고객 테넌트, Tenant 2에서 관리자는 관리자가 아닌 사용자가 애플리케이션을 설치하지 못하도록 차단하는 정책을 설정할 수 있습니다. 이러한 정책은 관리자가 아닌 사용자가 서비스 주체를 만들지 못하도록 방지할 수 있습니다. 이러한 정책이 구성된 경우 서비스 주체를 만들 수 있는 권한이 있는 사용자가 개입해야 합니다.
Azure RBAC 또는 액세스 정책을 사용하여 Azure Key Vault에 대한 액세스 권한을 부여할 수 있습니다. 키 자격 증명 모음에 대한 액세스 권한을 부여할 때, 키 자격 증명 모음에 활성 메커니즘을 사용해야 합니다.
Microsoft Entra 애플리케이션 등록에는 애플리케이션 ID(클라이언트 ID)가 있습니다. 애플리케이션이 테넌트에 설치되면 서비스 주체가 만들어집니다. 서비스 주체는 앱 등록과 동일한 애플리케이션 ID를 공유하지만, 자체 개체 ID를 생성합니다. 애플리케이션에 리소스에 대한 액세스 권한을 부여할 때, 서비스 주체 Name 또는 ObjectID 속성을 사용해야 할 수 있습니다.
3단계 - 서비스 공급자가 고객 관리형 키를 사용하여 Azure 리소스의 데이터를 암호화합니다.
1단계와 2단계가 완료되면 서비스 공급자가 고객 테넌트의 키 및 키 자격 증명 모음과 ISV 테넌트의 Azure 리소스를 사용하여 Azure 리소스에 대한 암호화를 구성할 수 있습니다. 서비스 공급자는 해당 Azure 리소스에서 지원하는 클라이언트 도구, ARM 템플릿 또는 REST API를 사용하여 테넌트 간 고객 관리형 키를 구성할 수 있습니다.
테넌트 간 고객 관리형 키 구성
이 섹션에서는 테넌트 간 CMK(고객 관리형 키)를 구성하고 고객 데이터를 암호화하는 방법을 설명합니다. Tenant2의 키 자격 증명 모음에 저장된 CMK를 사용하여 Tenant1의 리소스에서 고객 데이터를 암호화하는 방법을 알아봅니다. Azure Portal, PowerShell 또는 Azure CLI를 사용할 수 있습니다.
$isvTenantId="<isv-tenant-id>"
$isvSubscriptionId="<isv-subscription-id>"
# Sign in to Azure in the ISV's tenant.
Connect-AzAccount -Tenant $isvTenantId
# Set the context to the ISV's subscription.
Set-AzContext -Subscription $isvSubscriptionId
서비스 공급자가 다중 테넌트 애플리케이션 등록을 새로 생성
Tenant1에서 다중 테넌트 등록 애플리케이션의 이름을 선택하고 Azure Portal에서 다중 테넌트 애플리케이션을 만듭니다.
다중 테넌트 애플리케이션에 제공하는 이름은 고객이 Tenant2에서 애플리케이션을 식별하는 데 사용됩니다. 앱의 개체 ID 및 애플리케이션 ID를 기록해 둡니다. 이후 단계에서 이러한 값이 필요합니다.
$multiTenantAppName="<multi-tenant-app>"
$multiTenantApp = New-AzADApplication -DisplayName $multiTenantAppName `
-SignInAudience AzureADMultipleOrgs
# Object ID for the new multi-tenant app
$objectId = $multiTenantApp.Id
# Application (client) ID for the multi-tenant app
$multiTenantAppObjectId = $multiTenantApp.AppId
서비스 공급자는 사용자가 할당한 관리 ID 생성
ISV의 테넌트에 로그인한 다음, 페더레이션 ID 자격 증명으로 사용할 사용자가 할당한 관리 ID도 만듭니다. 새 사용자가 할당한 관리 ID를 만들려면 Microsoft.ManagedIdentity/userAssignedIdentities/write 작업을 포함하는 역할을 할당받아야 합니다.
$isvRgName="<isv-resource-group>"
$isvLocation="<location>"
$userIdentityName="<user-assigned-managed-identity>"
# Create a new resource group in the ISV's subscription.
New-AzResourceGroup -Location $isvLocation -ResourceGroupName $isvRgName
# Create the new user-assigned managed identity.
$userIdentity = New-AzUserAssignedIdentity -Name $userIdentityName `
-ResourceGroupName $isvRgName `
-Location $isvLocation `
-SubscriptionId $isvSubscriptionId
서비스 공급자는 사용자가 할당한 관리 ID를 애플리케이션의 페더레이션 자격 증명으로 구성
애플리케이션의 ID를 가장할 수 있도록 애플리케이션에서 사용자가 할당한 관리 ID를 페더레이션 ID 자격 증명으로 구성합니다.
PowerShell에서 페더레이션 ID 자격 증명을 구성하려면 먼저 Az.Resources 모듈 버전 6.3.0 이상을 설치합니다.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
Tenant1에서 다중 테넌트 애플리케이션의 이름을 선택하고 Azure Portal에서 다중 테넌트 애플리케이션을 만듭니다.
다중 테넌트 애플리케이션에 제공하는 이름은 고객이 Tenant2에서 애플리케이션을 식별하는 데 사용됩니다. 앱의 애플리케이션 ID(또는 클라이언트 ID), 앱의 개체 ID 및 앱의 테넌트 ID를 복사해 둡니다. 다음 단계에서 필요합니다.
multiTenantAppName="<multi-tenant-app>"
multiTenantAppObjectId=$(az ad app create --display-name $multiTenantAppName \
--sign-in-audience AzureADMultipleOrgs \
--query id \
--output tsv)
multiTenantAppId=$(az ad app show --id $multiTenantAppObjectId --query appId --output tsv)
서비스 공급자는 사용자가 할당한 관리 ID 생성
ISV의 테넌트에 로그인한 다음, 페더레이션 ID 자격 증명으로 사용할 사용자가 할당한 관리 ID도 만듭니다. 새 사용자가 할당한 관리 ID를 만들려면 Microsoft.ManagedIdentity/userAssignedIdentities/write 작업을 포함하는 역할을 할당받아야 합니다.
페더레이션 ID 자격 증명의 audience 값으로 api://AzureADTokenExchange를 사용합니다. 자세한 내용은 API 참조에서 확인할 수 있습니다.
# Create a file named "credential.json" with the following content.
# Replace placeholders in angle brackets with your own values.
{
"name": "MyFederatedIdentityCredential",
"issuer": "https://login.microsoftonline.com/<tenantID>/v2.0",
"subject": "<user-assigned-identity-principal-id>",
"description": "Federated Identity Credential for CMK",
"audiences": [
"api://AzureADTokenExchange"
]
}
az ad app federated-credential create --id $multiTenantAppObjectId --parameters credential.json
서비스 공급자가 고객과 애플리케이션 ID 공유
다중 테넌트 애플리케이션의 애플리케이션 ID(클라이언트 ID)를 찾아서 고객과 공유합니다.
고객이 서비스 공급자의 앱에 키 자격 증명 모음의 키에 대한 액세스 권한 부여
다음 단계는 고객이 고객 테넌트 Tenant2에서 수행합니다. 고객은 Azure Portal, Azure PowerShell 또는 Azure CLI를 사용할 수 있습니다.
$customerTenantId="<customer-tenant-id>"
$customerSubscriptionId="<customer-subscription-id>"
# Sign in to Azure in the customer's tenant.
Connect-AzAccount -Tenant $customerTenantId
# Set the context to the customer's subscription.
Set-AzContext -Subscription $customerSubscriptionId
고객이 고객 테넌트에 서비스 공급자 애플리케이션 설치
서비스 공급자의 다중 테넌트 애플리케이션 ID를 받으면 서비스 사용자를 만들어 테넌트 Tenant2에 애플리케이션을 설치합니다.
키 자격 증명 모음을 만들려는 테넌트에서 다음 명령을 실행합니다.
$customerRgName="<customer-resource-group>"
$customerLocation="<location>"
$multiTenantAppId="<multi-tenant-app-id>" # appId value from Tenant1
# Create a resource group in the customer's subscription.
New-AzResourceGroup -Location $customerLocation -ResourceGroupName $customerRgName
# Create the service principal with the registered app's application ID (client ID).
$servicePrincipal = New-AzADServicePrincipal -ApplicationId $multiTenantAppId
고객이 키 자격 증명 모음 생성
키 자격 증명 모음을 만들려면 고객의 계정에 Key Vault 기여자 역할 또는 키 자격 증명 모음을 만들 수 있는 다른 역할이 할당되어야 합니다.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
서비스 공급자의 다중 테넌트 애플리케이션 ID를 받으면 다음 명령을 사용하여 테넌트 Tenant2에 애플리케이션을 설치합니다. 애플리케이션을 설치하면 테넌트에 서비스 주체가 만들어집니다.
키 자격 증명 모음을 만들려는 테넌트에서 다음 명령을 실행합니다.
# Create the service principal with the registered app's application ID (client ID)
multiTenantAppId="<multi-tenant-app-id>"
az ad sp create --id $multiTenantAppId --query id --out tsv
고객이 키 자격 증명 모음 생성
키 자격 증명 모음을 만들려면 고객의 계정에 Key Vault 기여자 역할 또는 키 자격 증명 모음을 만들 수 있는 다른 역할이 할당되어야 합니다.
currentUserObjectId=$(az ad signed-in-user show --query id --output tsv)
kvResourceId=$(az keyvault show --resource-group $customerRgName \
--name $kvName \
--query id \
--output tsv)
az role assignment create --role "Key Vault Crypto Officer" \
--scope $kvResourceId \
--assignee-object-id $currentUserObjectId
고객이 암호화 키 생성
암호화 키를 만들려면 사용자의 계정에 Key Vault 암호화 책임자 역할 또는 키를 만들 수 있는 다른 역할이 할당되어야 합니다.
keyName="<key-name>"
az keyvault key create --name $keyName --vault-name $kvName
고객이 서비스 공급자의 애플리케이션에 키 자격 증명 모음에 대한 액세스 권한 부여
등록된 애플리케이션이 키 자격 증명 모음에 액세스할 수 있도록 이전에 만든 서비스 사용자를 통해 서비스 공급자의 등록된 애플리케이션에 Azure RBAC 역할 Key Vault 암호화 서비스 암호화 사용자를 할당합니다.
servicePrincipalId=$(az ad sp show --id $multiTenantAppId --query id --output tsv)
az role assignment create --role "Key Vault Crypto Service Encryption User" \
--scope $kvResourceId \
--assignee-object-id $servicePrincipalId
이제 키 자격 증명 모음 URI와 키를 사용하여 고객 관리형 키를 구성할 수 있습니다.
다른 테넌트의 키로 암호화된 새 스토리지 계정 만들기
지금까지 ISV의 테넌트에 다중 테넌트 애플리케이션을 구성하고, 고객의 테넌트에 애플리케이션을 설치하고, 고객의 테넌트에서 키 자격 증명 모음과 키를 구성했습니다. 다음으로 ISV의 테넌트에 새 스토리지 계정을 만들고 고객 테넌트의 키를 사용하여 고객 관리형 키를 구성할 수 있습니다.
스토리지 계정을 만드는 동안 고객 관리형 키를 구성할 경우 기존의 사용자가 할당한 관리 ID를 사용하여 키 자격 증명 모음에 대한 액세스 권한을 부여해야 합니다. 사용자가 할당한 관리 ID에는 키 자격 증명 모음에 액세스할 수 있는 적절한 권한이 있어야 합니다. 자세한 내용은 Azure Key Vault에 인증을 참조하세요.
기존 스토리지 계정에 대해 고객 관리형 키를 사용하여 암호화를 구성하는 경우 연결된 키 자격 증명 모음에서 새 버전을 사용할 수 있을 때마다 Azure Storage 암호화에 사용되는 키 버전을 자동으로 업데이트하도록 선택할 수 있습니다. 이렇게 하려면 키 URI에서 키 버전을 생략합니다. 또는, 키 버전이 수동으로 업데이트될 때까지 암호화에 사용할 키 버전을 명시적으로 지정할 수 있습니다. 키 URI에 키 버전을 포함하면 키 버전을 수동으로 업데이트하도록 고객 관리형 키가 구성됩니다.
Important
키를 회전하려면 Azure Key Vault에서 새 버전의 키를 만듭니다. Azure Storage는 키 회전을 처리하지 않으므로 키 자격 증명 모음에서 키 회전을 관리해야 합니다. Azure Key Vault에서 키 자동 회전을 구성하거나 키를 수동으로 회전할 수 있습니다.
Azure Storage는 키 자격 증명 모음에서 새 키 버전을 매일 한 번만 확인합니다. Azure Key Vault에서 키를 회전하는 경우 오래된 버전을 사용하지 않도록 설정하려면 먼저 24시간을 기다려야 합니다.
다음으로 New-AzStorageAccount를 호출하여 이전에 ISV 구독에서 구성한 사용자가 할당한 관리 ID에 대한 리소스 ID와 이전에 ISV 구독에서 구성한 다중 테넌트 애플리케이션에 대한 애플리케이션(클라이언트) ID를 제공합니다. 고객의 키 자격 증명 모음에서 키 자격 증명 모음 URI 및 키 이름을 제공합니다.
대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.
Azure CLI를 통해 새 스토리지 계정에 대한 테넌트 간 고객 관리형 키를 구성하려면 먼저 Azure CLI 버전 2.42.0 이상을 설치합니다. Azure CLI를 설치하는 방법에 대한 자세한 내용은 Azure CLI를 설치하는 방법을 참조하세요.
다음으로 az storage account create를 호출하여 이전에 ISV 구독에서 구성한 사용자가 할당한 관리 ID에 대한 리소스 ID와 이전에 ISV 구독에서 구성한 다중 테넌트 애플리케이션에 대한 애플리케이션(클라이언트) ID를 제공합니다. 고객의 키 자격 증명 모음에서 키 자격 증명 모음 URI 및 키 이름을 제공합니다.
대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.
accountName="<storage-account>"
kvUri="<key-vault-uri>"
keyName="<key-name>"
multiTenantAppId="<multi-tenant-app-id>" # appId value from multi-tenant app
# Get the resource ID for the user-assigned managed identity.
identityResourceId=$(az identity show --name $managedIdentity \
--resource-group $isvRgName \
--query id \
--output tsv)
az storage account create \
--name $accountName \
--resource-group $isvRgName \
--location $isvLocation \
--sku Standard_LRS \
--kind StorageV2 \
--allow-blob-public-access false \
--identity-type SystemAssigned,UserAssigned \
--user-identity-id $identityResourceId \
--encryption-key-vault $kvUri \
--encryption-key-name $keyName \
--encryption-key-source Microsoft.Keyvault \
--key-vault-user-identity-id $identityResourceId \
--key-vault-federated-client-id $multiTenantAppId
새 스토리지 계정을 만들 때 키 버전의 수동 업데이트를 사용하여 고객 관리형 키를 구성할 수도 있습니다. 이렇게 하려면 키 URI를 지정할 때 키 버전을 포함하세요.
키 변경
Azure Storage 암호화에 사용하는 키는 언제든지 변경할 수 있습니다.
참고 항목
키 또는 키 버전을 변경하면 루트 암호화 키의 보호 상태가 변경되지만, Azure Storage 계정의 데이터는 항상 암호화된 상태로 유지됩니다. 데이터를 보호하기 위해 취해야 할 추가 조치는 없습니다. 키를 변경하거나 키 버전을 회전해도 성능에 영향을 주지는 않습니다. 키 변경 또는 키 버전 회전과 관련된 가동 중지 시간은 없습니다.
PowerShell을 사용하여 키를 변경하려면 Set-AzStorageAccount를 호출하고 새 키 이름과 버전을 입력합니다. 새 키가 다른 키 자격 증명 모음에 있으면 키 자격 증명 모음 URI도 업데이트해야 합니다.
Azure CLI를 사용하여 키를 변경하려면 az storage account update를 호출하고 새 키 이름과 버전을 입력합니다. 새 키가 다른 키 자격 증명 모음에 있으면 키 자격 증명 모음 URI도 업데이트해야 합니다.
고객 관리형 키를 사용하는 스토리지 계정에 대한 액세스 권한 철회
고객 관리형 키를 사용하는 스토리지 계정에 대한 액세스 권한을 일시적으로 철회하려면 키 자격 증명 모음에서 현재 사용되는 키를 사용하지 않도록 설정합니다. 키를 사용하지 않도록 설정했다가 다시 사용하도록 설정하는 일과 관련하여 나타나는 성능상의 영향이나 가동 중지 시간은 없습니다.
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 명령을 호출합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.
Azure CLI를 사용하여 고객 관리형 키에서 Microsoft 고객 관리형 키로 다시 전환하려면 다음 예제와 같이 az storage account update를 호출하고 --encryption-key-source parameter를 Microsoft.Storage로 설정합니다. 대괄호 안의 자리 표시자 값을 사용자 고유의 값으로 바꾸고 위의 예제에 정의된 변수를 사용해야 합니다.