템플릿을 사용하여 Azure VM에서 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 VM에서 다음과 같은 Azure 리소스 관리 ID 작업을 수행하는 방법을 알아봅니다.
필수 조건
- Azure Resource Manager 배포 템플릿 사용 방법을 잘 모르는 경우 개요 섹션을 확인합니다. 시스템 할당 ID와 사용자 할당 관리 ID의 차이점을 반드시 검토하세요.
- 아직 Azure 계정이 없으면 계속하기 전에 평가판 계정에 등록해야 합니다.
Azure 리소스 관리자 템플릿
Azure Portal 및 스크립팅을 사용할 때와 마찬가지로, Azure Resource Manager 템플릿에서도 Azure 리소스 그룹으로 정의된 새 리소스 또는 수정된 리소스를 배포할 수 있습니다. 다음을 비롯한 로컬 및 포털 기반 템플릿 편집 및 배포에 여러 가지 옵션이 제공됩니다.
- Azure Marketplace의 사용자 지정 템플릿을 사용하여 템플릿을 처음부터 만들거나 기존의 공통 템플릿 또는 빠른 시작 템플릿을 기반으로 템플릿을 만듭니다.
- 원본 배포 또는 배포의 현재 상태에서 템플릿을 내보내 기존 리소스 그룹에서 템플릿을 파생합니다.
- 로컬 JSON 편집기(예: VS Code)를 사용하는 경우 PowerShell 또는 CLI를 사용하여 템플릿을 업로드하고 배포합니다.
- Visual Studio Azure 리소스 그룹 프로젝트를 사용하여 템플릿을 만들고 배포합니다.
선택한 옵션에 관계 없이 초기 배포 및 재배포 시 템플릿 구문은 동일합니다. 새 VM이나 기본 VM에서 시스템 또는 사용자 할당 관리 ID를 사용하도록 설정하는 작업은 동일한 방식으로 수행됩니다. 또한 기본적으로 Azure Resource Manager는 배포에 대해 증분 업데이트를 수행합니다.
시스템 할당 관리 ID
이 섹션에서는 Azure Resource Manager 템플릿을 사용하여 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정합니다.
Azure VM 생성 중에 또는 기존 VM에서 시스템 할당 관리 ID 사용
VM에서 시스템 할당 관리 ID를 사용하도록 설정하려면 계정에 가상 머신 기여자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.
Azure에 로컬로 로그인하든지 또는 Azure Portal을 통해 로그인하든지 상관없이 VM을 포함하는 Azure 구독과 연결된 계정을 사용합니다.
시스템 할당 관리 ID를 사용하도록 설정하려면 편집기에 템플릿을 로드하고
resources
섹션 내에서 관심이 있는Microsoft.Compute/virtualMachines
리소스를 찾아서"type": "Microsoft.Compute/virtualMachines"
속성과 같은 수준으로"identity"
속성을 추가합니다. 다음 구문을 사용합니다."identity": { "type": "SystemAssigned" },
완료되면 템플릿의
resource
섹션에 다음 섹션을 추가해야 하며 이는 다음과 유사해야 합니다."resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "SystemAssigned", } } ]
VM의 시스템 할당 관리 ID에 역할 할당
VM에서 시스템 할당 관리 ID를 사용하도록 설정한 후 해당 VM이 만들어진 리소스 그룹에 대한 읽기 권한자 액세스 등의 역할을 ID에 부여하는 것이 좋습니다. Azure Resource Manager 템플릿을 사용하여 Azure 역할 할당 문서에서 이 단계를 수행하는 데 도움이 되는 자세한 정보를 찾을 수 있습니다.
Azure VM에서 시스템 할당 관리 ID를 사용하지 않도록 설정
VM에서 시스템 할당 관리 ID를 제거하려면 계정에 가상 머신 기여자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.
Azure에 로컬로 로그인하든지 또는 Azure Portal을 통해 로그인하든지 상관없이 VM을 포함하는 Azure 구독과 연결된 계정을 사용합니다.
템플릿을 편집기에 로드하고
resources
섹션 내에서 관심 있는Microsoft.Compute/virtualMachines
리소스를 찾습니다. VM에 시스템 할당 관리 ID만 있는 경우, ID 형식을None
으로 변경하여 VM을 사용하지 않도록 설정할 수 있습니다.Microsoft.Compute/virtualMachines API 버전 2018-06-01
VM에 시스템 할당 관리 ID와 사용자 할당 관리 ID가 둘 다 있는 경우, ID 유형에서
SystemAssigned
를 제거하고userAssignedIdentities
사전 값과 함께UserAssigned
를 유지합니다.Microsoft.Compute/virtualMachines API 버전 2018-06-01
apiVersion
이2017-12-01
이고 VM에 시스템 할당 ID와 사용자 할당 관리 ID가 둘 다 있는 경우, ID 유형에서SystemAssigned
를 제거하고 사용자 할당 관리 ID의identityIds
배열과 함께UserAssigned
를 유지합니다.
다음 예제에서는 사용자 할당 관리 ID가 없는 VM에서 시스템 할당 관리 ID를 제거하는 방법을 보여줍니다.
{
"apiVersion": "2018-06-01",
"type": "Microsoft.Compute/virtualMachines",
"name": "[parameters('vmName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "None"
}
}
사용자 할당 관리 ID
이 섹션에서는 Azure Resource Manager 템플릿을 사용하여 Azure VM에 사용자 할당 관리 ID를 할당합니다.
참고 항목
Azure Resource Manager 템플릿을 사용하여 사용자 할당 관리 ID를 만들려면 사용자 할당 관리 ID 만들기를 참조하세요.
Azure VM에 사용자 할당 관리 ID 할당
VM에 사용자 할당 ID를 할당하려면 계정에 관리 ID 운영자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.
resources
요소 아래에 다음 항목을 추가하여 사용자 할당 관리 ID를 VM에 할당합니다.<USERASSIGNEDIDENTITY>
를 직접 만든 사용자 할당 관리 ID의 이름으로 바꿔야 합니다.Microsoft.Compute/virtualMachines API 버전 2018-06-01
apiVersion
이2018-06-01
이고 사용자 할당 관리 ID가userAssignedIdentities
사전 형식으로 저장되는 경우에는 템플릿의variables
섹션에 정의된 변수에<USERASSIGNEDIDENTITYNAME>
값이 저장되어야 합니다.{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } }
Microsoft.Compute/virtualMachines API 버전 2017-12-01
apiVersion
이2017-12-01
이고 사용자 할당 관리 ID가identityIds
배열에 저장되는 경우에는 템플릿의variables
섹션에 정의된 변수에<USERASSIGNEDIDENTITYNAME>
값이 저장되어야 합니다.{ "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } }
완료되면 템플릿의
resource
섹션에 다음 섹션을 추가해야 하며 이는 다음과 유사해야 합니다.Microsoft.Compute/virtualMachines API 버전 2018-06-01
"resources": [ { //other resource provider properties... "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "userAssignedIdentities": { "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]": {} } } } ]
Microsoft.Compute/virtualMachines API 버전 2017-12-01
"resources": [ { //other resource provider properties... "apiVersion": "2017-12-01", "type": "Microsoft.Compute/virtualMachines", "name": "[variables('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "userAssigned", "identityIds": [ "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('<USERASSIGNEDIDENTITYNAME>'))]" ] } } ]
Azure VM에서 사용자 할당 관리 ID 제거
VM에서 사용자 할당 ID를 제거하려면 계정에 가상 머신 기여자 역할 할당이 필요합니다. 다른 Microsoft Entra 디렉터리 역할 할당은 필요하지 않습니다.
Azure에 로컬로 로그인하든지 또는 Azure Portal을 통해 로그인하든지 상관없이 VM을 포함하는 Azure 구독과 연결된 계정을 사용합니다.
템플릿을 편집기에 로드하고
resources
섹션 내에서 관심 있는Microsoft.Compute/virtualMachines
리소스를 찾습니다. VM에 사용자 할당 관리 ID만 있는 경우, ID 형식을None
으로 변경하여 VM을 사용하지 않도록 설정할 수 있습니다.다음 예제에서는 시스템 할당 관리 ID가 없는 VM에서 모든 사용자 할당 관리 ID를 제거하는 방법을 보여줍니다.
{ "apiVersion": "2018-06-01", "type": "Microsoft.Compute/virtualMachines", "name": "[parameters('vmName')]", "location": "[resourceGroup().location]", "identity": { "type": "None" }, }
Microsoft.Compute/virtualMachines API 버전 2018-06-01
VM에서 단일 사용자 할당 관리 ID를 제거하려면
useraAssignedIdentities
사전에서 제거합니다.시스템 할당 관리 ID가 있는 경우에는
identity
값 아래type
값에 보관합니다.Microsoft.Compute/virtualMachines API 버전 2017-12-01
VM에서 단일 사용자 할당 관리 ID를 제거하려면
identityIds
배열에서 제거합니다.시스템 할당 관리 ID가 있는 경우에는
identity
값 아래type
값에 보관합니다.