사용자 할당 관리 ID 관리

Azure 리소스에 대해 관리 ID를 사용하면 코드로 자격 증명을 관리할 필요가 없습니다. 이를 사용하여 애플리케이션에 대한 Azure AD(Azure Active Directory) 토큰을 가져올 수 있습니다. 애플리케이션은 Azure AD 인증을 지원하는 리소스에 액세스할 때 토큰을 사용할 수 있습니다. Azure에서 이 ID를 관리하므로 사용자가 직접 관리할 필요는 없습니다.

관리 ID는 시스템 할당 및 사용자 할당의 두 가지 유형이 있습니다. 시스템 할당 관리 ID의 수명 주기는 해당 ID를 생성한 리소스에 연결되어 있습니다. 사용자가 할당한 관리 ID는 여러 리소스에서 사용할 수 있습니다. 관리 ID에 대한 자세한 내용은 Azure 리소스에 대한 관리 ID란?을 참조하세요.

이 문서에서는 Azure Portal을 사용하여 사용자가 할당한 관리 ID를 만들고 나열하고 삭제하거나 이 ID에 역할을 할당하는 방법을 알아봅니다.

필수 구성 요소

사용자 할당 관리 ID 만들기

사용자 할당 관리 ID를 만들려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

  1. Azure Portal에 로그인합니다.

  2. 검색 상자에 관리 ID를 입력합니다. 서비스에서 관리 ID를 선택합니다.

  3. 추가를 선택하고 사용자가 할당한 관리 ID 만들기 창에서 다음 상자에 값을 입력합니다.

    • 구독: 사용자가 할당한 관리 ID를 만들 구독을 선택합니다.
    • 리소스 그룹: 사용자가 할당한 관리 ID를 만들 리소스 그룹을 선택하거나 새로 만들기를 선택하여 새 리소스 그룹을 만듭니다.
    • 지역: 사용자가 할당한 관리 ID를 배포할 지역(예: 미국 서부)을 선택합니다.
    • 이름: 사용자가 할당한 관리 ID의 이름(예: UAI1)입니다.

    중요

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

    사용자가 할당한 관리 ID 만들기 창을 보여 주는 스크린샷

  4. 검토 + 만들기를 선택하여 변경 내용을 검토합니다.

  5. 만들기를 선택합니다.

사용자 할당 관리 ID 나열

사용자가 할당한 관리 ID를 나열하거나 읽으려면 계정에 관리 ID 운영자 또는 관리 ID 기여자 역할이 할당되어 있어야 합니다.

  1. Azure Portal에 로그인합니다.

  2. 검색 상자에 관리 ID를 입력합니다. 서비스에서 관리 ID를 선택합니다.

  3. 구독의 사용자 할당 관리 ID 목록이 반환됩니다. 사용자가 할당한 관리 ID 세부 정보를 보려면 해당 이름을 선택합니다.

  4. 이제 아래 이미지와 같이 관리 ID에 대한 세부 정보를 볼 수 있습니다.

    사용자가 할당한 관리 ID 목록을 보여 주는 스크린샷

사용자 할당 관리 ID 삭제

사용자 할당 관리 ID를 삭제하려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

사용자가 할당한 ID를 삭제해도 ID가 할당된 VM이나 리소스에서는 ID가 제거되지 않습니다. 사용자가 할당한 ID를 VM에서 제거하려는 경우 Remove a user-assigned managed identity from a VM(VM에서 사용자가 할당한 관리 ID 제거)을 참조하세요.

  1. Azure Portal에 로그인합니다.

  2. 사용자가 할당한 관리 ID를 선택하고 삭제를 선택합니다.

  3. 확인 상자에서 를 선택합니다.

    사용자가 할당한 관리 ID 삭제를 보여 주는 스크린샷

사용자 할당 관리 ID에 대한 액세스 관리

일부 환경에서 관리자는 사용자 할당 관리 ID를 관리할 수 있는 사용자를 제한하도록 선택합니다. 기본 제공 RBAC 역할을 사용하여 이 작업을 수행합니다. 이러한 역할을 사용하여 조직의 사용자 또는 그룹에 사용자 할당 관리 ID에 대한 권한을 부여할 수 있습니다.

  1. Azure Portal에 로그인합니다.

  2. 검색 상자에 관리 ID를 입력합니다. 서비스에서 관리 ID를 선택합니다.

  3. 구독의 사용자 할당 관리 ID 목록이 반환됩니다. 관리하려는 사용자 할당 관리 ID를 선택합니다.

  4. 액세스 제어(IAM) 를 선택합니다.

  5. 역할 할당 추가를 선택합니다.

    사용자가 할당한 관리 ID 액세스 제어 화면을 보여 주는 스크린샷

  6. 역할 할당 추가 창에서 할당할 역할을 선택하고 다음을 선택합니다.

  7. 역할을 할당해야 할 사용자를 선택합니다.

