Назначение ролей Microsoft Entra в разных областях
В идентификаторе Microsoft Entra роли обычно назначаются для применения ко всему клиенту. Однако вы также можете назначать роли Microsoft Entra для различных ресурсов, таких как административные единицы или регистрации приложений. Например, можно назначить роль администратора службы поддержки для применения только к определенной административной единице, а не ко всему арендатору. Ресурсы, к которым применяется назначение роли, также называются областью. В этой статье описывается назначение ролей Microsoft Entra в областях регистрации клиентов, административной единицы и приложений. Дополнительные сведения о области см. в разделе "Обзор управления доступом на основе ролей" (RBAC) в идентификаторе Microsoft Entra ID.
Необходимые компоненты
- Администратор привилегированных ролей.
- Пакет SDK Для Microsoft Graph PowerShell, установленный при использовании PowerShell.
- Согласие администратора при использовании обозревателя Graph для API Microsoft Graph.
Дополнительные сведения см. в разделе Предварительные требования для использования PowerShell или песочницы Graph.
Назначение ролей в пределах клиента
В этом разделе описывается назначение ролей в пределах клиента.
Центр администрирования Microsoft Entra
Совет
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
Войдите в Центр администрирования Microsoft Entra как минимум администратор привилегированных ролей.
Перейдите к ролям удостоверений>и администраторам.>
Выберите роль, чтобы изучить ее назначения. Чтобы найти роль, воспользуйтесь фильтром ролей, выбрав Добавить фильтр.
Щелкните элемент Добавить назначения и выберите пользователей, которых нужно назначить этой роли.
Щелкните команду Добавить, чтобы назначить роль.
PowerShell
Выполните следующие действия, чтобы назначить роли Microsoft Entra с помощью PowerShell.
Откройте окно PowerShell. При необходимости используйте install-Module для установки Microsoft Graph PowerShell. Дополнительные сведения см. в разделе Предварительные требования для использования PowerShell или песочницы Graph.
Install-Module Microsoft.Graph -Scope CurrentUser
В окне PowerShell используйте Connect-MgGraph для входа в клиент.
Connect-MgGraph -Scopes "RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
Используйте Get-MgUser , чтобы получить пользователя.
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
Используйте Get-MgRoleManagementDirectoryRoleDefinition , чтобы получить роль, которую вы хотите назначить.
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Billing Administrator'"
Задайте клиент в качестве области назначения ролей.
$directoryScope = '/'
Чтобы назначить роль, используйте New-MgRoleManagementDirectoryRoleAssignment .
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment ` -DirectoryScopeId $directoryScope -PrincipalId $user.Id ` -RoleDefinitionId $roleDefinition.Id
API Microsoft Graph
Выполните эти инструкции, чтобы назначить роль с помощью Microsoft Graph API в Graph Explorer.
Войдите в песочницу Graph.
Чтобы получить список пользователей, используйте API List user.
GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
Чтобы определить роль, которую необходимо назначить, используйте API List unifiedRoleDefinitions.
GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Billing Administrator'
Чтобы назначить роль, используйте API Create unifiedRoleAssignment.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments { "@odata.type": "#microsoft.graph.unifiedRoleAssignment", "principalId": "<provide objectId of the user obtained above>", "roleDefinitionId": "<provide templateId of the role obtained above>", "directoryScopeId": "/" }
Назначение ролей с заданной областью административной единицы
В этом разделе описано, как назначать роли в пределах административной единицы.
Центр администрирования Microsoft Entra
Войдите в Центр администрирования Microsoft Entra как минимум администратор привилегированных ролей.
Перейдите к ролям удостоверений>и подразделениям> администрирования.
Выберите административную единицу.
Выберите роли и администраторы в меню навигации слева, чтобы просмотреть список всех ролей, доступных для назначения в административной единице.
Выберите нужную роль.
Щелкните элемент Добавить назначения и выберите пользователей или группу, которых нужно назначить этой роли.
Нажмите кнопку Добавить, чтобы назначить роль, ограниченную административной единицей.
Примечание.
Здесь вы не увидите весь список встроенных или настраиваемых ролей Microsoft Entra. Это ожидаемо. Мы покажем роли с разрешениями, связанными с объектами, которые поддерживаются в административной единице. Сведения о списке объектов, поддерживаемых в административной единице, см. в разделе "Административные единицы" в идентификаторе Microsoft Entra ID.
PowerShell
Выполните следующие действия, чтобы назначить роли Microsoft Entra в области администрирования с помощью PowerShell.
Откройте окно PowerShell. При необходимости используйте install-Module для установки Microsoft Graph PowerShell. Дополнительные сведения см. в разделе Предварительные требования для использования PowerShell или песочницы Graph.
Install-Module Microsoft.Graph -Scope CurrentUser
В окне PowerShell используйте Connect-MgGraph для входа в клиент.
Connect-MgGraph -Scopes "Directory.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
Используйте Get-MgUser , чтобы получить пользователя.
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
Используйте Get-MgRoleManagementDirectoryRoleDefinition , чтобы получить роль, которую вы хотите назначить.
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition ` -Filter "displayName eq 'User Administrator'"
Используйте Get-MgDirectoryAdministrativeUnit , чтобы получить административную единицу, к которой нужно применить назначение роли.
$adminUnit = Get-MgDirectoryAdministrativeUnit -Filter "displayName eq 'Seattle Admin Unit'" $directoryScope = '/administrativeUnits/' + $adminUnit.Id
Чтобы назначить роль, используйте New-MgRoleManagementDirectoryRoleAssignment .
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment ` -DirectoryScopeId $directoryScope -PrincipalId $user.Id ` -RoleDefinitionId $roleDefinition.Id
API Microsoft Graph
Выполните эти инструкции, чтобы назначить роль в области административной единицы с помощью Microsoft Graph API в Graph Explorer.
Войдите в песочницу Graph.
Чтобы получить список пользователей, используйте API List user.
GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
Чтобы определить роль, которую необходимо назначить, используйте API List unifiedRoleDefinitions.
GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'User Administrator'
Чтобы определить административную единицу, которой необходимо ограничить область назначения ролей, используйте API List administrativeUnits.
GET https://graph.microsoft.com/v1.0/directory/administrativeUnits?$filter=displayName eq 'Seattle Admin Unit'
Чтобы назначить роль, используйте API Create unifiedRoleAssignment.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments { "@odata.type": "#microsoft.graph.unifiedRoleAssignment", "principalId": "<provide objectId of the user obtained above>", "roleDefinitionId": "<provide templateId of the role obtained above>", "directoryScopeId": "/administrativeUnits/<provide objectId of the admin unit obtained above>" }
Примечание.
Здесь directoryScopeId указывается как /administrativeUnits/foo, а не /foo. Это сделано намеренно. Область /administrativeUnits/foo означает, что субъект может управлять элементами административной единицы (в зависимости от назначенной ему роли), а не самой административной единицей. Область /foo означает, что субъект может управлять самим объектом Microsoft Entra. В следующем разделе вы увидите, что используется область /foo, так как роль, область действия которой ограничена зарегистрированным приложением, предоставляет права на управление самим объектом.
Назначение ролей с областью действия, ограниченной зарегистрированным приложением
В этом разделе описано, как назначать роли в переделах регистрации приложения.
Центр администрирования Microsoft Entra
Войдите в Центр администрирования Microsoft Entra как минимум администратор привилегированных ролей.
Перейдите к приложениям> удостоверений>Регистрация приложений.
Выберите приложение. Для поиска приложения можно использовать поле поиска.
Выберите роли и администраторы в меню навигации слева, чтобы просмотреть список всех ролей, доступных для регистрации приложения.
Выберите нужную роль.
Щелкните элемент Добавить назначения и выберите пользователей или группу, которых нужно назначить этой роли.
Нажмите кнопку Добавить, чтобы назначить роль, ограниченную зарегистрированным приложением.
Примечание.
Здесь вы не увидите весь список встроенных или настраиваемых ролей Microsoft Entra. Это ожидаемо. Отображаются роли с разрешениями, относящимися только к управлению зарегистрированными приложениями.
PowerShell
Выполните следующие действия, чтобы назначить роли Microsoft Entra в области приложения с помощью PowerShell.
Откройте окно PowerShell. При необходимости используйте install-Module для установки Microsoft Graph PowerShell. Дополнительные сведения см. в разделе Предварительные требования для использования PowerShell или песочницы Graph.
Install-Module Microsoft.Graph -Scope CurrentUser
В окне PowerShell используйте Connect-MgGraph для входа в клиент.
Connect-MgGraph -Scopes "Application.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
Используйте Get-MgUser , чтобы получить пользователя.
$user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
Используйте Get-MgRoleManagementDirectoryRoleDefinition , чтобы получить роль, которую вы хотите назначить.
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition ` -Filter "displayName eq 'Application Administrator'"
Используйте Get-MgApplication , чтобы получить регистрацию приложения, для которой требуется задать область назначения роли.
$appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'" $directoryScope = '/' + $appRegistration.Id
Чтобы назначить роль, используйте New-MgRoleManagementDirectoryRoleAssignment .
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment ` -DirectoryScopeId $directoryScope -PrincipalId $user.Id ` -RoleDefinitionId $roleDefinition.Id
API Microsoft Graph
Выполните эти инструкции, чтобы назначить роль в области приложения с помощью Microsoft Graph API в Graph Explorer.
Войдите в песочницу Graph.
Чтобы получить список пользователей, используйте API List user.
GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
Чтобы определить роль, которую необходимо назначить, используйте API List unifiedRoleDefinitions.
GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Application Administrator'
Чтобы определить административную единицу, которой необходимо ограничить область назначения ролей, используйте API List applications.
GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'f/128 Filter Photos'
Чтобы назначить роль, используйте API Create unifiedRoleAssignment.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments { "@odata.type": "#microsoft.graph.unifiedRoleAssignment", "principalId": "<provide objectId of the user obtained above>", "roleDefinitionId": "<provide templateId of the role obtained above>", "directoryScopeId": "/<provide objectId of the app registration obtained above>" }
Примечание.
Здесь, в отличие от раздела выше, directoryScopeId указывается как /foo. Это сделано намеренно. Область /foo означает, что субъект может управлять объектом Microsoft Entra. Область /administrativeUnits/foo означает, что субъект может управлять элементами административной единицы (в зависимости от назначенной ему роли), а не самой административной единицей.