本文介绍如何在 Microsoft Entra ID 中创建新的自定义角色。 有关自定义角色的基础知识,请参阅自定义角色概述。 只能在目录级范围或应用注册资源范围中分配角色。
可以在 Microsoft Entra 管理中心的“角色和管理员”页中创建自定义角色。
本文介绍如何在 Microsoft Entra ID 中创建新的自定义角色。 有关自定义角色的基础知识,请参阅自定义角色概述。 只能在目录级范围或应用注册资源范围中分配角色。
可以在 Microsoft Entra 管理中心的“角色和管理员”页中创建自定义角色。
有关详细信息,请参阅使用 PowerShell 或 Graph 浏览器的先决条件。
提示
本文中的步骤可能因开始使用的门户而略有不同。
至少以特权角色管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“角色和管理员”>“角色和管理员”。
选择“新建自定义角色”。
在“基本信息”页上,提供角色的名称和说明。
可以通过自定义角色克隆基线权限,但无法克隆内置角色。
在“权限”选项卡中,选择管理应用注册的基本属性和凭据属性所需的权限。 有关每个权限的详细说明,请参阅Microsoft Entra ID 中的应用程序注册子类型和权限。
首先在搜索栏中输入“credentials”,然后选择 microsoft.directory/applications/credentials/update
权限。
接下来,在搜索栏中输入“basic”,选择 microsoft.directory/applications/basic/update
权限,然后单击“下一步”。
在“查看 + 创建”选项卡上查看权限,然后选择“创建” 。
你的自定义角色将显示在要分配的可用角色列表中。
使用 Connect-MgGraph 命令登录到租户。
Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
Create a new role using the following PowerShell script:
# Basic role information
$displayName = "Application Support Administrator"
$description = "Can manage basic aspects of application registrations."
$templateId = (New-Guid).Guid
# Set of permissions to grant
$allowedResourceAction =
@(
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
)
$rolePermissions = @(@{AllowedResourceActions= $allowedResourceAction})
# Create new custom admin role
$customAdmin = New-MgRoleManagementDirectoryRoleDefinition -RolePermissions $rolePermissions -DisplayName $displayName -IsEnabled -Description $description -TemplateId $templateId
Assign the role using the below PowerShell script:
# Get the user and role definition you want to link
$user = Get-MgUser -Filter "userPrincipalName eq 'user@contoso.com'"
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Application Support Administrator'"
# Get app registration and construct resource scope for assignment.
$appRegistration = Get-MgApplication -Filter "Displayname eq 'MyApp1'"
$resourceScope = '/' + $appRegistration.objectId
# Create a scoped role assignment
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId $resourcescope -RoleDefinitionId $roledefinition.Id -PrincipalId $user.Id
执行以下步骤:
使用 Create unifiedRoleDefinition API 创建自定义角色。
POST https://graph.microsoft.com/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 (New-Guid).Guid
来生成 templateId
值。
使用 Create unifiedRoleAssignment API 分配自定义角色。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Body
{
"principalId":"<GUID OF USER>",
"roleDefinitionId":"<GUID OF ROLE DEFINITION>",
"directoryScopeId":"/<GUID OF APPLICATION REGISTRATION>"
}
与内置角色一样,默认情况下,在默认的组织范围内分配自定义角色,以授予对组织中所有应用注册的访问权限。 此外,还可以在单个 Microsoft Entra 资源的范围中分配自定义角色和一些相关的内置角色(具体取决于 Microsoft Entra 资源的类型)。 这样你就可以被用户分配权限,使之可以更新单个应用的凭据和基本属性,不需创建另一个自定义角色。
以不亚于应用程序开发人员的身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“应用程序”>“应用注册”。
选择要授予其管理权限的应用注册。 可能需要选择“所有应用程序”才能查看 Microsoft Entra 组织中应用注册的完整列表。
在应用注册中,选择“角色和管理员”。 如果尚未创建,请按上一过程中的说明操作。
选择角色以打开“分配”页。
选择“添加分配”以添加用户。 用户将仅被授予对所选应用注册的任何权限。