참고

Azure Portal을 사용하여 리소스에 대한 관리 ID 액세스 할당에서 관리 ID에 역할을 할당하는 방법에 대한 정보를 찾을 수 있습니다.

이 문서에서는 Azure CLI를 사용하여 사용자가 할당한 관리 ID를 만들고 나열하고 삭제하거나 이 ID에 역할을 할당하는 방법을 알아봅니다.

필수 구성 요소

중요

CLI를 사용하는 앱 서비스 주체를 사용할 때 사용자 권한을 수정하려면 CLI의 일부에서 Graph API에 대해 GET 요청을 수행하는 서비스 주체에 Azure Active Directory Graph API의 추가 권한을 제공해야 합니다. 그러지 않으면 “작업을 완료할 수 있는 권한이 없습니다.” 메시지가 표시될 수 있습니다. 이 단계를 수행하려면 Azure AD의 앱 등록으로 이동하여 앱을 선택하고 API 권한을 선택한 다음, 아래로 스크롤하여 Azure Active Directory Graph를 선택합니다. 여기에서 애플리케이션 권한을 선택하고 적절한 권한을 추가합니다.

사용자 할당 관리 ID 만들기

사용자 할당 관리 ID를 만들려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

사용자 할당 관리 ID를 만들려면 az identity create 명령을 사용합니다. -g 매개 변수는 사용자가 할당한 관리 ID를 만들 리소스 그룹을 지정합니다. -n 매개 변수는 이름을 지정합니다. <RESOURCE GROUP><USER ASSIGNED IDENTITY NAME> 매개 변수 값을 원하는 값으로 바꿉니다.

중요

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

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

사용자 할당 관리 ID 나열

사용자가 할당한 관리 ID를 나열하거나 읽으려면 계정에 관리 ID 운영자 또는 관리 ID 기여자 역할 할당이 필요합니다.

사용자 할당 관리 ID를 나열하려면 az identity list 명령을 사용합니다. <RESOURCE GROUP> 값을 원하는 값으로 바꿉니다.

az identity list -g <RESOURCE GROUP>

JSON 응답에서 사용자가 할당한 관리 ID에는 키 type에 대해 반환된 "Microsoft.ManagedIdentity/userAssignedIdentities" 값이 있습니다.

"type": "Microsoft.ManagedIdentity/userAssignedIdentities"

사용자 할당 관리 ID 삭제

사용자 할당 관리 ID를 삭제하려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

사용자 할당 관리 ID를 삭제하려면 az identity delete 명령을 사용합니다. -n 매개 변수는 이름을 지정합니다. -g 매개 변수는 사용자가 할당한 관리 ID가 만들어진 리소스 그룹을 지정합니다. <USER ASSIGNED IDENTITY NAME><RESOURCE GROUP> 매개 변수 값을 원하는 값으로 바꿉니다.

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

참고

사용자가 할당한 관리 ID를 삭제해도 할당된 리소스에서 참조는 제거되지 않습니다. az vm/vmss identity remove 명령을 사용하여 VM 또는 가상 머신 확장 집합에서 제거합니다.

다음 단계

Azure CLI identity 명령의 전체 목록을 보려면 az identity를 참조하세요.

사용자가 할당한 관리 ID를 Azure VM에 할당하는 방법에 대한 내용은 Azure CLI를 사용하여 Azure VM에서 Azure 리소스에 대한 관리 ID 구성을 참조하세요.

관리 ID에 워크로드 ID 페더레이션을 사용하여 비밀을 관리하지 않고 Azure AD(Azure Active Directory)로 보호된 리소스에 액세스하는 방법을 알아봅니다.

이 문서에서는 PowerShell을 사용하여 사용자가 할당한 관리 ID를 만들고 나열하고 삭제하거나 이 ID에 역할을 할당하는 방법을 알아봅니다.

필수 구성 요소

  • Azure 리소스에 대한 관리 ID를 잘 모르는 경우 개요 섹션을 확인하세요. 시스템 할당 ID와 사용자 할당 관리 ID의 차이점을 반드시 검토하세요.
  • 아직 Azure 계정이 없으면 계속하기 전에 체험 계정에 등록해야 합니다.
  • 예제 스크립트를 실행하려면 다음 두 가지 옵션을 사용합니다.
    • 코드 블록의 오른쪽 위 모서리에 있는 사용해 보기 단추를 사용하여 열 수 있는 Azure Cloud Shell을 사용합니다.
    • 다음 섹션에 설명된 대로 Azure PowerShell을 사용하여 로컬로 스크립트를 실행합니다.

