Azure 리소스에 대한 관리 ID란?

개발자의 일반적인 과제는 서비스 간의 통신을 보호하는 데 사용되는 비밀, 자격 증명, 인증서 및 키를 관리하는 것입니다. 관리 ID를 통해 개발자는 이러한 자격 증명을 관리할 필요가 없습니다.

개발자는 Azure Key Vault에 비밀을 안전하게 저장할 수 있지만 서비스는 Azure Key Vault에 액세스하는 방법이 필요합니다. 관리 ID는 Microsoft Entra 인증을 지원하는 리소스에 연결할 때 애플리케이션이 사용할 수 있도록 Microsoft Entra ID에서 자동으로 관리 ID를 제공합니다. 애플리케이션은 자격 증명을 관리할 필요 없이 관리 ID를 사용하여 Microsoft Entra 토큰을 가져올 수 있습니다.

다음 비디오에서는 관리 ID를 사용하는 방법을 보여줍니다.

관리 ID를 사용하는 경우 얻을 수 있는 몇 가지 혜택은 다음과 같습니다.

  • 자격 증명을 관리할 필요가 없으며, 자격 증명에 액세스할 수도 없습니다.
  • 관리 ID를 사용하면 자체 애플리케이션을 포함하여 Microsoft Entra 인증을 지원하는 모든 리소스에 인증할 수 있습니다.
  • 관리 ID는 추가 비용 없이 사용할 수 있습니다.

참고 항목

Azure 리소스에 대한 관리 ID는 이전에 MSI(관리 서비스 ID)로 알려진 서비스에 대한 새 이름입니다.

관리 ID 유형

두 가지 종류의 관리 ID가 있습니다.

  • 시스템이 할당. 가상 머신과 같은 일부 Azure 리소스를 사용하면 리소스에서 직접 관리 ID를 사용하도록 설정할 수 있습니다. 시스템 할당 관리 ID를 사용하도록 설정하는 경우:

    • ID에 대한 Microsoft Entra ID에 특별한 형식의 서비스 주체가 만들어집니다. 서비스 주체는 해당 Azure 리소스의 수명 주기에 연결됩니다. Azure 리소스가 삭제되면 Azure는 자동으로 서비스 주체를 삭제합니다.
    • 의도적으로 해당 Azure 리소스만 이 ID를 사용하여 Microsoft Entra ID에서 토큰을 요청할 수 있습니다.
    • 관리 ID에 하나 이상의 서비스에 대한 액세스 권한을 부여합니다.
    • 시스템 할당 서비스 주체의 이름은 생성되는 Azure 리소스의 이름과 항상 동일합니다. 배포 슬롯의 경우 시스템 할당 ID의 이름은 <app-name>/slots/<slot-name>입니다.
  • 사용자 할당. 관리 ID를 독립 실행형 Azure 리소스로 만들 수도 있습니다. 사용자 할당 관리 ID를 만들고 하나 이상의 Azure 리소스에 할당할 수 있습니다. 사용자 할당 관리 ID를 사용하도록 설정하는 경우:

    • ID에 대한 Microsoft Entra ID에 특별한 형식의 서비스 주체가 만들어집니다. 서비스 주체는 서비스 주체를 사용하는 리소스와 별도로 관리됩니다.
    • 사용자가 할당한 ID는 여러 리소스에서 사용될 수 있습니다.
    • 관리 ID에 하나 이상의 서비스에 대한 액세스 권한을 부여합니다.

다음 표에서는 두 가지 유형의 관리 ID 간의 차이점을 보여 줍니다.

속성 시스템 할당 관리 ID 사용자 할당 관리 ID
생성 Azure 리소스(예: Azure Virtual Machines 또는 Azure App Service)의 일부로 생성됩니다. 독립 실행형 Azure 리소스로 생성됩니다.
수명 주기 관리 ID를 만드는 데 사용된 Azure 리소스와 공유되는 수명 주기입니다.
부모 리소스를 삭제하면 관리 ID도 삭제됩니다.
독립적인 수명 주기.
명시적으로 삭제되어야 합니다.
Azure 리소스 전체에서 공유 공유할 수 없습니다.
단일 Azure 리소스하고만 연결할 수 있습니다.
공유할 수 있습니다.
동일한 사용자 할당 관리 ID를 둘 이상의 Azure 리소스와 연결할 수 있습니다.
일반 사용 예 단일 Azure 리소스 내에 포함된 워크로드입니다.
독립 ID가 필요한 워크로드입니다.
예를 들어 단일 가상 머신에서 실행되는 애플리케이션
여러 리소스에서 실행되며 단일 ID를 공유할 수 있는 워크로드입니다.
프로비전 흐름에 보안 리소스 사전 승인이 필요한 워크로드입니다.
리소스가 자주 재활용되지만 권한이 알관적으로 유지되어야 하는 워크로드입니다.
예를 들어 여러 가상 머신이 동일한 리소스에 액세스해야 하는 워크로드가 있습니다.

Azure 리소스에 대한 관리 ID를 사용하는 방법

아래 단계에 따라 관리 ID를 사용할 수 있습니다.

  1. Azure에서 관리 ID를 만듭니다. 시스템 할당 관리 ID 또는 사용자 할당 관리 ID 중에서 선택할 수 있습니다.
    1. 사용자 할당 관리 ID를 사용하는 경우 가상 머신, Azure Logic App 또는 Azure Web App과 같은 "원본" Azure 리소스에 관리 ID를 할당합니다.
  2. 관리 ID에 "대상" 서비스에 대한 액세스 권한을 부여합니다.
  3. 관리 ID를 사용하여 리소스에 액세스합니다. 이 단계에서는 Azure.Identity 라이브러리와 함께 Azure SDK를 사용할 수 있습니다. 일부 "원본" 리소스는 연결에 관리 ID를 사용하는 방법을 알고 있는 커넥터를 제공합니다. 이 경우 "원본" 리소스의 기능으로 ID를 사용할 수 있습니다.

Azure 서비스에서 어떤 기능을 지원하나요?

Azure 리소스에 대한 관리 ID를 사용하여 Microsoft Entra 인증을 지원하는 서비스에 인증할 수 있습니다. 지원되는 Azure 서비스 목록은 Azure 리소스에 대한 관리 ID를 지원하는 서비스를 참조하세요.

관리 ID에서 수행할 수 있는 작업은 무엇입니까?

시스템 할당 관리 ID를 지원하는 리소스를 통해 다음 작업을 수행할 수 있습니다.

  • 리소스 수준에서 관리 ID를 사용하거나 사용하지 않도록 설정합니다.
  • RBAC(역할 기반 액세스 제어)를 사용하여 권한을 부여합니다.
  • Azure 활동 로그에서 CRUD(만들기, 읽기, 업데이트, 삭제) 작업을 봅니다.
  • Microsoft Entra ID 로그인 로그에서 로그인 작업을 확인합니다.

대신 사용자 할당 관리 ID를 선택하는 경우:

Azure Resource Manager 템플릿, Azure Portal, Azure CLI, PowerShell 및 REST API를 사용하여 관리 ID에 대한 작업을 수행할 수 있습니다.

다음 단계