在本快速入门指南中,你将创建一个有权创建无限次应用注册的自定义角色,然后将该角色分配给某个用户。 分配了该角色的用户随后可以使用 Microsoft Entra 管理中心、Microsoft Graph PowerShell 或 Microsoft Graph API 创建应用程序注册。 与内置的“应用程序开发人员”角色不同,使用此自定义角色可以创建无限次应用程序注册。 “应用程序开发人员”角色授予该能力,但创建的对象总数限制为 250 个,目的是防止达到目录范围的对象配额。 创建和分配 Microsoft Entra 自定义角色所需的最低特权角色是特权角色管理员。
# Basic role information
$displayName = "Application Registration Creator"
$description = "Can create an unlimited number of application registrations."
$templateId = (New-Guid).Guid
# Set of permissions to grant
$allowedResourceAction =
@(
"microsoft.directory/applications/create"
"microsoft.directory/applications/createAsOwner"
)
$rolePermissions = @{'allowedResourceActions'= $allowedResourceAction}
# Create new custom admin role
$customRole = New-MgRoleManagementDirectoryRoleDefinition -DisplayName $displayName -Description $description -RolePermissions $rolePermissions -TemplateId $templateId -IsEnabled:$true
分配角色
使用以下 PowerShell 脚本分配角色:
# Get the user and role definition you want to link
$user = Get-MgUser -Filter "UserPrincipalName eq 'Adam@contoso.com'"
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Application Registration Creator'"
# Get resource scope for assignment
$resourceScope = '/'
# Create a scoped role assignment
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId $resourceScope -RoleDefinitionId $roleDefinition.Id -PrincipalId $user.Id
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
正文
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "<PROVIDE OBJECTID OF USER TO ASSIGN HERE>",
"roleDefinitionId": "<PROVIDE OBJECTID OF ROLE DEFINITION HERE>",
"directoryScopeId": "/"
}