Share via


Windows VM용 Microsoft Entra ID를 사용한 Azure Disk Encryption(이전 릴리스)

적용 대상: ✔️ Windows VM

Azure Disk Encryption의 새 릴리스에서는 VM 디스크 암호화를 사용하도록 설정하는 Microsoft Entra 애플리케이션 매개 변수를 제공하기 위한 요구 사항을 제거합니다. 새 릴리스를 사용하면 암호화 단계를 사용하는 동안 더 이상 Microsoft Entra 자격 증명을 제공할 필요가 없습니다. 모든 새 VM은 새 릴리스를 사용하여 Microsoft Entra 애플리케이션 매개 변수 없이 암호화되어야 합니다. 새 릴리스를 사용한 VM 디스크 암호화 사용에 관한 지침을 보려면 Windows VM용 Azure Disk Encryption을 참조하세요. Microsoft Entra 애플리케이션 매개 변수를 사용하여 이미 암호화된 VM도 여전히 지원되며 Microsoft Entra 구문을 사용하여 계속 유지 관리되어야 합니다.

수많은 디스크 암호화 시나리오를 사용할 수 있으며 단계는 시나리오에 따라 다를 수 있습니다. 다음 섹션에서는 Windows IaaS VM에 대한 시나리오를 자세히 설명합니다. 디스크 암호화를 사용하려면 Azure Disk Encryption 필수 구성 요소를 먼저 완료해야 합니다.

Important

  • 디스크를 암호화하기 전에 스냅샷 생성 및/또는 백업을 수행해야 합니다. 백업은 암호화 도중에 예기치 않은 오류가 발생할 경우 복구 옵션을 사용할 수 있습니다. 암호화가 수행되기 전에 관리 디스크가 있는 VM은 백업해야 합니다. 백업이 완료되면 Set-AzVMDiskEncryptionExtension cmdlet을 사용하여 -skipVmBackup 매개 변수를 지정함으로써 관리 디스크를 암호화할 수 있습니다. 암호화된 VM을 백업하고 복원하는 방법에 관한 더 상세한 정보는 암호화된 Azure VM 백업 및 복원을 참고하세요.

  • 암호화하거나 암호화 비활성화를 설정하면 VM이 다시 부팅될 수 있습니다.

Marketplace에서 만든 새 IaaS VM에 대해 암호화를 사용하도록 설정합니다.

Resource Manager 템플릿을 사용하여 Azure에서 Marketplace의 새 IaaS Windows VM에 디스크 암호화를 사용하도록 설정할 수 있습니다. 템플릿은 Windows Server 2012 갤러리 이미지를 사용하여 암호화된 새 Windows VM을 만듭니다.

  1. Resource Manager 템플릿에서 Azure에 배포를 클릭합니다.

  2. 구독, 리소스 그룹, 리소스 그룹 위치, 매개 변수, 약관 및 규약을 선택합니다. 구매를 클릭하여 암호화가 활성화된 새로운 IaaS VM을 배포합니다.

  3. 템플릿이 배포되면 다음과 같은 기본 설정 방법을 사용하여 VM 암호화 상태를 확인합니다.

    • Azure CLI에서 az vm encryption show 명령을 사용하여 확인합니다.

      az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
      
    • Azure PowerShell에서 Get-AzVmDiskEncryptionStatus cmdlet을 사용하여 확인합니다.

      Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
      
    • 포털에서 VM을 선택한 다음, 설정 제목 아래에서 디스크를 클릭하여 암호화 상태를 확인합니다. 암호화에 있는 차트에서 사용하도록 설정되어 있는 것을 볼 수 있습니다. Azure portal - Disk Encryption Enabled

다음 표에서는 Microsoft Entra 클라이언트 ID를 사용하는 Marketplace 시나리오의 새 VM에 대한 Resource Manager 템플릿 매개 변수를 나열합니다.

