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

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

Azure 리소스용 관리 ID는 Azure Active Directory에서 자동으로 관리되는 ID를 Azure 서비스에 제공합니다. 이 ID를 사용하면 Azure AD 인증을 지원하는 모든 서비스에 인증할 수 있으므로 코드에 자격 증명을 포함할 필요가 없습니다.

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

  • Azure VM에서 시스템 할당 관리 ID를 사용 및 사용하지 않도록 설정
  • Azure VM에서 사용자 할당 관리 ID 추가 및 제거

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

사전 요구 사항

시스템 할당 관리 ID

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

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

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

  1. az group create를 사용하여 VM 및 관련 리소스를 포함하고 배포하는 데 사용할 리소스 그룹을 만듭니다. 대신 사용하려는 리소스 그룹이 이미 있다면 이 단계를 건너뛰어도 됩니다.

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

    az vm create --resource-group myResourceGroup --name myVM --image win2016datacenter --generate-ssh-keys --assign-identity --role contributor --scope mySubscription --admin-username azureuser --admin-password myPassword12
    

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

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

  1. Azure CLI를 로컬 콘솔에서 사용하는 경우 az login을 사용하여 먼저 Azure에 로그인합니다. VM을 포함하는 Azure 구독과 연결된 계정을 사용합니다.

    az login
    
  2. az vm identity assignidentity assign 명령과 함께 사용하여 기존 VM에 시스템 할당 ID를 사용하도록 설정합니다.

    az vm identity assign -g myResourceGroup -n myVm
    

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

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

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

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

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

참고

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

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

사용자 할당 관리 ID

이 섹션에서는 Azure CLI를 사용하여 Azure VM에서 사용자 할당 관리 ID를 추가하고 제거하는 방법을 알아봅니다. VM과 다른 RG에서 사용자 할당 관리 ID를 만드는 경우 관리 ID의 URL을 사용하여 VM에 할당해야 합니다. 예를 들어:

--identities "/subscriptions/<SUBID>/resourcegroups/<RESROURCEGROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER_ASSIGNED_ID_NAME>"

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

VM을 만드는 중 VM에 사용자 할당 ID를 할당하려면 계정에 가상 머신 기여자관리 ID 운영자 역할 할당이 필요합니다. 다른 Azure AD 디렉터리 역할 할당이 필요하지 않습니다.

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

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

    중요

    사용자 할당 관리 ID를 만드는 경우, 영숫자 문자(0-9, a-z, A-Z) 및 하이픈(-)만 지원됩니다. 가상 머신 또는 가상 머신 확장 집합에 대한 할당이 제대로 작동하려면 이름이 24자로 제한됩니다. 자세한 내용은 FAQ 및 알려진 문제를 참조하세요.

    az identity create -g myResourceGroup -n myUserAssignedIdentity
    

    응답에는 다음과 같이 생성된 사용자가 할당한 관리 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/<myUserAssignedIdentity>/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. az vm create를 사용하여 VM을 만듭니다. 다음 예제에서는 --role--scope가 지정된 --assign-identity 매개 변수에서 지정한 대로 새 사용자 할당 ID와 연결된 VM을 만듭니다. <RESOURCE GROUP>, <VM NAME>, <USER NAME>, <PASSWORD>, <USER ASSIGNED IDENTITY NAME>, <ROLE><SUBSCRIPTION> 매개 변수 값을 고유한 값으로 바꾸세요.

    az vm create --resource-group <RESOURCE GROUP> --name <VM NAME> --image UbuntuLTS --admin-username <USER NAME> --admin-password <PASSWORD> --assign-identity <USER ASSIGNED IDENTITY NAME> --role <ROLE> --scope <SUBSCRIPTION> 
    

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

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

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

    중요

    이름에 특수 문자(예: 밑줄)가 있는 사용자 할당 관리 ID를 만드는 기능은 현재 지원되지 않습니다. 영숫자 문자를 사용하세요. 업데이트를 다시 확인하세요. 자세한 내용은 FAQ 및 알려진 문제를 참조하세요.

    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 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"    
    }
    
  2. az vm identity assign을 사용하여 VM에 사용자 할당 ID를 할당합니다. <RESOURCE GROUP><VM NAME> 매개 변수 값을 원하는 값으로 바꾸세요. <USER ASSIGNED IDENTITY NAME>은 이전 단계에서 만든 대로 사용자 할당 관리 ID의 리소스 name 속성입니다. VM과 다른 RG에서 사용자 할당 관리 ID를 만든 경우 관리 ID의 URL을 사용해야 합니다.

    az vm identity assign -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>
    

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

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

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

az vm identity remove -g <RESOURCE GROUP> -n <VM NAME> --identities <USER ASSIGNED IDENTITY>

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

참고

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

az vm update -n myVM -g myResourceGroup --set identity.type="none" identity.userAssignedIdentities=null

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

az vm update -n myVM -g myResourceGroup --set identity.type='SystemAssigned' identity.userAssignedIdentities=null 

다음 단계