다음을 통해 공유


가상 머신 확장 집합에서 Azure 리소스에 대한 관리 ID 구성

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

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

Azure Policy 정의 및 세부 정보에 대한 자세한 내용은 Azure Policy를 사용하여 관리 ID 할당(미리 보기)을 참조하세요.

이 문서에서는 Azure Portal을 사용하여 가상 머신 확장 집합에서 Azure 리소스에 대해 다음과 같은 관리 ID 작업을 수행하는 방법을 알아봅니다.

  • Azure 리소스에 대한 관리 ID를 잘 모르는 경우 개요 섹션을 확인하세요.

  • 아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.

  • 이 문서의 관리 작업을 수행하려면 계정에 다음과 같은 Azure 역할이 할당되어야 합니다.

    참고 항목

    추가 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

    • 가상 머신 참가자: 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정하고 제거합니다.

시스템 할당 관리 ID

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

가상 머신 확장 집합을 만드는 동안 시스템 할당 관리 ID를 사용하도록 설정

현재 Azure Portal은 가상 머신 확장 집합을 만드는 동안 시스템 할당 관리 ID를 사용하도록 설정하는 것을 지원하지 않습니다. 대신 다음 가상 머신 확장 집합 만들기 빠른 시작 문서를 참조하여 먼저 가상 머신 확장 집합을 만든 다음, 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정하는 데 관한 다음 섹션을 진행합니다.

기존 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정

이 문서의 단계는 시작하는 포털에 따라 약간 다를 수도 있습니다.

원래 시스템 할당 ID 없이 프로비전된 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정하려면:

  1. 가상 머신 확장 집합을 포함하는 Azure 구독과 연결된 계정을 사용하여 Azure Portal에 로그인합니다.

  2. 원하는 가상 머신 확장 집합으로 이동합니다.

  3. 시스템 할당, 상태에서 켜기를 선택한 다음, 저장을 클릭합니다.

    스크린샷에는

가상 머신 확장 집합에서 시스템 할당 관리 ID 제거

시스템 할당 관리 ID가 더 이상 필요하지 않은 가상 머신 확장 집합이 있는 경우 다음을 수행합니다.

  1. 가상 머신 확장 집합을 포함하는 Azure 구독과 연결된 계정을 사용하여 Azure Portal에 로그인합니다. 또한 계정이 가상 머신 확장 집합에 대한 쓰기 권한을 부여하는 역할에 속하는지 확인합니다.

  2. 원하는 가상 머신 확장 집합으로 이동합니다.

  3. 시스템 할당, 상태에서 끄기를 선택한 다음, 저장을 클릭합니다.

    구성 페이지를 보여 주는 스크린샷.

사용자 할당 관리 ID

이 섹션에서는 Azure Portal을 사용하여 가상 머신 확장 집합에서 사용자 할당 관리 ID를 추가하고 제거하는 방법을 알아봅니다.

가상 머신 확장 집합을 만드는 동안 사용자 할당 관리 ID를 할당합니다.

현재 Azure Portal은 가상 머신 확장 집합을 만드는 동안 사용자 할당 관리 ID를 할당하는 것을 지원하지 않습니다. 대신 다음 가상 머신 확장 집합 만들기 빠른 시작 문서를 참조하여 먼저 가상 머신 확장 집합을 만든 다음, 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당하는 데 관한 다음 섹션을 진행합니다.

기존 가상 머신 확장 집합에 사용자 할당 관리 ID 할당

  1. 가상 머신 확장 집합을 포함하는 Azure 구독과 연결된 계정을 사용하여 Azure Portal에 로그인합니다.

  2. 원하는 가상 머신 확장 집합으로 이동하고 ID, 사용자 할당을 클릭한 다음, +추가를 클릭합니다.

    가상 머신 확장 집합에 사용자 할당 ID 추가를 보여 주는 스크린샷.

  3. 가상 머신 확장 집합에 추가할 사용자 할당 ID를 클릭한 다음, 추가를 클릭합니다.

    가상 머신 확장 집합에 사용자 할당 ID를 추가하는 방법을 보여 주는 스크린샷.

가상 머신 확장 집합에서 사용자가 할당한 관리 ID 제거

  1. VM을 포함하는 Azure 구독과 연결된 계정을 사용하여 Azure Portal에 로그인합니다.

  2. 원하는 가상 머신 확장 집합으로 이동하고 ID, 사용자 할당, 삭제할 사용자 할당 관리 ID의 이름을 클릭한 다음, 제거를 클릭합니다(확인 창에서 클릭).

    가상 머신 확장 집합에서 사용자 할당 ID를 제거하는 방법을 보여 주는 스크린샷.

다음 단계

이 문서에서는 Azure CLI를 사용하여 Azure 가상 머신 확장 집합에서 Azure 리소스 작업에 대해 다음과 같은 관리 ID를 수행하는 방법을 알아봅니다.

  • Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정
  • Azure 가상 머신 확장 집합에서 사용자 할당 관리 ID 추가 및 제거

아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.

필수 조건

  • Azure 리소스에 대한 관리 ID에 익숙하지 않은 경우 Azure 리소스에 대한 관리 ID란?을 참조하세요. 시스템 할당 및 사용자 할당 관리 ID 형식에 대한 자세한 내용은 관리 ID 형식을 참조하세요.

  • 이 문서의 관리 작업을 수행하려면 계정에 다음과 같은 Azure 역할 기반 액세스 제어가 할당되어야 합니다.

    • 가상 머신 참가자: 가상 머신 확장 집합을 만들고, 가상 머신 확장 집합에서 시스템 및/또는 사용자가 할당한 관리 ID를 사용하도록 설정하고 제거합니다.

    • 관리 ID 참가자 역할: 사용자 할당 관리 ID를 만듭니다.

    • 관리 ID 운영자 역할: 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당하거나 이 집합에서 사용자 할당 관리 ID를 제거합니다.

    참고 항목

    추가 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

시스템 할당 관리 ID

