Microsoft Entra ID에서 관리 ID 보호
이 문서에서는 서비스 간 통신을 보호하기 위해 비밀 및 자격 증명을 관리하는 방법에 대해 알아봅니다. 관리 ID는 Microsoft Entra ID에서 자동으로 관리 ID를 제공합니다. 애플리케이션은 관리 ID를 사용하여 Microsoft Entra 인증을 지원하는 리소스에 연결하고 자격 증명 관리 없이 Microsoft Entra 토큰을 가져옵니다.
관리 ID의 이점
관리 ID를 사용할 경우의 이점:
관리 ID를 사용하면 자격 증명은 Azure에서 완전히 관리되고, 회전되며, 보호됩니다. ID는 Azure 리소스와 함께 제공되고 삭제됩니다. 관리 ID를 사용하면 Azure 리소스가 Microsoft Entra 인증을 지원하는 서비스와 통신할 수 있습니다.
할당된 권한 있는 역할을 포함하여 누구도 자격 증명에 액세스할 수 없으며, 이는 코드에 포함되어 실수로 유출될 수 없습니다.
관리 ID 사용
관리 ID는 Microsoft Entra 인증을 지원하는 서비스 간의 통신에 사용하는 것이 좋습니다. 원본 시스템은 대상 서비스에 대한 액세스를 요청합니다. 모든 Azure 리소스는 원본 시스템일 수 있습니다. 예를 들어, Azure VM(Virtual Machines), Azure Function 인스턴스 및 Azure App Services 인스턴스는 관리 ID를 지원합니다.
관리 ID는 무엇에 사용할 수 있나요? 동영상에서 자세히 알아봅니다.
인증 및 권한 부여
관리 ID를 사용하면 원본 시스템이 소유자 자격 증명 관리 없이 Microsoft Entra ID에서 토큰을 가져옵니다. Azure가 자격 증명을 관리합니다. 원본 시스템에서 가져온 토큰은 인증을 위해 대상 시스템에 제공됩니다.
대상 시스템은 액세스를 허용하도록 원본 시스템을 인증하고 권한을 부여합니다. 대상 서비스가 Microsoft Entra 인증을 지원하는 경우 Microsoft Entra ID에서 발급한 액세스 토큰을 허용합니다.
Azure에는 컨트롤 플레인과 데이터 평면이 있습니다. 컨트롤 플레인에서 리소스를 만들고 데이터 평면에서 액세스합니다. 예를 들어 컨트롤 플레인에서 Azure Cosmos DB 데이터베이스를 만든 다음, 데이터 평면에서 이를 쿼리합니다.
대상 시스템이 인증을 위해 토큰을 수락한 후 컨트롤 플레인 및 데이터 평면에 대한 권한 부여 메커니즘을 지원합니다.
Azure 컨트롤 플레인 작업은 Azure Resource Manager에서 관리하며 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용합니다. 데이터 평면에서 대상 시스템에는 권한 부여 메커니즘이 있습니다. Azure Storage는 데이터 평면에서 Azure RBAC를 지원합니다. 예를 들어 Azure App Service를 사용하는 애플리케이션은 Azure Storage에서 데이터를 읽을 수 있으며 Azure Kubernetes Services를 사용하는 애플리케이션은 Azure Key Vault에 저장된 암호를 읽을 수 있습니다.
자세히 보기:
- Azure Resource Manager란?
- Azure 역할 기반 Azure RBAC란?
- Azure 컨트롤 플레인과 데이터 평면
- 관리 ID를 사용하여 다른 서비스에 액세스할 수 있는 Azure 서비스
시스템 할당 및 사용자 할당 관리 ID
관리 ID에는 시스템 할당과 사용자 할당의 두 가지 형식이 있습니다.
시스템이 할당한 관리형 ID:
- Azure 리소스와의 일 대 일 관계
- 예를 들어 각 VM과 연결된 고유 관리 ID가 있습니다.
- Azure 리소스 수명 주기에 연결됩니다. 리소스가 삭제되면 연결된 관리 ID가 자동으로 삭제됩니다.
- 이 작업은 분리된 계정의 위험을 제거합니다.
사용자 할당 관리 ID
- 수명 주기는 Azure 리소스와 독립적입니다. 수명 주기를 관리합니다.
- Azure 리소스가 삭제될 때 할당된 사용자 할당 관리 ID는 자동으로 삭제되지 않습니다.
- 0개 이상의 Azure 리소스에 사용자 할당 관리 ID 할당
- ID를 미리 만든 다음 나중에 리소스에 할당
Microsoft Entra ID에서 관리 ID 서비스 주체 찾기
관리 ID를 찾으려면 다음을 사용할 수 있습니다.
- Azure Portal의 엔터프라이즈 애플리케이션 페이지
- Microsoft Graph
Azure Portal
Azure Portal의 왼쪽 탐색에서 Microsoft Entra ID를 선택합니다.
왼쪽 탐색 메뉴에서 엔터프라이즈 애플리케이션을 선택합니다.
애플리케이션 형식 열의 값 아래에서 아래쪽 화살표를 선택하여 관리 ID를 선택합니다.
Microsoft Graph
Microsoft Graph에 대한 다음 GET 요청을 사용하여 테넌트의 관리 ID 목록을 가져옵니다.
https://graph.microsoft.com/v1.0/servicePrincipals?$filter=(servicePrincipalType eq 'ManagedIdentity')
이러한 요청을 필터링할 수 있습니다. 자세한 내용은 GET servicePrincipal을 참조하세요.
관리 ID 보안 평가
관리 ID 보안을 평가하려면:
최소 권한 모델이 선택되었는지 확인하기 위해 권한을 검사합니다.
- 다음 Microsoft Graph cmdlet을 사용하여 관리 ID에 할당된 사용 권한을 가져옵니다.
Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId <String>
관리 ID가 관리자 그룹과 같은 권한 있는 그룹의 일부가 아닌지 확인합니다.
- Microsoft Graph를 사용하여 높은 권한을 가진 그룹의 멤버를 열거하려면 다음을 수행합니다.
Get-MgGroupMember -GroupId <String> [-All <Boolean>] [-Top <Int32>] [<CommonParameters>]
관리 ID로 이동
서비스 주체 또는 Microsoft Entra 사용자 계정을 사용하는 경우 관리 ID 사용을 평가합니다. 자격 증명을 보호, 회전 및 관리할 필요가 없습니다.
다음 단계
서비스 계정