Создание пользовательских ролей для управления корпоративными приложениями в идентификаторе Microsoft Entra

В этой статье объясняется, как создать пользовательскую роль с разрешениями на управление назначениями корпоративных приложений для пользователей и групп в идентификаторе Microsoft Entra. Сведения об элементах назначений ролей и значении терминов, таких как подтип, разрешение и набор свойств, см. в обзоре настраиваемых ролей.

Необходимые компоненты

  • Лицензия Microsoft Entra ID P1 или P2
  • Глобальный администратор или администратор привилегированных ролей.
  • Пакет SDK Для Microsoft Graph PowerShell, установленный при использовании PowerShell
  • Согласие администратора при использовании песочницы Graph для API Microsoft Graph.

Дополнительные сведения см. в разделе Предварительные требования для использования PowerShell или песочницы Graph.

Разрешения ролей корпоративных приложений

В этой статье будут рассмотрены два разрешения корпоративного приложения. Во всех примерах используется разрешение на обновление.

  • Чтобы считать назначения пользователей и групп в области, предоставьте разрешение microsoft.directory/servicePrincipals/appRoleAssignedTo/read
  • Чтобы управлять назначениями пользователей и групп в области, предоставьте разрешение microsoft.directory/servicePrincipals/appRoleAssignedTo/update

Предоставление разрешения на обновление позволяет назначенному пользователю управлять назначениями пользователей и групп для корпоративных приложений. Область назначений пользователей и (или) групп может быть предоставлена для одного или для всех приложений. Если предоставить разрешение на уровне всей организации, уполномоченный сможет управлять назначениями для всех приложений. Если же на уровне приложения, уполномоченный сможет управлять назначениями только для указанного приложения.

Предоставление разрешения на обновление выполняется в два этапа:

  1. Создайте настраиваемую роль с разрешением microsoft.directory/servicePrincipals/appRoleAssignedTo/update
  2. Предоставьте пользователям или группам разрешения на управление назначениями пользователей и групп для корпоративных приложений. Это можно сделать в том случае, если областью действия является вся организация или одно приложение.

Центр администрирования Microsoft Entra

Создание настраиваемой роли

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

Примечание.

Настраиваемые роли создаются и управляются на уровне всей организации и доступны только на странице "Обзор" организации.

  1. Войдите в Центр администрирования Microsoft Entra как минимум привилегированную роль Администратор istrator.

  2. Перейдите к ролям удостоверений>и администраторам.>

  3. Выберите новую настраиваемую роль.

    Add a new custom role from the roles list in Microsoft Entra ID

  4. На вкладке Основные сведения укажите в качестве имени роли "Управление назначениями пользователей и групп" и в качестве описания роли "Предоставление разрешений на управление назначениями пользователей и групп", а затем нажмите кнопку Далее.

    Provide a name and description for the custom role

  5. На вкладке Разрешения в поле поиска введите "microsoft.directory/servicePrincipals/appRoleAssignedTo/update", а затем установите флажки рядом с нужными разрешениями и нажмите Далее.

    Add the permissions to the custom role

  6. На вкладке Просмотр и создание проверьте разрешения и нажмите кнопку Создать.

    Now you can create the custom role

Назначение роли пользователю с помощью Центра администрирования Microsoft Entra

  1. Войдите в Центр администрирования Microsoft Entra как минимум привилегированную роль Администратор istrator.

  2. Перейдите к ролям удостоверений>и администраторам.>

  3. Выберите роль "Управление назначениями пользователей и групп".

    Open Roles and Administrators and search for the custom role

  4. Выберите Добавить назначение, выберите нужного пользователя и нажмите кнопку Выбрать, чтобы добавить назначение роли пользователю.

    Add an assignment for the custom role to the user

Советы по назначению

  • Чтобы предоставить пользователям разрешения на управление доступом пользователей и групп для всех корпоративных приложений, начните с списка ролей и Администратор istratorов на странице обзора идентификатора Microsoft Entra для вашей организации.

  • Чтобы предоставить назначенным пользователям разрешения на управление доступом пользователей и групп для конкретного корпоративного приложения, перейдите к приложению в идентификаторе Microsoft Entra и откройте список ролей и Администратор istrators для этого приложения. Выберите новую настраиваемую роль и укажите сведения для назначения пользователя или группы. Уполномоченные могут управлять доступом пользователей и групп только для конкретного приложения.

  • Чтобы проверить назначение настраиваемой роли, войдите как уполномоченный и откройте страницу приложения Пользователи и группы, чтобы убедиться, что параметр Добавить пользователя включен.

    Verify the user permissions

PowerShell

Дополнительные сведения см. в статье "Создание и назначение настраиваемой роли в идентификаторе Microsoft Entra ID" и назначение настраиваемых ролей с помощью область ресурсов с помощью PowerShell.

Создание пользовательской роли

Создайте роль с помощью следующего сценария 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

API Microsoft Graph

Используйте API Create unifiedRoleDefinition для создания настраиваемой роли. Дополнительные сведения см. в статье "Создание и назначение настраиваемой роли в идентификаторе Microsoft Entra ID " и назначение пользовательских ролей администратора с помощью API Microsoft Graph.

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"
}

Назначение настраиваемой роли с помощью API Microsoft Graph

Чтобы назначить настраиваемую роль, используйте API Create unifiedRoleAssignment. Назначение роли объединяет идентификатор субъекта безопасности (который может быть пользователем или субъектом-службой), идентификатор определения роли и ресурс 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": "/"
}

Следующие шаги