이 섹션에서는 Azure CLI를 사용하여 Azure 가상 머신 확장 집합에 시스템 할당 관리 ID를 사용 및 사용하지 않도록 설정하는 방법을 알아봅니다.

Azure 가상 머신 확장 집합을 만드는 동안 시스템 할당 관리 ID를 사용하도록 설정

시스템 할당 관리 ID를 사용하도록 설정된 가상 머신 확장 집합을 만들려면:

  1. az group create를 사용하여 가상 머신 확장 집합 및 관련 리소스를 포함하고 배포하기 위한 리소스 그룹을 만듭니다. 대신 사용하려는 리소스 그룹이 이미 있다면 이 단계를 건너뛰어도 됩니다.

    az group create --name myResourceGroup --location westus
    
  2. 가상 머신 확장 집합을 만듭니다. 다음 예제에서는 --role--scope가 지정된 --assign-identity 매개 변수에서 요청한 대로 시스템 할당 관리 ID를 사용하여 myVMSS라는 가상 머신 확장 집합을 만듭니다. --admin-username--admin-password 매개 변수는 가상 머신 로그인을 위한 관리자 이름 및 암호 계정을 지정합니다. 이러한 값은 사용자 환경에 적절하게 업데이트합니다.

    az vmss create --resource-group myResourceGroup --name myVMSS --image win2016datacenter --upgrade-policy-mode automatic --custom-data cloud-init.txt --admin-username azureuser --admin-password myPassword12 --assign-identity --generate-ssh-keys --role contributor --scope mySubscription
    

기존 Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정

기존 Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정해야 하는 경우:

az vmss identity assign -g myResourceGroup -n myVMSS

Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하지 않도록 설정

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

az vmss update -n myVM -g myResourceGroup --set identity.type='UserAssigned' 

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

참고 항목

none 값은 대/소문자를 구분합니다. 소문자여야 합니다.

az vmss update -n myVM -g myResourceGroup --set identity.type="none"

사용자 할당 관리 ID

이 섹션에서는 Azure CLI를 사용하여 사용자 할당 관리 ID를 사용하도록 설정하고 제거하는 방법을 알아봅니다.

가상 머신 확장 집합을 만드는 동안 사용자 할당 관리 ID를 할당합니다.

이 섹션에서는 가상 머신 확장 집합을 만들고 사용자 할당 관리 ID를 가상 머신 확장 집합에 할당하는 과정을 안내합니다. 사용하려는 가상 머신 확장 집합이 이미 있는 경우 이 섹션을 건너뛰고 다음 단계를 진행합니다.

  1. 사용하려는 리소스 그룹이 이미 있다면 이 단계를 건너뛰어도 됩니다. az group create를 사용하여 사용자 할당 관리 ID를 포함하고 배포하는 데 사용할 리소스 그룹을 만듭니다. <RESOURCE GROUP><LOCATION> 매개 변수 값을 원하는 값으로 바꾸세요. :

    az group create --name <RESOURCE GROUP> --location <LOCATION>
    
  2. az identity create를 사용하여 사용자 할당 관리 ID를 만듭니다. -g 매개 변수는 사용자 할당 관리 ID가 만들어진 리소스 그룹을 지정하고 -n 매개 변수는 그 이름을 지정합니다. <RESOURCE GROUP><USER ASSIGNED IDENTITY NAME> 매개 변수 값을 원하는 값으로 바꾸세요.

    Important

    사용자 할당 관리 ID를 만들 때 이름은 문자나 숫자로 시작해야 하며 영숫자, 하이픈(-), 밑줄(_)의 조합을 포함할 수 있습니다. 가상 머신 또는 가상 머신 확장 집합에 대한 할당이 제대로 작동하려면 이름이 24자로 제한됩니다. 자세한 내용은 FAQ 및 알려진 문제를 참조하세요.

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    응답에는 다음과 같이 생성된 사용자가 할당한 관리 ID에 대한 세부 정보가 포함됩니다. 사용자 할당 관리 ID에 할당된 리소스 id 값은 다음 단계에서 사용됩니다.

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY NAME>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  3. 가상 머신 확장 집합을 만듭니다. 다음 예제에서는 --role--scope가 지정된 --assign-identity 매개 변수에서 지정한 대로 새 사용자 할당 관리 ID와 연결된 가상 머신 확장 집합을 만듭니다. <RESOURCE GROUP>, <VMSS NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY>, <ROLE><SUBSCRIPTION> 매개 변수 값을 사용자 고유의 값으로 바꾸세요.

    az vmss create --resource-group <RESOURCE GROUP> --name <VMSS NAME> --image <SKU Linux Image> --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY> --role <ROLE> --scope <SUBSCRIPTION>
    

기존 가상 머신 확장 집합에 사용자 할당 관리 ID 할당

  1. az identity create를 사용하여 사용자 할당 관리 ID를 만듭니다. -g 매개 변수는 사용자 할당 관리 ID가 만들어진 리소스 그룹을 지정하고 -n 매개 변수는 그 이름을 지정합니다. <RESOURCE GROUP><USER ASSIGNED IDENTITY NAME> 매개 변수 값을 원하는 값으로 바꾸세요.

    az identity create -g <RESOURCE GROUP> -n <USER ASSIGNED IDENTITY NAME>
    

    응답에는 다음과 같이 생성된 사용자가 할당한 관리 ID에 대한 세부 정보가 포함됩니다.

    {
         "clientId": "73444643-8088-4d70-9532-c3a0fdc190fz",
         "clientSecretUrl": "https://control-westcentralus.identity.azure.net/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY >/credentials?tid=5678&oid=9012&aid=73444643-8088-4d70-9532-c3a0fdc190fz",
         "id": "/subscriptions/<SUBSCRIPTON ID>/resourcegroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY>",
         "location": "westcentralus",
         "name": "<USER ASSIGNED IDENTITY>",
         "principalId": "e5fdfdc1-ed84-4d48-8551-fe9fb9dedfll",
         "resourceGroup": "<RESOURCE GROUP>",
         "tags": {},
         "tenantId": "733a8f0e-ec41-4e69-8ad8-971fc4b533bl",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities"    
    }
    
  2. 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당합니다. <RESOURCE GROUP><VIRTUAL MACHINE SCALE SET NAME> 매개 변수 값을 원하는 값으로 바꾸세요. <USER ASSIGNED IDENTITY>는 이전 단계에서 만든 대로 사용자 할당 ID의 리소스 name 속성입니다.

    az vmss identity assign -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>
    