이 문서에서는 PowerShell을 사용하여 사용자가 할당한 관리 ID를 만들고 나열하고 삭제하는 방법을 알아봅니다.

로컬로 Azure PowerShell 구성

Cloud Shell을 사용하는 대신 이 문서에서 Azure PowerShell을 로컬로 사용하려면 다음을 수행합니다.

  1. 아직 설치하지 않은 경우 Azure PowerShell 최신 버전을 설치합니다.

  2. Azure에 로그인합니다.

    Connect-AzAccount
    
  3. PowerShellGet 최신 버전을 설치합니다.

    Install-Module -Name PowerShellGet -AllowPrerelease
    

    다음 단계에서 이 명령을 실행한 후 현재 PowerShell 세션에서 Exit를 제거해야 합니다.

  4. Az.ManagedServiceIdentity 모듈의 시험판 버전을 설치하여 이 문서에 있는 사용자가 할당한 관리 ID 작업을 수행합니다.

    Install-Module -Name Az.ManagedServiceIdentity -AllowPrerelease
    

사용자 할당 관리 ID 만들기

사용자 할당 관리 ID를 만들려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

사용자 할당 관리 ID를 만들려면 New-AzUserAssignedIdentity 명령을 사용합니다. ResourceGroupName 매개 변수는 사용자가 할당한 관리 ID를 만들 리소스 그룹을 지정합니다. -Name 매개 변수는 이름을 지정합니다. <RESOURCE GROUP><USER ASSIGNED IDENTITY NAME> 매개 변수 값을 원하는 값으로 바꿉니다.

중요

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

New-AzUserAssignedIdentity -ResourceGroupName <RESOURCEGROUP> -Name <USER ASSIGNED IDENTITY NAME>

사용자 할당 관리 ID 나열

사용자가 할당한 관리 ID를 나열하거나 읽으려면 계정에 관리 ID 운영자 또는 관리 ID 기여자 역할 할당이 필요합니다.

사용자 할당 관리 ID를 나열하려면 [Get-AzUserAssigned] 명령을 사용합니다. -ResourceGroupName 매개 변수는 사용자 할당 관리 ID가 만들어지는 리소스 그룹을 지정합니다. <RESOURCE GROUP> 값을 원하는 값으로 바꿉니다.

Get-AzUserAssignedIdentity -ResourceGroupName <RESOURCE GROUP>

응답에서 사용자가 할당한 관리 ID에는 키 Type에 대해 반환된 "Microsoft.ManagedIdentity/userAssignedIdentities" 값이 있습니다.

Type :Microsoft.ManagedIdentity/userAssignedIdentities

사용자 할당 관리 ID 삭제

사용자 할당 관리 ID를 삭제하려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

사용자 할당 관리 ID를 삭제하려면 Remove-AzUserAssignedIdentity 명령을 사용합니다. -ResourceGroupName 매개 변수는 사용자가 할당한 ID가 만들어진 리소스 그룹을 지정합니다. -Name 매개 변수는 이름을 지정합니다. <RESOURCE GROUP><USER ASSIGNED IDENTITY NAME> 매개 변수 값을 원하는 값으로 바꿉니다.

Remove-AzUserAssignedIdentity -ResourceGroupName <RESOURCE GROUP> -Name <USER ASSIGNED IDENTITY NAME>

참고

사용자가 할당한 관리 ID를 삭제해도 할당된 리소스에서 참조는 제거되지 않습니다. ID 할당은 별도로 제거해야 합니다.

다음 단계

Azure 리소스용 Azure PowerShell 관리 ID 명령의 전체 목록 및 자세한 내용은 Az.ManagedServiceIdentity를 참조하세요.

관리 ID에 워크로드 ID 페더레이션을 사용하여 비밀을 관리하지 않고 Azure AD(Azure Active Directory)로 보호된 리소스에 액세스하는 방법을 알아봅니다.

이 문서에서는 Azure Resource Manager를 사용하여 사용자가 할당한 관리 ID를 만듭니다.

필수 구성 요소

Resource Manager 템플릿을 사용하여 사용자가 할당한 관리 ID를 나열하고 삭제할 수 없습니다. 사용자 할당 관리 ID를 만들고 나열하려면 아래 문서를 참조하세요.

템플릿 만들기 및 편집

