Azure CLI를 사용하여 가상 머신 확장 집합에서 Azure 리소스에 대한 관리 ID 구성

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

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

이 문서에서는 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 

다음 단계