매개 변수 설명
adminUserName 가상 머신의 관리 사용자 이름
adminPassword 가상 머신의 관리 사용자 암호
newStorageAccountName OS 및 데이터 VHD를 저장할 스토리지 계정의 이름
vmSize VM의 크기. 현재 표준 A, D 및 G 시리즈만 지원됩니다.
virtualNetworkName VM NIC가 속해야 하는 VNet의 이름
subnetName VM NIC가 속해야 하는 VNet의 서브넷 이름
AADClientID 키 자격 증명 모음에 비밀을 쓸 수 있는 권한이 있는 Microsoft Entra 애플리케이션의 클라이언트 ID입니다.
AADClientSecret 키 자격 증명 모음에 비밀을 쓸 수 있는 권한이 있는 Microsoft Entra 애플리케이션의 클라이언트 암호입니다.
keyVaultURL BitLocker 키가 업로드될 Key Vault의 URL. cmdlet (Get-AzKeyVault -VaultName "MyKeyVault" -ResourceGroupName "MyKeyVaultResourceGroupName").VaultURI 또는 Azure CLI az keyvault show --name "MySecureVault" --query properties.vaultUri를 사용하여 가져올 수 있습니다.
keyEncryptionKeyURL 생성된 BitLocker 키를 암호화하는 데 사용되는 주요 암호화 키의 URL(선택 사항)

KeyEncryptionKeyURL은 선택적 매개 변수입니다. Key Vault에서 데이터 암호화 키(암호 비밀)에 대한 보안을 강화하기 위해 고유한 KEK를 만들 수 있습니다.
keyVaultResourceGroup Key Vault의 리소스 그룹
vmName 암호화 작업을 수행할 VM의 이름.

기존 또는 실행 중인 IaaS Windows VM에서 암호화 사용

이 시나리오에서는 템플릿, PowerShell cmdlet 또는 CLI 명령을 사용하여 암호화를 사용하도록 설정할 수 있습니다. 다음 섹션에서는 Azure Disk Encryption을 사용하도록 설정하는 방법에 대해 자세히 설명합니다.

Azure PowerShell을 사용하여 기존 또는 실행 중인 VM에서 암호화 사용

Set-AzVMDiskEncryptionExtension cmdlet을 사용하여 Azure에서 실행 중인 IaaS 가상 머신에서 암호화를 사용하도록 설정합니다. PowerShell cmdlet을 사용하여 Azure Disk Encryption으로 암호화를 사용하는 방법은 블로그 게시물 Azure PowerShell를 사용하여 Azure Disk Encryption 탐색 - 1부Azure PowerShell를 사용하여 Azure Disk Encryption 탐색 - 2부를 참조하세요.

  • 클라이언트 암호를 사용하여 실행 중인 VM 암호화: 아래 스크립트는 변수를 초기화하고 Set-AzVMDiskEncryptionExtension cmdlet을 실행합니다. 리소스 그룹, VM, 키 자격 증명 모음, Microsoft Entra 앱 및 클라이언트 암호가 이미 필수 구성 요소로 만들어졌어야 합니다. MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID, and My-AAD-client-secret을 사용자의 값으로 대체합니다.

     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadClientID = 'My-AAD-client-ID';
     $aadClientSecret = 'My-AAD-client-secret';
     $KeyVaultName = 'MySecureVault';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId;
    
  • 클라이언트 비밀을 래핑하는 KEK를 사용하여 실행 중인 VM 암호화: Azure Disk Encryption을 사용하면 키 자격 증명 모음에서 기존 키를 지정하여 암호화를 사용하도록 설정하는 동안 생성된 디스크 암호화 비밀을 래핑할 수 있습니다. 키 암호화 키가 지정되면 Azure Disk Encryption에서 해당 키를 사용하여 Key Vault에 쓰기 전에 암호화 비밀을 래핑합니다.

    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadClientID = 'My-AAD-client-ID';
    $aadClientSecret = 'My-AAD-client-secret';
    $KeyVaultName = 'MySecureVault';
    $keyEncryptionKeyName = 'MyKeyEncryptionKey';
    $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
    $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
    $KeyVaultResourceId = $KeyVault.ResourceId;
    $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
    
    Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId;
    
    

    참고 항목

    disk-encryption-keyvault 매개 변수의 값에 대한 구문은 전체 식별자 문자열입니다./subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    키 암호화-키 매개 변수의 값에 대한 구문은 https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]에서와 같은 KEK의 전체 URI입니다.

  • 디스크가 암호화되어 있는지 확인: IaaS VM의 암호화 상태를 확인하려면 Get-AzVmDiskEncryptionStatus cmdlet을 사용합니다.

    Get-AzVmDiskEncryptionStatus -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    
  • 디스크 암호화 사용 안 함: 암호화를 사용하지 않도록 설정하려면 Disable-AzureRmVMDiskEncryption cmdlet을 사용합니다.

    Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    