Azure 가상 머신 확장 집합에서 사용자가 할당한 관리 ID 제거

가상 머신 확장 집합에서 사용자 할당 관리 ID를 제거하려면 az vmss identity remove를 사용합니다. 가상 머신 확장 집합에 할당된 유일한 사용자가 할당한 관리 ID인 경우 UserAssigned는 ID 유형 값에서 제거됩니다. <RESOURCE GROUP><VIRTUAL MACHINE SCALE SET NAME> 매개 변수 값을 원하는 값으로 바꾸세요. <USER ASSIGNED IDENTITY>는 사용자가 할당한 관리 ID의 name 속성이며 az vmss identity show를 사용하여 가상 머신 확장 집합의 ID 섹션에서 찾을 수 있습니다.

az vmss identity remove -g <RESOURCE GROUP> -n <VIRTUAL MACHINE SCALE SET NAME> --identities <USER ASSIGNED IDENTITY>

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

참고 항목

none 값은 대/소문자를 구분합니다. 소문자여야 합니다.

az vmss update -n myVMSS -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

가상 머신 확장 집합에 시스템 할당 및 사용자 할당 관리 ID가 모두 있는 경우 시스템 할당 관리 ID만 사용하도록 전환하여 모든 사용자 할당 관리 ID를 제거할 수 있습니다. 다음 명령을 사용합니다.

az vmss update -n myVMSS -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

다음 단계

이 문서에서는 PowerShell을 사용하여 가상 머신 확장 집합에서 Azure 리소스에 대한 관리 ID 작업을 수행하는 방법을 알아봅니다.

  • 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정
  • 가상 머신 확장 집합에서 사용자 할당 관리 ID 추가 및 제거

참고 항목

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

필수 조건

  • Azure 리소스에 대한 관리 ID를 잘 모르는 경우 개요 섹션을 확인하세요. 시스템 할당 관리 ID와 사용자 할당 ID의 차이점을 반드시 검토하세요.

  • 아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.

  • 이 문서의 관리 작업을 수행하려면 계정에 다음과 같은 Azure 역할 기반 액세스 제어가 할당되어야 합니다.

    참고 항목

    추가 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

    • Virtual Machine 기여자: 가상 머신 확장 집합을 만들고, 가상 머신 확장 집합에서 시스템 할당 관리 ID 및/또는 사용자 할당 관리 ID를 사용하도록 설정하고 제거합니다.
    • 관리 ID 참가자 역할: 사용자 할당 관리 ID를 만듭니다.
    • 관리 ID 운영자 역할: 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당하거나 이 집합에서 사용자 할당 관리 ID를 제거합니다.
  • 예제 스크립트를 실행하려면 다음 두 가지 옵션을 사용합니다.

    • 코드 블록의 오른쪽 위 모서리에 있는 사용해 보기 단추를 사용하여 열 수 있는 Azure Cloud Shell을 사용합니다.
    • 최신 버전의 Azure PowerShell을 설치하여 스크립트를 로컬로 실행한 다음, Connect-AzAccount를 사용하여 Azure에 로그인합니다.

시스템 할당 관리 ID

이 섹션에서는 Azure PowerShell을 사용하여 시스템 할당 관리 ID를 사용하도록 설정하고 제거하는 방법을 알아봅니다.

Azure 가상 머신 확장 집합을 만드는 동안 시스템 할당 관리 ID를 사용하도록 설정