Resource Manager 템플릿을 사용하면 Azure 리소스 그룹에서 정의한 새 리소스 또는 수정된 리소스를 배포할 수 있습니다. 로컬 및 포털 기반 템플릿 편집 및 배포에 여러 가지 옵션이 제공됩니다. 다음과 같습니다.

사용자 할당 관리 ID 만들기

사용자 할당 관리 ID를 만들려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

사용자 할당 관리 ID를 만들려면 다음 템플릿을 사용하세요. <USER ASSIGNED IDENTITY NAME> 값을 원하는 값으로 바꿉니다.

중요

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

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "resourceName": {
          "type": "string",
          "metadata": {
            "description": "<USER ASSIGNED IDENTITY NAME>"
          }
        }
  },
  "resources": [
    {
      "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
      "name": "[parameters('resourceName')]",
      "apiVersion": "2018-11-30",
      "location": "[resourceGroup().location]"
    }
  ],
  "outputs": {
      "identityName": {
          "type": "string",
          "value": "[parameters('resourceName')]"
      }
  }
}

다음 단계

Resource Manager 템플릿을 사용하여 사용자가 할당한 관리 ID를 Azure VM에 할당하려면 템플릿을 사용하여 Azure VM에서 Azure 리소스에 대한 관리 ID 구성을 참조하세요.

관리 ID에 워크로드 ID 페더레이션을 사용하여 비밀을 관리하지 않고 Azure AD(Azure Active Directory)로 보호된 리소스에 액세스하는 방법을 알아봅니다.

이 문서에서는 REST를 사용하여 사용자가 할당한 관리 ID를 만들고 나열하고 삭제하는 방법을 알아봅니다.

필수 구성 요소

이 문서에서는 CURL을 통해 REST API를 호출하여 사용자가 할당한 관리 ID 만들고 나열하고 삭제하는 방법을 알아봅니다.

전달자 액세스 토큰 가져오기

  1. 로컬로 실행하는 경우 Azure CLI를 통해 Azure에 로그인합니다.

    az login
    
  2. Az account get-token을 사용하여 액세스 토큰을 가져옵니다.

    az account get-access-token
    

사용자 할당 관리 ID 만들기

사용자 할당 관리 ID를 만들려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

중요

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

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview' -X PUT -d '{"loc
ation": "<LOCATION>"}' -H "Content-Type: application/json" -H "Authorization: Bearer <ACCESS TOKEN>"
PUT https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview HTTP/1.1

요청 헤더

요청 헤더 Description
Content-Type 필수 사항입니다. application/json로 설정합니다.
권한 부여 필수 사항입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

요청 본문

이름 설명
위치 필수 요소. 리소스 위치.

사용자 할당 관리 ID 나열

사용자가 할당한 관리 ID를 나열하거나 읽으려면 계정에 관리 ID 운영자 또는 관리 ID 기여자 역할 할당이 필요합니다.

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2015-08-31-preview' -H "Authorization: Bearer <ACCESS TOKEN>"
GET https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2015-08-31-preview HTTP/1.1
요청 헤더 Description
Content-Type 필수 사항입니다. application/json로 설정합니다.
권한 부여 필수 사항입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

사용자 할당 관리 ID 삭제

사용자 할당 관리 ID를 삭제하려면 계정에 관리 ID 기여자 역할 할당이 필요합니다.

참고

사용자가 할당한 관리 ID를 삭제해도 할당된 리소스에서 참조는 제거되지 않습니다. CURL을 사용하여 VM에서 사용자가 할당한 관리 ID를 제거하려면 Remove a user-assigned identity from an Azure VM(Azure VM에서 사용자가 할당한 ID 제거)을 참조하세요.

curl 'https://management.azure.com/subscriptions/<SUBSCRIPTION ID>/resourceGroup
s/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview' -X DELETE -H "Authorization: Bearer <ACCESS TOKEN>"
DELETE https://management.azure.com/subscriptions/80c696ff-5efa-4909-a64d-f1b616f423ca/resourceGroups/TestRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER ASSIGNED IDENTITY NAME>?api-version=2015-08-31-preview HTTP/1.1
요청 헤더 Description
Content-Type 필수 사항입니다. application/json로 설정합니다.
권한 부여 필수 사항입니다. 유효한 Bearer 액세스 토큰으로 설정합니다.

다음 단계

CURL을 사용하여 사용자가 할당한 관리 ID를 Azure VM 또는 가상 머신 확장 집합에 지정하는 방법에 대한 내용은 다음을 참조하세요.

관리 ID에 워크로드 ID 페더레이션을 사용하여 비밀을 관리하지 않고 Azure AD(Azure Active Directory)로 보호된 리소스에 액세스하는 방법을 알아봅니다.