Azure CLI를 통해 기존 또는 실행 중인 VM에서 암호화 사용

Azure에서 az vm encryption enable 명령을 사용하여 실행 중인 IaaS 가상 머신에서 암호화를 사용하도록 설정합니다.

  • 클라이언트 비밀을 사용하여 실행 중인 VM 암호화:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type [All|OS|Data]
    
  • 클라이언트 비밀을 래핑하는 KEK를 사용하여 실행 중인 VM 암호화:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type [All|OS|Data]
    

    참고 항목

    disk-encryption-keyvault 매개 변수의 값에 대한 구문은 전체 식별자 문자열입니다./subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    키 암호화-키 매개 변수의 값에 대한 구문은 https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]에서와 같은 KEK의 전체 URI입니다.

  • 디스크가 암호화되어 있는지 확인: IaaS VM의 암호화 상태를 확인하려면 az vm encryption show 명령을 사용합니다.

    az vm encryption show --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup"
    
  • 암호화 사용 안 함: 암호화를 사용하지 않도록 설정하려면 az vm encryption disable 명령을 사용합니다.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    

Resource Manager 템플릿 사용

실행 중인 Windows VM을 암호화하기 위해 Resource Manager 템플릿을 사용하여 Azure에서 기존 또는 실행 중인 IaaS Windows VM에 디스크 암호화를 사용하도록 설정할 수 있습니다.

  1. Azure 빠른 시작 템플릿에서 Azure에 배포를 클릭합니다.

  2. 구독, 리소스 그룹, 리소스 그룹 위치, 매개 변수, 약관 및 규약을 선택합니다. 구매를 클릭하여 기존 또는 실행 중인 IaaS VM에서 암호화를 사용하도록 설정합니다.

다음 표에서는 Microsoft Entra 클라이언트 ID를 사용하는 기존 또는 실행 중인 VM에 대한 Resource Manager 템플릿 매개 변수를 나열합니다.

매개 변수 설명
AADClientID 키 자격 증명 모음에 비밀을 쓸 수 있는 권한이 있는 Microsoft Entra 애플리케이션의 클라이언트 ID.
AADClientSecret 키 자격 증명 모음에 비밀을 쓸 수 있는 권한이 있는 Microsoft Entra 애플리케이션의 클라이언트 암호입니다.
keyVaultName BitLocker 키가 업로드될 Key Vault의 이름. cmdlet (Get-AzKeyVault -ResourceGroupName <MyKeyVaultResourceGroupName>). Vaultname 또는 Azure CLI 명령 az keyvault list --resource-group "MySecureGroup"을 사용하여 가져올 수 있습니다.
keyEncryptionKeyURL 생성된 BitLocker 키를 암호화하는 데 사용되는 주요 암호화 키의 URL. UseExistingKek 드롭다운 목록에서 nokek를 선택하면 이 매개 변수가 선택 사항입니다. UseExistingKek 드롭다운 목록에서 kek를 선택하면 keyEncryptionKeyURL 값을 반드시 입력해야 합니다.
volumeType 암호화 작업을 수행할 볼륨의 유형. 유효한 값은 OS, DataAll입니다.
sequenceVersion BitLocker 작업의 시퀀스 버전. 동일한 VM에서 디스크 암호화 작업이 수행될 때마다 이 버전 번호가 증가합니다.
vmName 암호화 작업을 수행할 VM의 이름.

