PowerShell을 사용하여 Azure VM에서 Azure 리소스에 대한 관리 ID 구성

Azure 리소스에 대한 관리 ID는 Microsoft Entra ID의 기능입니다. Azure 리소스에 대한 관리 ID를 지원하는 각 Azure 서비스는 자체 타임라인을 따릅니다. 시작하기 전에 리소스의 관리 ID 가용성 상태와 알려진 문제를 검토하세요.

Azure 리소스의 관리 ID는 Microsoft Entra ID에서 자동으로 관리되는 ID를 Azure 서비스에 제공합니다. 이 ID를 사용하면 코드에 자격 증명이 없어도 Microsoft Entra 인증을 지원하는 모든 서비스에 인증할 수 있습니다.

이 문서에서는 PowerShell을 사용하여 Azure VM에서 Azure 리소스에 대한 다음과 같은 관리 ID 작업을 수행하는 방법을 알아봅니다.

참고 항목

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

필수 조건

  • Azure 리소스에 대한 관리 ID를 잘 모르는 경우 개요 섹션을 확인하세요. 시스템 할당 ID와 사용자 할당 관리 ID의 차이점을 반드시 검토하세요.
  • 아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.
  • 예제 스크립트를 실행하려면 다음 두 가지 옵션을 사용합니다.
    • 코드 블록의 오른쪽 위 모서리에 있는 사용해 보기 단추를 사용하여 열 수 있는 Azure Cloud Shell을 사용합니다.
    • 최신 버전의 Azure PowerShell을 설치하여 스크립트를 로컬로 실행한 다음, Connect-AzAccount를 사용하여 Azure에 로그인합니다.

시스템 할당 관리 ID

이 섹션에서는 Azure PowerShell을 사용하여 시스템 할당 관리 ID를 사용 및 사용하지 않도록 설정하는 방법을 살펴봅니다.

Azure VM 생성 중에 시스템 할당 관리 ID를 사용하도록 설정

시스템 할당 관리 ID를 사용하도록 설정된 Azure VM을 만들려면 계정에 Virtual Machine 기여자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

  1. 다음 Azure VM 빠른 시작 중 하나를 참조하여 필요한 섹션만 완료하세요("Azure에 로그인", "리소스 그룹 만들기", "네트워킹 그룹 만들기", "VM 만들기").

    "VM 만들기" 섹션으로 이동하려면 New-AzVMConfig cmdlet 구문을 조금 수정합니다. 시스템 할당 ID가 사용된 VM을 프로비전하려면 -IdentityType SystemAssigned 매개 변수를 추가해야 합니다. 예를 들면 다음과 같습니다.

    $vmConfig = New-AzVMConfig -VMName myVM -IdentityType SystemAssigned ...
    

기존 Azure VM에서 시스템 할당 관리 ID를 사용하도록 설정

원래 시스템 할당 관리 ID 없이 프로비전된 VM에서 해당 ID를 사용하도록 설정하려면 계정에 가상 머신 기여자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

  1. Get-AzVM cmdlet을 사용하여 VM 속성을 검색합니다. 그런 다음, 시스템 할당 관리 ID를 사용하도록 설정하려면 Update-AzVM cmdlet에서 -IdentityType 스위치를 사용합니다.

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVM -ResourceGroupName myResourceGroup -VM $vm -IdentityType SystemAssigned
    

그룹에 VM 시스템이 할당한 ID 추가

VM에서 시스템이 할당한 ID를 사용하도록 설정한 후에는 그룹에 해당 ID를 추가할 수 있습니다. 다음 절차에서는 VM의 시스템이 할당한 ID를 그룹에 추가합니다.

  1. VM 서비스 주체의 ObjectID(반환된 값의 Id 필드에 지정되어 있음)를 검색하여 적어 둡니다.

    Get-AzADServicePrincipal -displayname "myVM"
    
  2. 그룹의 ObjectID(반환된 값의 Id 필드에 지정되어 있음)를 검색하여 적어 둡니다.

    Get-AzADGroup -searchstring "myGroup"
    
  3. VM 서비스 주체를 그룹에 추가합니다.

    New-MgGroupMember -GroupId "<Id of group>" -DirectoryObjectId "<Id of VM service principal>" 
    

Azure VM에서 시스템 할당 관리 ID를 사용하지 않도록 설정

VM에서 시스템 할당 관리 ID를 사용하지 않도록 설정하려면 계정에 가상 머신 기여자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

시스템 할당 관리 ID는 더 이상 필요하지 않고 사용자 할당 관리 ID는 여전히 필요한 Virtual Machine이 있는 경우 다음 cmdlet을 사용합니다.

  1. Get-AzVM cmdlet을 사용하여 VM 속성을 검색하고 -IdentityType 매개 변수를 UserAssigned로 설정합니다.

    $vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
    Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType "UserAssigned" -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

