将 Microsoft Entra 角色分配给组
若要简化角色管理,可以将 Microsoft Entra 角色分配给组而不是个人。 本文介绍如何使用 Microsoft Entra 管理中心、PowerShell 或 Microsoft Graph API 将 Microsoft Entra 角色分配给可分配角色的组。
先决条件
- Microsoft Entra ID P1 许可证
- 特权角色管理员角色
- 使用 Microsoft Graph PowerShell 时需要 Microsoft.Graph 模块
- 使用 Azure AD PowerShell 时的 Azure AD PowerShell 模块
- 将 Graph 浏览器用于 Microsoft Graph API 时需要管理员同意
有关详细信息,请参阅使用 PowerShell 或 Graph 浏览器的先决条件。
Microsoft Entra 管理中心
提示
本文中的步骤可能因开始使用的门户而略有不同。
将 Microsoft Entra 角色分配给组类似于分配用户和服务主体,只不过只能使用可分配角色的组。
提示
这些步骤适用于拥有 Microsoft Entra ID P1 许可证的客户。 如果租户中有 Microsoft Entra ID P2 许可证,应转而按照在 Privileged Identity Management 中分配 Microsoft Entra 角色中的步骤操作。
至少以特权角色管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“角色和管理员”>“角色和管理员”。
选择角色名称以打开该角色。 不要勾选该角色。
选择“添加分配”。
如果你看到的内容与以下屏幕截图不同,则你可能具有 Microsoft Entra ID P2。 有关详细信息,请参阅在 Privileged Identity Management 中分配 Microsoft Entra 角色。
选择要分配给此角色的组。 只会显示可分配角色的组。
如果未列出组,则需要创建可分配角色的组。 有关详细信息,请参阅在 Microsoft Entra ID 中创建可分配角色的组。
选择“添加”,将角色分配给组。
PowerShell
创建可分配角色的组
使用 New-MgGroup 命令创建可分配角色的组。
Connect-MgGraph -Scopes "Group.ReadWrite.All","RoleManagement.ReadWrite.Directory"
$group = New-MgGroup -DisplayName "Contoso_Helpdesk_Administrators" -Description "This group has Helpdesk Administrator built-in role assigned to it in Azure AD." -MailEnabled:$false -SecurityEnabled -MailNickName "contosohelpdeskadministrators" -IsAssignableToRole:$true
获取要分配的角色定义
使用 Get-MgRoleManagementDirectoryRoleDefinition 命令获取角色定义。
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Helpdesk Administrator'"
创建角色分配
使用 New-MgRoleManagementDirectoryRoleAssignment 命令分配角色。
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roleDefinition.Id -PrincipalId $group.Id
Microsoft Graph API
创建可分配角色的组
使用创建组 API 创建可分配角色的组。
请求
POST https://graph.microsoft.com/v1.0/groups
{
"description": "This group is assigned to Helpdesk Administrator built-in role of Azure AD.",
"displayName": "Contoso_Helpdesk_Administrators",
"groupTypes": [
"Unified"
],
"isAssignableToRole": true,
"mailEnabled": true,
"mailNickname": "contosohelpdeskadministrators",
"securityEnabled": true
}
响应
HTTP/1.1 201 Created
获取要分配的角色定义
使用 List unifiedRoleDefinitions API 获取角色定义。
请求
GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions?$filter = displayName eq 'Helpdesk Administrator'
响应
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleDefinitions",
"value": [
{
"id": "729827e3-9c14-49f7-bb1b-9608f156bbb8",
"description": "Can reset passwords for non-administrators and Helpdesk Administrators.",
"displayName": "Helpdesk Administrator",
"isBuiltIn": true,
"isEnabled": true,
"resourceScopes": [
"/"
],
...
创建角色分配
使用 Create unifiedRoleAssignment API 分配角色。
请求
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "<Object ID of Group>",
"roleDefinitionId": "<ID of role definition>",
"directoryScopeId": "/"
}
响应
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignments/$entity",
"id": "<Role assignment ID>",
"roleDefinitionId": "<ID of role definition>",
"principalId": "<Object ID of Group>",
"directoryScopeId": "/"
}