고객 암호화 VHD 및 암호화 키에서 만든 새 IaaS VM

이 시나리오에서는 Resource Manager 템플릿, PowerShell cmdlet 또는 CLI 명령을 사용하여 암호화를 사용하도록 설정할 수 있습니다. 다음 섹션에서는 Resource Manager 템플릿과 CLI 명령에 대해 자세히 설명합니다.

부록의 지침을 사용하여 Azure에서 사용할 수 있는 미리 암호화된 이미지를 준비합니다. 이미지를 만든 후 다음 섹션의 단계를 사용하여 암호화된 Azure VM을 만들 수 있습니다.

Azure PowerShell을 사용하여 미리 암호화된 VHD를 사용하여 VM 암호화

Set-AzVMOSDisk PowerShell cmdlet을 사용하여 암호화된 VHD에서 디스크 암호화를 사용하도록 설정할 수 있습니다. 아래 예제에서는 몇 가지 공통 매개 변수를 제공합니다.

$VirtualMachine = New-AzVMConfig -VMName "MySecureVM" -VMSize "Standard_A1"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name "SecureOSDisk" -VhdUri "os.vhd" Caching ReadWrite -Windows -CreateOption "Attach" -DiskEncryptionKeyUrl "https://mytestvault.vault.azure.net/secrets/Test1/514ceb769c984379a7e0230bddaaaaaa" -DiskEncryptionKeyVaultId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myKVresourcegroup/providers/Microsoft.KeyVault/vaults/mytestvault"
New-AzVM -VM $VirtualMachine -ResourceGroupName "MyVirtualMachineResourceGroup"

새로 추가된 데이터 디스크에서 암호화 사용

PowerShell을 사용하여 새 디스크를 Windows에 추가하거나 Azure Portal을 통해 추가할 수 있습니다.

Azure PowerShell을 사용하여 새로 추가된 디스크에서 암호화 사용

