Microsoft Entra ID에서 엔터프라이즈 앱을 관리하기 위한 사용자 지정 역할 만들기
아티클
이 문서에서는 Microsoft Entra ID에서 사용자 및 그룹에 대한 엔터프라이즈 앱 할당을 관리할 수 있는 권한이 있는 사용자 지정 역할을 만드는 방법을 설명합니다. 역할 할당의 요소와 하위 형식, 권한 및 속성 집합과 같은 용어의 의미에 대해서는 사용자 지정 역할 개요를 참조하세요.
이 문서에서는 두 가지 엔터프라이즈 앱 권한에 대해 설명합니다. 모든 예에서는 업데이트 권한을 사용합니다.
범위에서 사용자 및 그룹 할당을 읽으려면 microsoft.directory/servicePrincipals/appRoleAssignedTo/read 권한을 부여합니다.
범위에서 사용자 및 그룹 할당을 관리하려면 microsoft.directory/servicePrincipals/appRoleAssignedTo/update 권한을 부여합니다.
업데이트 권한을 부여하면 담당자가 엔터프라이즈 앱에 대한 사용자 및 그룹의 할당을 관리할 수 있습니다. 사용자 및/또는 그룹 할당의 범위를 부여하는 것은 단일 애플리케이션 또는 모든 애플리케이션에 대해 가능합니다. 조직 전체 수준에서 부여되는 경우 담당자는 모든 애플리케이션에 대한 할당을 관리할 수 있습니다. 애플리케이션 수준에서 부여되는 경우 담당자는 지정된 애플리케이션에 대한 할당을 관리할 수 있습니다.
업데이트 권한을 부여하는 작업은 다음과 같이 두 단계로 수행됩니다.
권한이 microsoft.directory/servicePrincipals/appRoleAssignedTo/update인 사용자 지정 역할을 만듭니다.
사용자 또는 그룹에게 엔터프라이즈 앱에 대한 사용자 및 그룹 할당을 관리할 수 있는 권한을 부여합니다. 이는 범위를 조직 전체 수준 또는 단일 애플리케이션으로 설정할 수 있는 경우입니다.
할당 추가를 선택하고 원하는 사용자를 선택한 다음 선택을 클릭하여 사용자에게 역할 할당을 추가합니다.
할당 팁
조직 전체에서 모든 엔터프라이즈 앱에 대한 사용자 및 그룹 액세스를 관리하기 위해 담당자에게 권한을 부여하려면 조직에 대한 Microsoft Entra ID 개요 페이지의 조직 전체 역할 및 관리자 목록에서 시작합니다.
담당자에게 특정 엔터프라이즈 앱에 대한 사용자 및 그룹 액세스를 관리할 수 있는 권한을 부여하려면 Microsoft Entra ID에서 해당 앱으로 이동하여 해당 앱의 역할 및 관리자 목록을 엽니다. 새 사용자 지정 역할을 선택하고 사용자 또는 그룹 할당을 완료합니다. 담당자는 특정 앱에 대한 사용자 및 그룹 액세스만 관리할 수 있습니다.
사용자 지정 역할 할당을 테스트하려면 담당자로 로그인하고 애플리케이션의 사용자 및 그룹 페이지를 열어 사용자 추가 옵션이 설정되어 있는지 확인합니다.
자세한 내용은 Microsoft Entra ID 사용자 지정 역할 만들기 및Microsoft Entra 역할 할당 참조하세요.
사용자 지정 역할 만들기
다음 PowerShell 스크립트를 사용하여 새 역할을 만듭니다.
# Basic role information
$description = "Can manage user and group assignments for Applications"
$displayName = "Manage user and group assignments"
$templateId = (New-Guid).Guid
# Set of permissions to grant
$allowedResourceAction = @("microsoft.directory/servicePrincipals/appRoleAssignedTo/update")
$rolePermission = @{'allowedResourceActions'= $allowedResourceAction}
$rolePermissions = $rolePermission
# Create new custom admin role
$customRole = New-MgRoleManagementDirectoryRoleDefinition -Description $description `
-DisplayName $displayName -RolePermissions $rolePermissions -TemplateId $templateId -IsEnabled
사용자 지정 역할 할당
이 PowerShell 스크립트를 사용하여 역할을 할당합니다.
# Get the user and role definition you want to link
$user = Get-MgUser -Filter "userPrincipalName eq 'chandra@example.com'"
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Manage user and group assignments'"
# Get app registration and construct scope for assignment.
$appRegistration = Get-MgApplication -Filter "displayName eq 'My Filter Photos'"
$directoryScope = '/' + $appRegistration.Id
# Create a scoped role assignment
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId $directoryScope `
-PrincipalId $user.Id -RoleDefinitionId $roleDefinition.Id
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
{
"description": "Can manage user and group assignments for Applications.",
"displayName": "Manage user and group assignments",
"isEnabled": true,
"rolePermissions":
[
{
"allowedResourceActions":
[
"microsoft.directory/servicePrincipals/appRoleAssignedTo/update"
]
}
],
"templateId": "<PROVIDE NEW GUID HERE>",
"version": "1"
}
Microsoft Graph API를 사용하여 사용자 지정 역할 할당
Create unifiedRoleAssignment API를 사용하여 사용자 지정 역할을 할당합니다. 역할 할당은 보안 주체 ID(사용자 또는 서비스 주체일 수 있음), 역할 정의 ID 및 Microsoft Entra 리소스 범위를 결합합니다. 역할 할당의 요소에 대한 자세한 내용은 사용자 지정 역할 개요를 참조하세요.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "<PROVIDE OBJECTID OF USER TO ASSIGN HERE>",
"roleDefinitionId": "<PROVIDE OBJECTID OF ROLE DEFINITION HERE>",
"directoryScopeId": "/"
}