시스템 할당 관리 ID는 더 이상 필요하지 않고 사용자 할당 관리 ID가 없는 가상 머신이 있는 경우 다음 명령을 사용합니다.

$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

사용자 할당 관리 ID

이 섹션에서는 Azure PowerShell을 사용하여 VM에서 사용자 할당 관리 ID를 추가하고 제거하는 방법을 알아봅니다.

생성 중에 VM에 사용자 할당 관리 ID 할당

VM에 사용자 할당 ID를 할당하려면 계정에 가상 머신 기여자관리 ID 운영자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

  1. 다음 Azure VM 빠른 시작 중 하나를 참조하여 필요한 섹션만 완료하세요("Azure에 로그인", "리소스 그룹 만들기", "네트워킹 그룹 만들기", "VM 만들기").

    “VM 만들기” 섹션으로 이동할 때 New-AzVMConfig cmdlet 구문을 조금 수정합니다. 사용자 할당 ID가 있는 VM을 프로비전하려면 -IdentityType UserAssigned-IdentityID 매개 변수를 추가합니다. <VM NAME>,<SUBSCRIPTION ID>, <RESROURCE GROUP><USER ASSIGNED IDENTITY NAME>을 사용자 고유의 값을 바꿉니다. 예시:

    $vmConfig = New-AzVMConfig -VMName <VM NAME> -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>..."
    

기존 Azure VM에 사용자 할당 관리 ID 할당

VM에 사용자 할당 ID를 할당하려면 계정에 가상 머신 기여자관리 ID 운영자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

  1. New-AzUserAssignedIdentity cmdlet을 사용하여 사용자 할당 관리 ID를 만듭니다. 다음 단계에서 이 정보가 필요하므로 출력에서 Id를 기록해 두세요.

    Important

    사용자 할당 관리 ID 만들기는 영숫자, 밑줄 및 하이픈(0-9 또는 a-z 또는 A-Z, _ 또는 -) 문자만 지원합니다. 또한 VM/VMSS에 대한 할당이 제대로 작동하려면 이름의 길이가 3~128자로 제한되어야 합니다. 자세한 내용은 FAQ 및 알려진 문제를 참조하세요.

    New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>
    
  2. Get-AzVM cmdlet을 사용하여 VM 속성을 검색합니다. 그런 다음, Azure VM에 사용자 할당 관리 ID를 할당하고 Update-AzVM cmdlet에서 -IdentityType-IdentityID 스위치를 사용합니다. -IdentityId 매개 변수의 값은 이전 단계에서 메모해 둔 Id입니다. <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP><USER ASSIGNED IDENTITY NAME>을 사용자 고유의 값으로 바꿉니다.

    Warning

    VM에 할당된 이전에 사용자가 할당된 관리 ID를 유지하려면 VM 개체의 Identity 속성(예: $vm.Identity)을 쿼리합니다. 사용자가 할당한 관리 ID가 반환되면 이 관리 ID와 VM에 할당하려는 새 사용자 할당 관리 ID를 함께 다음 명령에 포함합니다.

    $vm = Get-AzVM -ResourceGroupName <RESOURCE GROUP> -Name <VM NAME>
    Update-AzVM -ResourceGroupName <RESOURCE GROUP> -VM $vm -IdentityType UserAssigned -IdentityID "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/<RESROURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>"
    

Azure VM에서 사용자 할당 관리 ID 제거

VM의 사용자 할당 ID를 제거하려면 계정에 가상 머신 기여자 역할 할당이 필요합니다.

VM에 여러 사용자 할당 관리 ID가 있는 경우 다음 명령을 사용하여 마지막 것을 제외하고 모두 제거할 수 있습니다. <RESOURCE GROUP><VM NAME> 매개 변수 값을 원하는 값으로 바꾸세요. <USER ASSIGNED IDENTITY NAME>은 사용자 할당 관리 ID의 이름 속성으로, VM에 남아 있어야 합니다. 이 정보는 VM 개체의 Identity 속성을 발견하는 쿼리를 사용하여 발견할 수 있습니다. 예: $vm.Identity

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType UserAssigned -IdentityID <USER ASSIGNED IDENTITY NAME>

VM에 시스템 할당 관리 ID가 없고 모든 사용자 할당 관리 ID를 제거하려는 경우 다음 명령을 사용합니다.

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VM $vm -IdentityType None

VM에 시스템 할당 및 사용자 할당 관리 ID가 모두 있는 경우 시스템 할당 관리 ID만 사용하도록 전환하여 모든 사용자 할당 관리 ID를 제거할 수 있습니다.

$vm = Get-AzVm -ResourceGroupName myResourceGroup -Name myVm
Update-AzVm -ResourceGroupName myResourceGroup -VirtualMachine $vm -IdentityType "SystemAssigned"

다음 단계