PowerShell을 사용하여 Windows VM용 새 디스크를 암호화하는 경우 새 시퀀스 버전을 지정해야 합니다. 시퀀스 버전은 고유해야 합니다. 아래 스크립트는 시퀀스 버전에 대한 GUID를 생성합니다. 경우에 따라 새로 추가된 데이터 디스크가 Azure Disk Encryption 확장에 의해 자동으로 암호화될 수 있습니다. 자동 암호화는 일반적으로 새 디스크가 온라인 상태가 된 후에 VM이 다시 부팅되는 경우에 발생합니다. 일반적으로 이전에 VM에서 디스크 암호화를 실행했을 때 볼륨 유형으로 “모두”를 지정했기 때문에 발생합니다. 새로 추가된 데이터 디스크에서 자동 암호화가 발생하는 경우 새 시퀀스 버전으로 Set-AzVmDiskEncryptionExtension cmdlet을 다시 실행하는 것이 좋습니다. 새 데이터 디스크가 자동으로 암호화되는 경우 암호화하지 않으려면, 먼저 모든 드라이브를 암호 해독한 다음, 볼륨 유형으로 OS를 지정하여 새 시퀀스 버전으로 다시 암호화합니다.

  • 클라이언트 암호를 사용하여 실행 중인 VM 암호화: 아래 스크립트는 변수를 초기화하고 Set-AzVMDiskEncryptionExtension cmdlet을 실행합니다. 리소스 그룹, VM, 키 자격 증명 모음, Microsoft Entra 앱 및 클라이언트 암호가 이미 필수 구성 요소로 만들어졌어야 합니다. MyKeyVaultResourceGroup, MyVirtualMachineResourceGroup, MySecureVM, MySecureVault, My-AAD-client-ID, and My-AAD-client-secret을 사용자의 값으로 대체합니다. 이 예제에서는 -VolumeType 매개 변수에 OS 및 데이터 볼륨을 모두 포함하는 "All"을 사용합니다. OS 볼륨만 암호화하려면 -VolumeType 매개 변수에 "OS"를 사용합니다.

     $sequenceVersion = [Guid]::NewGuid();
     $KVRGname = 'MyKeyVaultResourceGroup';
     $VMRGName = 'MyVirtualMachineResourceGroup';
     $vmName = 'MySecureVM';
     $aadClientID = 'My-AAD-client-ID';
     $aadClientSecret = 'My-AAD-client-secret';
     $KeyVaultName = 'MySecureVault';
     $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
     $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
     $KeyVaultResourceId = $KeyVault.ResourceId;
    
     Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'all' –SequenceVersion $sequenceVersion;
    
  • 클라이언트 비밀을 래핑하는 KEK를 사용하여 실행 중인 VM 암호화: Azure Disk Encryption을 사용하면 키 자격 증명 모음에서 기존 키를 지정하여 암호화를 사용하도록 설정하는 동안 생성된 디스크 암호화 비밀을 래핑할 수 있습니다. 키 암호화 키가 지정되면 Azure Disk Encryption에서 해당 키를 사용하여 Key Vault에 쓰기 전에 암호화 비밀을 래핑합니다. 이 예제에서는 -VolumeType 매개 변수에 OS 및 데이터 볼륨을 모두 포함하는 "All"을 사용합니다. OS 볼륨만 암호화하려면 -VolumeType 매개 변수에 "OS"를 사용합니다.

    $sequenceVersion = [Guid]::NewGuid();
    $KVRGname = 'MyKeyVaultResourceGroup';
    $VMRGName = 'MyVirtualMachineResourceGroup';
    $vmName = 'MyExtraSecureVM';
    $aadClientID = 'My-AAD-client-ID';
    $aadClientSecret = 'My-AAD-client-secret';
    $KeyVaultName = 'MySecureVault';
    $keyEncryptionKeyName = 'MyKeyEncryptionKey';
    $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
    $diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
    $KeyVaultResourceId = $KeyVault.ResourceId;
    $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
    
    Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGname -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId -VolumeType 'all' –SequenceVersion $sequenceVersion;
    
    

    참고 항목

    disk-encryption-keyvault 매개 변수의 값에 대한 구문은 전체 식별자 문자열입니다./subscriptions/[subscription-id-guid]/resourceGroups/[resource-group-name]/providers/Microsoft.KeyVault/vaults/[keyvault-name]
    키 암호화-키 매개 변수의 값에 대한 구문은 https://[keyvault-name].vault.azure.net/keys/[kekname]/[kek-unique-id]에서와 같은 KEK의 전체 URI입니다.

Azure CLI를 사용하여 새로 추가된 디스크에서 암호화 사용

암호화를 사용하도록 설정하는 명령을 실행하는 경우 Azure CLI 명령은 자동으로 새 순서 버전을 제공합니다. volume-yype 매개 변수에 허용되는 값은 All, OS 및 Data입니다. VM에 대해 한가지 유형의 디스크만 암호화하는 경우에는 volume-type 매개 변수를 OS 또는 Data로 변경해야 합니다. 이 예제에서는 volume-type 매개 변수에 "All"을 사용합니다.

  • 클라이언트 비밀을 사용하여 실행 중인 VM 암호화:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI/my Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault "MySecureVault" --volume-type "All"
    
  • 클라이언트 비밀을 래핑하는 KEK를 사용하여 실행 중인 VM 암호화:

    az vm encryption enable --resource-group "MyVirtualMachineResourceGroup" --name "MySecureVM" --aad-client-id "<my spn created with CLI which is the Azure AD ClientID>"  --aad-client-secret "My-AAD-client-secret" --disk-encryption-keyvault  "MySecureVault" --key-encryption-key "MyKEK_URI" --key-encryption-keyvault "MySecureVaultContainingTheKEK" --volume-type "all"
    

