템플릿을 사용하여 Azure 가상 머신 확장에서 Azure 리소스에 대한 관리 ID 구성
Azure 리소스에 대한 관리 ID는 Microsoft Entra ID의 기능입니다. Azure 리소스에 대한 관리 ID를 지원하는 각 Azure 서비스는 자체 타임라인을 따릅니다. 시작하기 전에 리소스의 관리 ID 가용성 상태와 알려진 문제를 검토하세요.
Azure 리소스의 관리 ID는 Microsoft Entra ID에서 자동으로 관리되는 ID를 Azure 서비스에 제공합니다. 이 ID를 사용하면 코드에 자격 증명이 없어도 Microsoft Entra 인증을 지원하는 모든 서비스에 인증할 수 있습니다.
이 문서에서는 Azure Resource Manager 배포 템플릿을 사용하여 Azure 가상 머신 확장 집합에서 Azure 리소스에 대한 다음과 같은 관리 ID 작업을 수행하는 방법을 알아봅니다.
- Azure 가상 머신 확장 집합에서 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정
- Azure 가상 머신 확장 집합에서 사용자 할당 관리 ID 추가 및 제거
필수 조건
Azure 리소스에 대한 관리 ID를 잘 모르는 경우 개요 섹션을 확인하세요. 시스템 할당 ID와 사용자 할당 관리 ID의 차이점을 반드시 검토하세요.
아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.
이 문서의 관리 작업을 수행하려면 계정에 다음과 같은 Azure 역할 기반 액세스 제어가 할당되어야 합니다.
참고 항목
추가 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.
Azure 리소스 관리자 템플릿
Azure Portal 및 스크립팅을 사용할 때와 마찬가지로, Azure Resource Manager 템플릿에서도 Azure 리소스 그룹으로 정의된 새 리소스 또는 수정된 리소스를 배포하는 기능을 제공합니다. 다음을 비롯한 로컬 및 포털 기반 템플릿 편집 및 배포에 여러 가지 옵션이 제공됩니다.
- Azure Marketplace의 사용자 지정 템플릿을 사용하여 템플릿을 처음부터 만들거나 기존의 공통 템플릿 또는 빠른 시작 템플릿을 기반으로 템플릿을 만듭니다.
- 원본 배포 또는 배포의 현재 상태에서 템플릿을 내보내 기존 리소스 그룹에서 템플릿을 파생합니다.
- 로컬 JSON 편집기(예: VS Code)를 사용하는 경우 PowerShell 또는 CLI를 사용하여 템플릿을 업로드하고 배포합니다.
- Visual Studio Azure 리소스 그룹 프로젝트를 사용하여 템플릿을 만들고 배포합니다.
선택한 옵션에 관계 없이 초기 배포 및 재배포 시 템플릿 구문은 동일합니다. 새 VM이나 기존 VM에서 Azure 리소스에 대한 관리 ID를 사용하도록 설정하는 작업은 동일한 방식으로 수행됩니다. 또한 기본적으로 Azure Resource Manager는 배포에 대해 증분 업데이트를 수행합니다.
시스템 할당 관리 ID
이 섹션에서는 Azure Resource Manager 템플릿을 사용하여 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정합니다.
가상 머신 확장 집합 또는 기존 가상 머신 확장 집합을 만드는 동안 시스템 할당 관리 ID를 사용하도록 설정
Azure에 로컬로 로그인하든지, 아니면 Azure Portal을 통해 로그인하든지 간에 가상 머신 확장 집합이 포함된 Azure 구독과 연결된 계정을 사용합니다.
시스템 할당 관리 ID를 사용하도록 설정하려면 편집기에 템플릿을 로드하고 리소스 섹션 내에서 관심이 있는
Microsoft.Compute/virtualMachinesScaleSets
리소스를 찾아서"type": "Microsoft.Compute/virtualMachinesScaleSets"
속성과 같은 수준으로identity
속성을 추가합니다. 다음 구문을 사용합니다."identity": { "type": "SystemAssigned" }
완료되면 아래 표시된 예제와 유사한 모양으로 템플릿의 리소스 섹션에 다음 섹션을 추가해야 합니다.
"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가 더 이상 필요하지 않은 가상 머신 확장 집합이 있는 경우 다음을 수행합니다.
Azure에 로컬로 로그인하든지, 아니면 Azure Portal을 통해 로그인하든지 간에 가상 머신 확장 집합이 포함된 Azure 구독과 연결된 계정을 사용합니다.
템플릿을 편집기에 로드하고
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 할당
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
apiVersion
이2017-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>'))]" ] } }
완료되면 템플릿은 다음과 같이 표시됩니다.
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가 더 이상 필요하지 않은 가상 머신 확장 집합이 있는 경우 다음을 수행합니다.
Azure에 로컬로 로그인하든지, 아니면 Azure Portal을 통해 로그인하든지 간에 가상 머신 확장 집합이 포함된 Azure 구독과 연결된 계정을 사용합니다.
템플릿을 편집기에 로드하고
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
값에 보관합니다.