시스템 할당 관리 ID를 사용하도록 설정된 가상 머신 확장 집합을 만들려면:

  1. 시스템 할당 관리 ID가 있는 가상 머신 확장 집합을 만들려면 New-AzVmssConfig cmdlet 참조 문서의 예제 1을 참조하세요. -IdentityType SystemAssigned 매개 변수를 New-AzVmssConfig cmdlet에 추가:

    $VMSS = New-AzVmssConfig -Location $Loc -SkuCapacity 2 -SkuName "Standard_A0" -UpgradePolicyMode "Automatic" -NetworkInterfaceConfiguration $NetCfg -IdentityType SystemAssigned`
    

기존 Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정

기존 Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정해야 하는 경우:

  1. 사용 중인 Azure 계정이 "Virtual Machine 기여자"와 같이 가상 머신 확장 집합에 대한 쓰기 권한을 부여하는 역할에 속하는지 확인합니다.

  2. Get-AzVmss cmdlet을 사용하여 가상 머신 확장 집합 속성을 검색합니다. 그런 다음, 시스템 할당 관리 ID를 사용하도록 설정하려면 Update-AzVmss cmdlet에서 -IdentityType 스위치를 사용합니다.

    Update-AzVmss -ResourceGroupName myResourceGroup -Name -myVmss -IdentityType "SystemAssigned"
    

Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하지 않도록 설정

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

  1. 계정이 "Virtual Machine 기여자"와 같이 가상 머신 확장 집합에 대한 쓰기 권한을 부여하는 역할에 속하는지 확인합니다.

  2. 다음 cmdlet을 실행합니다.

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "UserAssigned"
    
  3. 시스템 할당 관리 ID가 더 이상 필요하지 않고 사용자 할당 관리 ID가 없는 가상 머신 확장 집합이 있는 경우 다음 명령을 사용합니다.

    Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None
    

사용자 할당 관리 ID

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

Azure 가상 머신 확장 집합을 만드는 동안 사용자 할당 관리 ID를 할당

PowerShell을 통해 사용자 할당 관리 ID가 있는 새 가상 머신 확장 집합 만들기는 현재 지원되지 않습니다. 기존 가상 머신 확장 집합에 사용자 할당 관리 ID를 추가하는 방법은 다음 섹션을 참조하세요. 따라서 정기적으로 다시 업데이트를 확인하십시오.

기존 Azure 가상 머신 확장 집합에 사용자 할당 관리 ID 할당

기존 Azure 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당하려면

  1. 계정이 "Virtual Machine 기여자"와 같이 가상 머신 확장 집합에 대한 쓰기 권한을 부여하는 역할에 속하는지 확인합니다.

  2. Get-AzVM cmdlet을 사용하여 가상 머신 확장 집합 속성을 검색합니다. 그런 다음, 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당하려면 Update-AzVmss cmdlet에서 -IdentityType-IdentityID 스위치를 사용합니다. <VM NAME>, <SUBSCRIPTION ID>, <RESROURCE GROUP>, <USER ASSIGNED ID1>, USER ASSIGNED ID2를 사용자 고유의 값으로 바꿉니다.

    Important

    사용자 할당 관리 ID를 만들 때 이름은 문자나 숫자로 시작해야 하며 영숫자, 하이픈(-), 밑줄(_)의 조합을 포함할 수 있습니다. 가상 머신 또는 가상 머신 확장 집합에 대한 할당이 제대로 작동하려면 이름이 24자로 제한됩니다. 자세한 내용은 FAQ 및 알려진 문제를 참조하세요.

    Update-AzVmss -ResourceGroupName <RESOURCE GROUP> -Name <VMSS NAME> -IdentityType UserAssigned -IdentityID "<USER ASSIGNED ID1>","<USER ASSIGNED ID2>"
    

Azure 가상 머신 확장 집합에서 사용자가 할당한 관리 ID 제거

가상 머신 확장 집합에 여러 사용자 할당 관리 ID가 있는 경우 다음 명령을 사용하여 마지막 항목을 제외한 모든 항목을 제거할 수 있습니다. <RESOURCE GROUP><VIRTUAL MACHINE SCALE SET NAME> 매개 변수 값을 원하는 값으로 바꾸세요. <USER ASSIGNED IDENTITY NAME>은 사용자 할당 관리 ID의 이름 속성으로, 가상 머신 확장 집합에 남아 있어야 합니다. 이 정보는 az vmss show를 사용하여 가상 머신 확장 집합의 ID 섹션에서 찾을 수 있습니다.

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType UserAssigned -IdentityID "<USER ASSIGNED IDENTITY NAME>"

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

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType None

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

Update-AzVmss -ResourceGroupName myResourceGroup -Name myVmss -IdentityType "SystemAssigned"

다음 단계

이 문서에서는 Azure Resource Manager 배포 템플릿을 사용하여 Azure 가상 머신 확장 집합에서 Azure 리소스에 대한 다음과 같은 관리 ID 작업을 수행하는 방법을 알아봅니다.

  • Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정
  • Azure 가상 머신 확장 집합에서 사용자 할당 관리 ID 추가 및 제거

필수 조건

  • Azure 리소스에 대한 관리 ID를 잘 모르는 경우 개요 섹션을 확인하세요. 시스템 할당 ID와 사용자 할당 관리 ID의 차이점을 반드시 검토하세요.

  • 아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.

  • 이 문서의 관리 작업을 수행하려면 계정에 다음과 같은 Azure 역할 기반 액세스 제어가 할당되어야 합니다.

    참고 항목

    추가 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

    • 가상 머신 참가자: 가상 머신 확장 집합을 만들고, 가상 머신 확장 집합에서 시스템 및/또는 사용자가 할당한 관리 ID를 사용하도록 설정하고 제거합니다.
    • 관리 ID 참가자 역할: 사용자 할당 관리 ID를 만듭니다.
    • 관리 ID 운영자 역할: 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당하거나 이 집합에서 사용자 할당 관리 ID를 제거합니다.

Azure 리소스 관리자 템플릿

Azure Portal 및 스크립팅을 사용할 때와 마찬가지로, Azure Resource Manager 템플릿에서도 Azure 리소스 그룹으로 정의된 새 리소스 또는 수정된 리소스를 배포하는 기능을 제공합니다. 다음을 비롯한 로컬 및 포털 기반 템플릿 편집 및 배포에 여러 가지 옵션이 제공됩니다.

선택한 옵션에 관계 없이 초기 배포 및 재배포 시 템플릿 구문은 동일합니다. 새 VM이나 기존 VM에서 Azure 리소스에 대한 관리 ID를 사용하도록 설정하는 작업은 동일한 방식으로 수행됩니다. 또한 기본적으로 Azure Resource Manager는 배포에 대해 증분 업데이트를 수행합니다.

시스템 할당 관리 ID

이 섹션에서는 Azure Resource Manager 템플릿을 사용하여 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정합니다.

가상 머신 확장 집합 또는 기존 가상 머신 확장 집합을 만드는 동안 시스템 할당 관리 ID를 사용하도록 설정

  1. Azure에 로컬로 로그인하든지, 아니면 Azure Portal을 통해 로그인하든지 간에 가상 머신 확장 집합이 포함된 Azure 구독과 연결된 계정을 사용합니다.

  2. 시스템 할당 관리 ID를 사용하도록 설정하려면 편집기에 템플릿을 로드하고 리소스 섹션 내에서 관심이 있는 Microsoft.Compute/virtualMachinesScaleSets 리소스를 찾아서 "type": "Microsoft.Compute/virtualMachinesScaleSets" 속성과 같은 수준으로 identity 속성을 추가합니다. 다음 구문을 사용합니다.

    "identity": {
        "type": "SystemAssigned"
    }
    
  3. 완료되면 아래 표시된 예와 유사한 모양으로 템플릿의 리소스 섹션에 다음 섹션을 추가해야 합니다.

     "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "SystemAssigned",
             },
            "properties": {
                 //other resource provider properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
    
                 }
             }
         }
     ]
    

Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하지 않도록 설정

시스템 할당 관리 ID가 더 이상 필요하지 않은 가상 머신 확장 집합이 있는 경우 다음을 수행합니다.

  1. Azure에 로컬로 로그인하든지, 아니면 Azure Portal을 통해 로그인하든지 간에 가상 머신 확장 집합이 포함된 Azure 구독과 연결된 계정을 사용합니다.

  2. 템플릿을 편집기에 로드하고 resources 섹션 내에서 관심 있는 Microsoft.Compute/virtualMachineScaleSets 리소스를 찾습니다. VM에 시스템 할당 관리 ID만 있는 경우, ID 형식을 None으로 변경하여 VM을 사용하지 않도록 설정할 수 있습니다.

    Microsoft.Compute/virtualMachineScaleSets API 버전 2018-06-01

    apiVersion이 2018-06-01이고 VM에 시스템 할당 ID와 사용자 할당 관리 ID가 둘 다 있는 경우, ID 유형에서 SystemAssigned를 제거하고 userAssignedIdentities 사전 값과 함께 UserAssigned를 유지합니다.

    Microsoft.Compute/virtualMachineScaleSets API 버전 2018-06-01

    apiVersion이 2017-12-01이고 가상 머신 확장 집합에 시스템 할당 관리 ID와 사용자 할당 ID가 둘 다 있는 경우 ID 형식에서 SystemAssigned를 제거하고 사용자 할당 관리 ID의 identityIds 배열과 함께 UserAssigned를 유지합니다.

    다음 예제에서는 사용자 할당 관리 ID가 없는 가상 머신 확장 집합에서 시스템 할당 관리 ID를 제거하는 방법을 보여줍니다.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    
    }
    

사용자 할당 관리 ID

이 섹션에서는 Azure Resource Manager 템플릿을 사용하여 가상 머신 확장 집합에 사용자 할당 관리 ID를 할당합니다.

참고 항목

Azure Resource Manager 템플릿을 사용하여 사용자 할당 관리 ID를 만들려면 사용자 할당 관리 ID 만들기를 참조하세요.

가상 머신 확장 집합에 사용자 할당 관리 ID 할당

  1. resources 요소 아래에 다음 항목을 추가하여 사용자 할당 관리 ID를 가상 머신 확장 집합에 할당합니다. <USERASSIGNEDIDENTITY>를 직접 만든 사용자 할당 관리 ID의 이름으로 바꿔야 합니다.

    Microsoft.Compute/virtualMachineScaleSets API 버전 2018-06-01

    apiVersion이 2018-06-01이고 사용자 할당 관리 ID가 userAssignedIdentities 사전 형식으로 저장되는 경우에는 템플릿의 variables 섹션에 정의된 변수에 <USERASSIGNEDIDENTITYNAME> 값이 저장되어야 합니다.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "userAssignedIdentities": {
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
            }
        }
    
    }
    

    Microsoft.Compute/virtualMachineScaleSets API 버전 2017-12-01

    apiVersion2017-12-01 또는 이전 버전이고 사용자 할당 관리 ID가 identityIds 배열에 저장되는 경우에는 템플릿의 변수 섹션에 정의된 변수에 <USERASSIGNEDIDENTITYNAME> 값이 저장되어야 합니다.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2017-03-30",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "userAssigned",
            "identityIds": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITY>'))]"
            ]
        }
    }
    
  2. 완료되면 템플릿은 다음과 같이 표시됩니다.

    Microsoft.Compute/virtualMachineScaleSets API 버전 2018-06-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2018-06-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "userAssignedIdentities": {
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {}
                 }
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

    Microsoft.Compute/virtualMachines API 버전 2017-12-01

    "resources": [
         {
             //other resource provider properties...
             "apiVersion": "2017-12-01",
             "type": "Microsoft.Compute/virtualMachineScaleSets",
             "name": "[variables('vmssName')]",
             "location": "[resourceGroup().location]",
             "identity": {
                 "type": "UserAssigned",
                 "identityIds": [
                     "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]"
                 ]
             },
            "properties": {
                 //other virtual machine properties...
                 "virtualMachineProfile": {
                     //other virtual machine profile properties...
                 }
             }
         }
     ]
    

Azure 가상 머신 확장 집합에서 사용자 할당 관리 ID 제거

사용자 할당 관리 ID가 더 이상 필요하지 않은 가상 머신 확장 집합이 있는 경우 다음을 수행합니다.

  1. Azure에 로컬로 로그인하든지, 아니면 Azure Portal을 통해 로그인하든지 간에 가상 머신 확장 집합이 포함된 Azure 구독과 연결된 계정을 사용합니다.

  2. 템플릿을 편집기에 로드하고 resources 섹션 내에서 관심 있는 Microsoft.Compute/virtualMachineScaleSets 리소스를 찾습니다. 가상 머신 확장 집합에 사용자 할당 관리 ID만 있는 경우 ID 형식을 None으로 변경하여 VM을 사용하지 않도록 설정할 수 있습니다.

    다음 예제에서는 시스템 할당 관리 ID가 없는 VM에서 모든 사용자 할당 관리 ID를 제거하는 방법을 보여줍니다.

    {
        "name": "[variables('vmssName')]",
        "apiVersion": "2018-06-01",
        "location": "[parameters(Location')]",
        "identity": {
            "type": "None"
         }
    }
    

    Microsoft.Compute/virtualMachineScaleSets API 버전 2018-06-01

    가상 머신 확장 집합에서 단일 사용자 할당 관리 ID를 제거하려면 userAssignedIdentities 사전에서 제거합니다.

    시스템 할당 ID가 있는 경우에는 identity 값 아래 type 값에 보관합니다.

    Microsoft.Compute/virtualMachineScaleSets API 버전 2017-12-01

    가상 머신 확장 집합에서 단일 사용자 할당 관리 ID를 제거하려면 identityIds 배열에서 제거합니다.

    시스템 할당 관리 ID가 있는 경우에는 identity 값 아래 type 값에 보관합니다.

다음 단계

이 문서에서는 CURL을 통해 Azure Resource Manager REST 엔드포인트를 호출하여 가상 머신 확장 집합에서 다음과 같은 Azure 리소스 관리 ID 작업을 수행하는 방법을 알아봅니다.

  • Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정
  • Azure 가상 머신 확장 집합에서 사용자 할당 관리 ID 추가 및 제거

아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.

필수 조건

  • Azure 리소스에 대한 관리 ID에 익숙하지 않은 경우 Azure 리소스에 대한 관리 ID란?을 참조하세요. 시스템 할당 및 사용자 할당 관리 ID 형식에 대한 자세한 내용은 관리 ID 형식을 참조하세요.

  • 이 문서의 관리 작업을 수행하려면 계정에 다음과 같은 Azure 역할이 할당되어야 합니다.

    • 가상 머신 참가자: 가상 머신 확장 집합을 만들고, 가상 머신 확장 집합에서 시스템 및/또는 사용자가 할당한 관리 ID를 사용하도록 설정하고 제거합니다.

    • 관리 ID 참가자 역할: 사용자 할당 관리 ID를 만듭니다.

    • 관리 ID 운영자 역할: 가상 머신 확장 집합에 사용자가 할당한 ID를 할당하거나 이 집합에서 사용자 할당 ID를 제거합니다.

    참고 항목

    추가 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.

시스템 할당 관리 ID

이 섹션에서는 CURL을 통해 Azure Resource Manager REST 엔드포인트를 호출하여 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정하는 방법을 알아봅니다.

가상 머신 확장 집합을 만드는 동안 시스템 할당 관리 ID를 사용하도록 설정

시스템 할당 관리 ID를 사용할 수 있는 가상 머신 확장 집합을 만들려면 가상 머신 확장 집합을 만들고 액세스 토큰을 검색하여 CURL을 통해 시스템 할당 관리 ID 유형 값으로 Resource Manager 엔드포인트를 호출해야 합니다.

  1. az group create를 사용하여 가상 머신 확장 집합 및 관련 리소스를 포함하고 배포하기 위한 리소스 그룹을 만듭니다. 대신 사용하려는 리소스 그룹이 이미 있다면 이 단계를 건너뛰어도 됩니다.

    az group create --name myResourceGroup --location westus
    
  2. 가상 머신 확장 집합의 네트워크 인터페이스를 만듭니다.

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. 인증 헤더의 다음 단계에서 시스템 할당 관리 ID로 가상 머신 확장 집합을 만드는 데 사용할 전달자 액세스 토큰을 검색합니다.

    az account get-access-token
    
  4. Azure Cloud Shell을 통해 CURL을 사용하여 Azure Resource Manager REST 엔드포인트를 호출하는 가상 머신 확장 집합을 만듭니다. 다음 예제에서는 요청 본문에서 "identity":{"type":"SystemAssigned"} 값으로 식별된 시스템 할당 관리 ID를 사용하여 myResourceGroup에서 myVMSS라는 가상 머신 확장 집합을 만듭니다. 전달자 액세스 토큰을 요청한 이전 단계에서 받은 값 및 사용자 환경에 적절한 <SUBSCRIPTION ID> 값으로 <ACCESS TOKEN>을 바꿉니다.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"SystemAssigned"},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"SystemAssigned"
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }  
    

기존 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하도록 설정

기존 가상 머신 확장 집합에 시스템 할당 관리 ID를 사용하려면 액세스 토큰을 얻은 후 CURL을 통해 Resource Manager REST 엔드포인트를 호출하여 ID 유형을 업데이트합니다.

  1. 인증 헤더의 다음 단계에서 시스템 할당 관리 ID로 가상 머신 확장 집합을 만드는 데 사용할 전달자 액세스 토큰을 검색합니다.

    az account get-access-token
    
  2. 다음 CURL 명령을 사용하여 Azure Resource Manager REST 엔드포인트를 호출하면 요청 본문에서 myVMSS라는 가상 머신 확장 집합의 {"identity":{"type":"SystemAssigned"} 값으로 식별된 시스템 할당 관리 ID를 가상 머신 확장 집합에서 사용할 수 있습니다. 전달자 액세스 토큰을 요청한 이전 단계에서 받은 값 및 사용자 환경에 적절한 <SUBSCRIPTION ID> 값으로 <ACCESS TOKEN>을 바꿉니다.

    Important

    가상 머신 확장 집합에 할당된 기존 사용자 할당 관리 ID를 삭제하지 않는지 확인하려면 다음 CURL 명령을 사용하여 사용자 할당 관리 ID를 나열해야 합니다. curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 응답에서 identity 값으로 식별된 사용자 할당 관리 ID가 가상 머신 확장 집합에 할당되어 있는 경우에는 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하면서 사용자 할당 관리 ID를 유지하는 방법을 보여주는 3단계로 건너뜁니다.

     curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"SystemAssigned"
        }
     }
    
  3. 기존 사용자 할당 관리 ID와 함께 시스템 할당 관리 ID를 가상 머신 확장 집합에서 사용하려면 SystemAssignedtype 값에 추가해야 합니다.

    예를 들어, 가상 머신 확장 집합에 사용자 할당 관리 ID ID1ID2가 할당되어 있고 시스템 할당 관리 ID를 가상 머신 확장 집합에 추가하려면 다음 CURL 호출을 사용합니다. <ACCESS TOKEN><SUBSCRIPTION ID>를 사용자 환경에 적절한 값으로 바꿉니다.

    API 버전 2018-06-01은 API 버전 2017-12-01에서 사용된 배열 형식의 identityIds 값과 달리 사전 형식의 userAssignedIdentities 값에 사용자 할당 관리 ID를 저장합니다.

    API 버전 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    API 버전 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하지 않도록 설정

기존 가상 머신 확장 집합에 시스템 할당 ID를 사용하지 않으려면 액세스 토큰을 얻은 후 CURL을 통해 Resource Manager REST 엔드포인트를 호출하여 ID 유형을 None으로 업데이트합니다.

  1. 인증 헤더의 다음 단계에서 시스템 할당 관리 ID로 가상 머신 확장 집합을 만드는 데 사용할 전달자 액세스 토큰을 검색합니다.

    az account get-access-token
    
  2. CURL을 사용하여 Azure Resource Manager REST 엔드포인트를 호출하도록 가상 머신 확장 집합을 업데이트하여 시스템 할당 관리 ID를 사용하지 않도록 설정합니다. 다음 예제에서는 요청 본문에서 myVMSS라는 가상 머신 확장 집합의 {"identity":{"type":"None"}} 값으로 식별되는 시스템 할당 관리 ID를 사용하지 않도록 설정합니다. 전달자 액세스 토큰을 요청한 이전 단계에서 받은 값 및 사용자 환경에 적절한 <SUBSCRIPTION ID> 값으로 <ACCESS TOKEN>을 바꿉니다.

    Important

    가상 머신 확장 집합에 할당된 기존 사용자 할당 관리 ID를 삭제하지 않는지 확인하려면 다음 CURL 명령을 사용하여 사용자 할당 관리 ID를 나열해야 합니다. curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 사용자 할당 관리 ID가 가상 머신 확장 집합에 할당되어 있는 경우에는 가상 머신 확장 집합에서 시스템 할당 관리 ID를 제거하면서 사용자 할당 관리 ID를 유지하는 방법을 보여주는 3단계로 건너뜁니다.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"None"
        }
     }
    

    사용자 할당 관리 ID가 있는 가상 머신 확장 집합에서 시스템 할당 관리 ID를 제거하려면 API 버전 2018-06-01을 사용 중인 경우 UserAssigned 값 및 userAssignedIdentities 사전 값을 유지하면서 {"identity":{"type:" "}} 값에서 SystemAssigned를 제거합니다. API 버전 2017-12-01 이전 버전을 사용 중인 경우 identityIds 배열을 유지합니다.

사용자 할당 관리 ID

이 섹션에서는 CURL을 통해 Azure Resource Manager REST 엔드포인트를 호출하여 가상 머신 확장 집합에서 사용자 할당 관리 ID를 추가 및 제거하는 방법을 알아봅니다.

가상 머신 확장 집합을 만드는 동안 사용자 할당 관리 ID를 할당합니다.

  1. 인증 헤더의 다음 단계에서 시스템 할당 관리 ID로 가상 머신 확장 집합을 만드는 데 사용할 전달자 액세스 토큰을 검색합니다.

    az account get-access-token
    
  2. 가상 머신 확장 집합의 네트워크 인터페이스를 만듭니다.

     az network nic create -g myResourceGroup --vnet-name myVnet --subnet mySubnet -n myNic
    
  3. 인증 헤더의 다음 단계에서 시스템 할당 관리 ID로 가상 머신 확장 집합을 만드는 데 사용할 전달자 액세스 토큰을 검색합니다.

    az account get-access-token
    
  4. 사용자 할당 관리 ID 만들기의 지침에 따라 사용자 할당 관리 ID를 만듭니다.

  5. CURL을 사용하여 Azure Resource Manager REST 엔드포인트를 호출하는 가상 머신 확장 집합을 만듭니다. 다음 예제에서는 요청 본문에서 "identity":{"type":"UserAssigned"} 값으로 식별된 사용자 할당 관리 ID ID1을 사용하여 리소스 그룹 myResourceGroup에서 myVMSS라는 가상 머신 확장 집합을 만듭니다. 전달자 액세스 토큰을 요청한 이전 단계에서 받은 값 및 사용자 환경에 적절한 <SUBSCRIPTION ID> 값으로 <ACCESS TOKEN>을 바꿉니다.

    API 버전 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

    API 버전 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PUT -d '{"sku":{"tier":"Standard","capacity":3,"name":"Standard_D1_v2"},"location":"eastus","identity":{"type":"UserAssigned","identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]},"properties":{"overprovision":true,"virtualMachineProfile":{"storageProfile":{"imageReference":{"sku":"2016-Datacenter","publisher":"MicrosoftWindowsServer","version":"latest","offer":"WindowsServer"},"osDisk":{"caching":"ReadWrite","managedDisk":{"storageAccountType":"StandardSSD_LRS"},"createOption":"FromImage"}},"osProfile":{"computerNamePrefix":"myVMSS","adminUsername":"azureuser","adminPassword":"myPassword12"},"networkProfile":{"networkInterfaceConfigurations":[{"name":"myVMSS","properties":{"primary":true,"enableIPForwarding":true,"ipConfigurations":[{"name":"myVMSS","properties":{"subnet":{"id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"}}}]}}]}},"upgradePolicy":{"mode":"Manual"}}}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
    
    PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "sku":{
           "tier":"Standard",
           "capacity":3,
           "name":"Standard_D1_v2"
        },
        "location":"eastus",
        "identity":{
           "type":"UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        },
        "properties":{
           "overprovision":true,
           "virtualMachineProfile":{
              "storageProfile":{
                 "imageReference":{
                    "sku":"2016-Datacenter",
                    "publisher":"MicrosoftWindowsServer",
                    "version":"latest",
                    "offer":"WindowsServer"
                 },
                 "osDisk":{
                    "caching":"ReadWrite",
                    "managedDisk":{
                       "storageAccountType":"StandardSSD_LRS"
                    },
                    "createOption":"FromImage"
                 }
              },
              "osProfile":{
                 "computerNamePrefix":"myVMSS",
                 "adminUsername":"azureuser",
                 "adminPassword":"myPassword12"
              },
              "networkProfile":{
                 "networkInterfaceConfigurations":[
                    {
                       "name":"myVMSS",
                       "properties":{
                          "primary":true,
                          "enableIPForwarding":true,
                          "ipConfigurations":[
                             {
                                "name":"myVMSS",
                                "properties":{
                                   "subnet":{
                                      "id":"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
                                   }
                                }
                             }
                          ]
                       }
                    }
                 ]
              }
           },
           "upgradePolicy":{
              "mode":"Manual"
           }
        }
     }
    

기존 Azure 가상 머신 확장 집합에 사용자 할당 관리 ID 할당

  1. 인증 헤더의 다음 단계에서 시스템 할당 관리 ID로 가상 머신 확장 집합을 만드는 데 사용할 전달자 액세스 토큰을 검색합니다.

    az account get-access-token
    
  2. 사용자 할당 관리 ID 만들기의 지침에 따라 사용자 할당 관리 ID를 만듭니다.

  3. 가상 머신 확장 집합에 할당된 기존 사용자 또는 시스템 할당 관리 ID를 삭제하지 않는지 확인하려면 다음 CURL 명령을 사용하여 가상 머신 확장 집합에 할당된 ID 유형을 나열해야 합니다. 가상 머신 확장 집합에 할당된 관리 ID가 있는 경우, 해당 ID가 identity 값에 나열됩니다.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>"
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.
  4. 가상 머신 확장 집합에 할당된 사용자 또는 시스템 할당 관리 ID가 없는 경우에는 다음 CURL 명령을 통해 Azure Resource Manager REST 엔드포인트를 호출하여 첫 번째 사용자 할당 관리 ID를 가상 머신 확장 집합에 할당합니다. 가상 머신 확장 집합에 할당된 사용자 또는 시스템 할당 관리 ID가 있는 경우, 시스템 할당 관리 ID를 유지하면서 여러 사용자 할당 관리 ID를 가상 머신 확장 집합에 추가하는 방법을 보여주는 5단계로 건너뜁니다.

    다음 예제에서는 리소스 그룹 myResourceGroup의 가상 머신 확장 집합 myVMSS에 사용자 할당 관리 ID ID1을 할당합니다. 전달자 액세스 토큰을 요청한 이전 단계에서 받은 값 및 사용자 환경에 적절한 <SUBSCRIPTION ID> 값으로 <ACCESS TOKEN>을 바꿉니다.

    API 버전 2018-06-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-12-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"userAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              }
           }
        }
     }
    

    API 버전 2017-12-01

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"userAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"userAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    
  5. 기존 사용자 할당 또는 시스템 할당 관리 ID가 가상 머신 확장 집합에 할당된 경우:

    API 버전 2018-06-01

    사용자 할당 관리 ID를 userAssignedIdentities 사전 값에 추가합니다.

    예를 들어, 현재 가상 머신 확장 집합에 시스템 할당 관리 ID 및 사용자 할당 관리 ID ID1가 할당되어 있고 사용자 할당 관리 ID ID2를 추가하려면 다음을 입력합니다.

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{},"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{}}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1":{
    
              },
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":{
    
              }
           }
        }
     }
    

    API 버전 2017-12-01

    새 사용자 할당 관리 ID를 추가하면서 identityIds 배열 값에 유지하려는 사용자 할당 관리 ID를 유지합니다.

    예를 들어, 현재 가상 머신 확장 집합에 시스템 할당 관리 ID 및 사용자 할당 관리 ID ID1가 할당되어 있고 사용자 할당 관리 ID ID2를 추가하려면 다음을 입력합니다.

    curl  'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1","/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1",
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2"
           ]
        }
     }
    

가상 머신 확장 집합에서 사용자가 할당한 관리 ID 제거

  1. 인증 헤더의 다음 단계에서 시스템 할당 관리 ID로 가상 머신 확장 집합을 만드는 데 사용할 전달자 액세스 토큰을 검색합니다.

    az account get-access-token
    
  2. 가상 머신 확장 집합에 할당된 상태를 유지할 기존 사용자 할당 관리 ID를 삭제하거나 시스템 할당 관리 ID를 제거하지 않는지 확인하려면 다음 CURL 명령을 사용하여 관리 ID를 나열해야 합니다.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01' -H "Authorization: Bearer <ACCESS TOKEN>" 
    
    GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.Compute/virtualMachineScaleSets/<VMSS NAME>?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    VM에 관리 ID가 할당되어 있는 경우, identity 값의 응답으로 해당 ID가 나열됩니다.

    예를 들어 사용자 할당 관리 ID ID1ID2가 가상 머신 확장 집합에 할당되고 ID1의 할당 상태 및 시스템 할당 관리 ID를 유지하려는 경우,

    API 버전 2018-06-01

    제거하려는 사용자 할당 관리 ID에 null을 추가합니다.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned, UserAssigned", "userAssignedIdentities":{"/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null}}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"SystemAssigned, UserAssigned",
           "userAssignedIdentities":{
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID2":null
           }
        }
     }
    

    API 버전 2017-12-01

    identityIds 배열에 유지하려는 사용자 할당 관리 ID만 유지합니다.

    curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01' -X PATCH -d '{"identity":{"type":"SystemAssigned,UserAssigned", "identityIds":["/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"]}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
    
    PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2017-12-01 HTTP/1.1
    

    요청 헤더

    요청 헤더 설명
    Content-Type 필수입니다. application/json로 설정합니다.
    Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

    요청 본문

     {
        "identity":{
           "type":"SystemAssigned,UserAssigned",
           "identityIds":[
              "/subscriptions/<SUBSCRIPTION ID>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ID1"
           ]
        }
     }
    

가상 머신 확장 집합에 시스템 할당 및 사용자 할당 관리 ID가 모두 있는 경우, 다음 명령을 사용하여 시스템 할당만 사용하도록 전환하여 모든 사용자 할당 관리 ID를 제거할 수 있습니다.

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"SystemAssigned"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

요청 헤더

요청 헤더 설명
Content-Type 필수입니다. application/json로 설정합니다.
Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

요청 본문

{
   "identity":{
      "type":"SystemAssigned"
   }
}

가상 머신 확장 집합에 사용자 할당 관리 ID만 있고 이를 모두 제거하려면 다음 명령을 사용합니다.

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01' -X PATCH -d '{"identity":{"type":"None"}}' -H "Content-Type: application/json" -H Authorization:"Bearer <ACCESS TOKEN>"
PATCH https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVMSS?api-version=2018-06-01 HTTP/1.1

요청 헤더

요청 헤더 설명
Content-Type 필수입니다. application/json로 설정합니다.
Authorization 필수입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

요청 본문

{
   "identity":{
      "type":"None"
   }
}

다음 단계

REST를 사용하여 사용자 할당 관리 ID를 만들거나, 나열하거나, 삭제하는 방법에 대한 자세한 내용은 다음을 참조하세요.