Microsoft Entra 클라이언트 인증서 기반 인증을 사용하여 암호화를 사용하도록 설정합니다.

KEK의 유무에 관계없이 클라이언트 인증서 인증을 사용할 수 있습니다. PowerShell 스크립트를 사용하기 전에 인증서를 키 자격 증명 모음에 업로드하고 VM에 배포해야 합니다. KEK도 사용하는 경우에는 KEK가 이미 있어야 합니다. 자세한 내용은 필수 구성 요소 문서의 Microsoft Entra ID 인증서 기반 인증 섹션을 참조하세요.

Azure PowerShell을 통해 인증서 기반 인증을 사용하여 암호화를 사용하도록 설정

## Fill in 'MyVirtualMachineResourceGroup', 'MyKeyVaultResourceGroup', 'My-AAD-client-ID', 'MySecureVault, and 'MySecureVM'.

$VMRGName = 'MyVirtualMachineResourceGroup'
$KVRGname = 'MyKeyVaultResourceGroup';
$AADClientID ='My-AAD-client-ID';
$KeyVaultName = 'MySecureVault';
$VMName = 'MySecureVM';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;

# Fill in the certificate path and the password so the thumbprint can be set as a variable. 

$certPath = '$CertPath = "C:\certificates\mycert.pfx';
$CertPassword ='Password'
$Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
$aadClientCertThumbprint = $cert.Thumbprint;

# Enable disk encryption using the client certificate thumbprint

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -AadClientID $AADClientID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId

Azure PowerShell을 통해 인증서 기반 인증과 KEK를 사용하여 암호화를 사용하도록 설정

# Fill in 'MyVirtualMachineResourceGroup', 'MyKeyVaultResourceGroup', 'My-AAD-client-ID', 'MySecureVault,, 'MySecureVM', and "KEKName.

$VMRGName = 'MyVirtualMachineResourceGroup';
$KVRGname = 'MyKeyVaultResourceGroup';
$AADClientID ='My-AAD-client-ID';
$KeyVaultName = 'MySecureVault';
$VMName = 'MySecureVM';
$keyEncryptionKeyName ='KEKName';
$KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname;
$diskEncryptionKeyVaultUrl = $KeyVault.VaultUri;
$KeyVaultResourceId = $KeyVault.ResourceId;
$keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;

## Fill in the certificate path and the password so the thumbprint can be read and set as a variable.

$certPath = '$CertPath = "C:\certificates\mycert.pfx';
$CertPassword ='Password'
$Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
$aadClientCertThumbprint = $cert.Thumbprint;

# Enable disk encryption using the client certificate thumbprint and a KEK

Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -AadClientID $AADClientID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId

암호화 사용 안 함

Azure PowerShell, Azure CLI 또는 Resource Manager 템플릿을 사용하여 암호화를 사용하지 않도록 설정할 수 있습니다.

  • Azure PowerShell을 통한 디스크 암호화 사용 안 함: 암호화를 사용하지 않도록 설정하려면 Disable-AzureRmVMDiskEncryption cmdlet을 사용합니다.

    Disable-AzVMDiskEncryption -ResourceGroupName 'MyVirtualMachineResourceGroup' -VMName 'MySecureVM'
    
  • Azure CLI를 통한 암호화 사용 안 함: 암호화를 사용하지 않도록 설정하려면 az vm encryption disable 명령을 사용합니다.

    az vm encryption disable --name "MySecureVM" --resource-group "MyVirtualMachineResourceGroup" --volume-type [ALL, DATA, OS]
    
  • Resource Manager 템플릿으로 암호화를 사용하지 않도록 설정:

    1. 실행중인 Windows VM에서 디스크 암호화 사용 안 함 템플릿에서 Azure에 배포를 클릭합니다.
    2. 구독, 리소스 그룹, 위치, VM, 약관 및 규약을 선택합니다.
    3. 구매를 클릭하여 실행 중인 Windows VM에서 디스크 암호화를 사용하지 않도록 설정합니다.

다음 단계