비고
Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.
개요
중요합니다
Key Vault를 다른 구독으로 이동하면 환경에 대한 주요 변경 내용이 발생합니다. 키 자격 증명 모음을 새 구독으로 이동하도록 결정하기 전에 이러한 변경의 영향을 이해하고 이 문서의 지침을 따라야 합니다. MSI(관리 서비스 ID)를 사용하는 경우 문서 끝에 있는 이동 후 지침을 읽습니다.
Azure Key Vault 는 생성되는 구독에 대한 기본 Microsoft Entra ID 테넌트 ID에 자동으로 연결됩니다. 이 가이드에 따라 구독과 연결된 테넌트 ID를 찾을 수 있습니다. 모든 액세스 정책 항목 및 역할 할당도 이 테넌트 ID에 연결됩니다. Azure 구독을 테넌트 A에서 테넌트 B로 이동하는 경우 테넌트 B의 서비스 주체(사용자 및 애플리케이션)에서 기존 키 자격 증명 모음에 액세스할 수 없습니다. 이 문제를 해결하려면 다음을 수행해야 합니다.
비고
Azure Lighthouse를 통해 Key Vault를 만드는 경우 대신 테넌트 ID 관리에 연결됩니다. Azure Lighthouse는 금고 액세스 정책 권한 모델만 지원합니다. Azure Lighthouse의 테넌트에 대한 자세한 내용은 Azure Lighthouse의 테넌트, 사용자 및 역할을 참조하세요.
- 이 구독에 있는 모든 기존 Key Vaults와 연결된 테넌트 ID를 테넌트 B로 변경합니다.
- 모든 기존 액세스 정책 항목을 제거합니다.
- 테넌트 B와 연결된 새 액세스 정책 항목을 추가합니다.
Azure Key Vault 및 Microsoft Entra ID에 대한 자세한 내용은 다음을 참조하세요.
제한점
중요합니다
디스크 암호화에 사용되는 Key Vault는 이동할 수 없습니다 . VM(가상 머신)에 대한 디스크 암호화와 함께 키 자격 증명 모음을 사용하는 경우 디스크 암호화를 사용하는 동안 키 자격 증명 모음을 다른 리소스 그룹 또는 구독으로 이동할 수 없습니다. 키 자격 증명 모음을 새 리소스 그룹 또는 구독으로 이동하기 전에 디스크 암호화를 사용하지 않도록 설정해야 합니다.
일부 서비스 주체(사용자 및 애플리케이션)는 특정 테넌트에 바인딩됩니다. 키 자격 증명 모음을 다른 테넌트의 구독으로 이동하면 특정 서비스 주체에 대한 액세스를 복원할 수 없게 됩니다. 키 자격 증명 모음을 이동하는 테넌트에 모든 필수 서비스 주체가 존재하는지 확인합니다.
필수 조건
- 키 자격 증명 모음이 있는 현재 구독에 대한 contributor 수준 액세스 이상. Azure Portal, Azure CLI 또는 PowerShell을 사용하여 역할을 할당할 수 있습니다.
- 키 자격 증명 모음을 이동하려는 구독에 대한 기여자 수준 액세스 이상. Azure Portal, Azure CLI 또는 PowerShell을 사용하여 역할을 할당할 수 있습니다.
- 새 구독의 리소스 그룹입니다. Azure Portal, PowerShell 또는 Azure CLI를 사용하여 만들 수 있습니다.
Azure Portal, PowerShell, Azure CLI 또는 REST API를 사용하여 기존 역할을 확인할 수 있습니다.
키 저장소를 새 구독으로 이동
- Azure Portal에 로그인합니다.
- 키 볼트로 이동
- "개요" 탭에서 선택
- "이동" 단추 선택
- 드롭다운 옵션에서 "다른 구독으로 이동"을 선택합니다.
- 키 자격 증명 저장소를 옮길 리소스 그룹을 선택합니다.
- 리소스 이동에 대한 경고 승인
- "확인"을 선택합니다.
구독이 새 테넌트에 있는 경우 추가 단계
키 자격 증명 모음이 포함된 구독을 새 테넌트로 이동한 경우 테넌트 ID를 수동으로 업데이트하고 이전 액세스 정책 및 역할 할당을 제거해야 합니다. PowerShell 및 Azure CLI의 이러한 단계에 대한 자습서는 다음과 같습니다. PowerShell을 사용하는 경우 현재 선택한 범위 외부의 리소스를 볼 수 있도록 Clear-AzContext 명령을 실행해야 할 수 있습니다.
주요 자격 증명 모음에서 테넌트 ID 업데이트
Select-AzSubscription -SubscriptionId <your-subscriptionId> # Select your Azure Subscription
$vaultResourceId = (Get-AzKeyVault -VaultName myvault).ResourceId # Get your key vault's Resource ID
$vault = Get-AzResource -ResourceId $vaultResourceId -ExpandProperties # Get the properties for your key vault
$vault.Properties.TenantId = (Get-AzContext).Tenant.TenantId # Change the Tenant that your key vault resides in
$vault.Properties.AccessPolicies = @() # Access policies can be updated with real
# applications/users/rights so that it does not need to be # done after this whole activity. Here we are not setting
# any access policies.
Set-AzResource -ResourceId $vaultResourceId -Properties $vault.Properties # Modifies the key vault's properties.
Clear-AzContext #Clear the context from PowerShell
Connect-AzAccount #Log in again to confirm you have the correct tenant id
az account set -s <your-subscriptionId> # Select your Azure Subscription
tenantId=$(az account show --query tenantId) # Get your tenantId
az keyvault update -n myvault --remove Properties.accessPolicies # Remove the access policies
az keyvault update -n myvault --set Properties.tenantId=$tenantId # Update the key vault tenantId
액세스 정책 및 역할 할당 업데이트
비고
Key Vault가 Azure RBAC 권한 모델을 사용하는 경우 키 자격증명 보관소 역할 배정도 제거해야 합니다. Azure Portal, Azure CLI 또는 PowerShell을 사용하여 역할 할당을 제거할 수 있습니다.
금고가 올바른 테넌트 ID와 연결되고, 이전 액세스 정책 항목 또는 역할 할당이 제거되었으므로 새 액세스 정책 항목 또는 역할 할당을 설정합니다.
정책을 할당하려면 다음을 참조하세요.
역할 할당을 추가하려면 다음을 참조하세요.
관리 ID 업데이트
전체 구독을 전송하고 Azure 리소스에 대한 관리 ID를 사용하는 경우 새 Microsoft Entra 테넌트로도 업데이트해야 합니다. 관리 ID에 대한 자세한 내용은 관리 ID 개요를 참조하세요.
관리 ID를 사용하는 경우 이전 ID가 더 이상 올바른 Microsoft Entra 테넌트에 있지 않으므로 ID를 업데이트해야 합니다. 이 문제를 해결하려면 다음 문서를 참조하세요.
다음 단계
- 키, 비밀 및 인증서에 대해 자세히 알아보기
- Key Vault 로그를 해석하는 방법을 비롯한 개념 정보는 Key Vault 로깅을 참조하세요.
- Key Vault 개발자 가이드
- Azure Key Vault 보안 기능
- Azure Key Vault 방화벽 및 가상 네트워크 구성