本文介绍如何在 Microsoft Entra ID 中创建新的自定义角色。 有关自定义角色的基础知识,请参阅自定义角色概述。 只能在目录级范围或应用注册资源范围中分配角色。
可以在 Microsoft Entra 管理中心的“角色和管理员”页中创建自定义角色。
本文介绍如何在 Microsoft Entra ID 中创建新的自定义角色。 有关自定义角色的基础知识,请参阅自定义角色概述。 只能在目录级范围或应用注册资源范围中分配角色。
可以在 Microsoft Entra 管理中心的“角色和管理员”页中创建自定义角色。
有关详细信息,请参阅使用 PowerShell 的先决条件。
提示
本文中的步骤可能因开始使用的门户而略有不同。
至少以特权角色管理员身份登录到 Microsoft Entra 管理中心。
浏览到“标识”>“角色和管理员”>“角色和管理员”。
选择“新建自定义角色”。
在“基本信息”页上,提供角色的名称和说明。
可以通过自定义角色克隆基线权限,但无法克隆内置角色。
在“权限”选项卡中,选择管理应用注册的基本属性和凭据属性所需的权限。 有关每个权限的详细说明,请参阅Microsoft Entra ID 中的应用程序注册子类型和权限。
首先在搜索栏中输入“credentials”,然后选择 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"
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://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 (New-Guid).Guid
来生成 templateId
值。
使用 Create unifiedRoleAssignment API 分配自定义角色。
POST https://microsoftgraph.chinacloudapi.cn/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 组织中应用注册的完整列表。
在应用注册中,选择“角色和管理员”。 如果尚未创建,请按上一过程中的说明操作。
选择角色以打开“分配”页。
选择“添加分配”以添加用户。 用户将仅被授予对所选应用注册的任何权限。