在本快速入門指南中,您要建立自訂角色,並使其有權建立不限數目的應用程式註冊,然後將該角色指派給使用者。 然後,指派的使用者可使用 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/roleDefinitions
本文
{
"description": "Can create an unlimited number of application registrations.",
"displayName": "Application Registration Creator",
"isEnabled": true,
"rolePermissions":
[
{
"allowedResourceActions":
[
"microsoft.directory/applications/create"
"microsoft.directory/applications/createAsOwner"
]
}
],
"templateId": "<PROVIDE NEW GUID HERE>",
"version": "1"
}
指派角色
使用建立 unifiedRoleAssignment API 指派自訂角色。 角色指派結合了安全性主體識別碼 (可以是使用者或服務主體)、角色定義 (角色) 識別碼,以及 Microsoft Entra 資源範圍。
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": "/"
}