本文介绍如何使用 Microsoft Entra 管理中心、Microsoft Graph PowerShell 或 Microsoft Graph API 创建自定义角色来管理对 Microsoft Entra 资源的访问权限。 若要改为创建自定义角色来管理对 Azure 资源的访问权限,请参阅 使用 Azure 门户创建或更新 Azure 自定义角色。
有关自定义角色的基础知识,请参阅 自定义角色概述。 只能在目录级范围或应用注册资源范围中分配角色。 有关可在 Microsoft Entra 组织中创建的自定义角色的最大数目的信息,请参阅 Microsoft Entra 服务限制和限制。
先决条件
有关详细信息,请参阅使用 PowerShell 的先决条件。
创建自定义角色
这些步骤介绍如何在 Microsoft Entra 管理中心创建自定义角色来管理应用注册。
至少以特权角色管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“角色和管理员”>“角色和管理员”。
选择 “新建自定义角色”。
在 “基本信息 ”选项卡上,提供角色的名称和说明。
可以从自定义角色克隆基线权限,但无法克隆内置角色。
在“ 权限 ”选项卡上,选择管理应用注册的基本属性和凭据属性所需的权限。 有关每个权限的详细说明,请参阅Microsoft Entra ID中的 应用程序注册子类型和权限。
首先,在搜索栏中输入“凭据”,然后选择 microsoft.directory/applications/credentials/update
权限。
接下来,在搜索栏中输入“basic”,选择 microsoft.directory/applications/basic/update
权限,然后单击“ 下一步”。
在“ 审阅 + 创建 ”选项卡上,查看权限并选择“ 创建”。
自定义角色将显示在要分配的可用角色列表中。
登录
使用 Connect-MgGraph 命令登录到租户。
Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "RoleManagement.ReadWrite.Directory"
创建自定义角色
使用以下 PowerShell 脚本创建新角色:
# Basic role information
$displayName = "Application Support Administrator"
$description = "Can manage basic aspects of application registrations."
$templateId = (New-Guid).Guid
# Set of permissions to grant
$rolePermissions = @{
"allowedResourceActions" = @(
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
)
}
# Create new custom admin role
$customAdmin = New-MgRoleManagementDirectoryRoleDefinition -RolePermissions $rolePermissions `
-DisplayName $displayName -Description $description -TemplateId $templateId -IsEnabled:$true
更新自定义角色
# Update role definition
# This works for any writable property on role definition. You can replace display name with other
# valid properties.
Update-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f `
-DisplayName "Updated DisplayName"
删除自定义角色
# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f
创建自定义角色
执行以下步骤:
使用 Create unifiedRoleDefinition API 创建自定义角色。
POST https://microsoftgraph.chinacloudapi.cn/v1.0/roleManagement/directory/roleDefinitions
身体
{
"description": "Can manage basic aspects of application registrations.",
"displayName": "Application Support Administrator",
"isEnabled": true,
"templateId": "<GUID>",
"rolePermissions": [
{
"allowedResourceActions": [
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
]
}
]
}
注释
"templateId": "GUID"
是根据要求在正文中发送的可选参数。 如果需要创建具有常见参数的多个不同自定义角色,最好创建模板并定义 templateId
值。 可以使用 PowerShell cmdlet templateId
事先生成 (New-Guid).Guid
值。
使用 Create unifiedRoleAssignment API 分配自定义角色。
POST https://microsoftgraph.chinacloudapi.cn/v1.0/roleManagement/directory/roleAssignments
身体
{
"principalId":"<GUID OF USER>",
"roleDefinitionId":"<GUID OF ROLE DEFINITION>",
"directoryScopeId":"/<GUID OF APPLICATION REGISTRATION>"
}
相关内容