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를 사용할 수 있습니다.
- Azure에서 관리 ID를 만듭니다. 시스템 할당 관리 ID 또는 사용자 할당 관리 ID 중에서 선택할 수 있습니다.
- 사용자 할당 관리 ID를 사용하는 경우 가상 머신, Azure Logic App 또는 Azure Web App과 같은 "원본" Azure 리소스에 관리 ID를 할당합니다.
- 관리 ID에 "대상" 서비스에 대한 액세스 권한을 부여합니다.
- 관리 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를 선택하는 경우:
- ID를 만들고, 읽고, 업데이트하고, 삭제할 수 있습니다.
- RBAC 역할 할당을 사용하여 권한을 부여할 수 있습니다.
- 사용자 할당 관리 ID는 둘 이상의 리소스에서 사용할 수 있습니다.
- CRUD 작업은 Azure 활동 로그에서 검토할 수 있습니다.
- Microsoft Entra ID 로그인 로그에서 로그인 작업을 확인합니다.
Azure Resource Manager 템플릿, Azure Portal, Azure CLI, PowerShell 및 REST API를 사용하여 관리 ID에 대한 작업을 수행할 수 있습니다.
다음 단계
- 개발자 소개 및 지침
- VM 시스템 할당 관리 ID를 사용하여 Resource Manager에 액세스
- App Service 및 Azure Functions에 대한 관리 ID를 사용하는 방법
- Azure Container Instances에서 관리 ID를 사용하는 방법
- Microsoft Azure 리소스에 대한 관리 ID 구현
- 관리 ID에 워크로드 ID 페더레이션를 사용하여 비밀을 관리하지 않고 Microsoft Entra로 보호되는 리소스에 액세스