共用方式為


快速入門:授與建立無限制應用程式註冊的權限

在本快速入門指南中,您要建立自訂角色,並使其有權建立不限數目的應用程式註冊,然後將該角色指派給使用者。 然後,指派的使用者可使用 Microsoft Entra 系統管理中心、Microsoft Graph PowerShell 或 Microsoft Graph API 來建立應用程式註冊。 與內建應用程式開發人員角色不同,此自訂角色會授與建立不限數目之應用程式註冊的能力。 應用程式開發人員角色會授與此能力,但可建立的物件總數限制為 250 個,以防止達到整個目錄範圍的物件配額。 建立和指派 Microsoft Entra 自訂角色所需的最低特殊權限角色,是特殊權限角色管理員。

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

必要條件

  • Microsoft Entra ID P1 或 P2 授權
  • 特殊權限角色管理員
  • 使用 PowerShell 時的 Microsoft Graph PowerShell 模組
  • 針對 Microsoft Graph API 使用 Graph 總管時的管理員同意

如需詳細資訊,請參閱使用 PowerShell 或 Graph 總管的必要條件

Microsoft Entra 系統管理中心

建立自訂角色

提示

根據您開始的入口網站,本文中的步驟可能略有不同。

  1. 以至少 [特殊權限角色管理員] 身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別]>[角色與系統管理員]>[角色與系統管理員]

  3. 選取 [新增自訂角色]

    從 [角色和系統管理員] 頁面建立或編輯角色

  4. 在 [基本] 索引標籤上,輸入「應用程式註冊建立者」做為角色的名稱,並提供「可建立不限數目的應用程式註冊」做為角色描述,然後選取 [下一步]

    在 [基本資訊] 索引標籤上提供自訂角色的名稱和說明

  5. 在 [權限] 索引標籤上的搜尋方塊中,輸入 "microsoft.directory/applications/create",並選取所需權限旁的核取方塊,然後選取 [下一步]

    在 [權限] 索引標籤上選取自訂角色的權限

  6. 在 [檢閱 + 建立] 索引標籤上檢閱權限,然後選取 [建立]

指派角色

  1. 以至少 [特殊權限角色管理員] 身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別]>[角色與系統管理員]>[角色與系統管理員]

  3. 選取「應用程式註冊建立者」角色,然後選取 [新增指派]

  4. 選取所需的使用者,然後按一下 [選取],將使用者新增至角色。

完成! 在本快速入門中,您已成功建立自訂角色,並使其有權建立不限數目的應用程式註冊,然後將該角色指派給使用者。

提示

若要使用 Microsoft Entra 系統管理中心將角色指派給應用程式,請在 [指派] 頁面的搜尋方塊中輸入應用程式的名稱。 應用程式依預設不會顯示在清單中,但會在搜尋結果中傳回。

應用程式註冊權限

有兩種權限可用來授與建立應用程式註冊的能力,兩者各有其不同的行為。

  • microsoft.directory/applications/createAsOwner:指派此權限會使建立者被新增為已建立應用程式註冊的第一個擁有者,且已建立的應用程式註冊會計入建立者 250 個的物件建立配額中。
  • microsoft.directory/applications/create:指派此權限會使建立者不被新增為已建立之應用程式註冊的第一個擁有者,且已建立的應用程式註冊將不會計入建立者 250 個的物件建立配額中。 請謹慎使用此權限,因為在達到目錄層級配額之前,受託人將可不受限地建立應用程式註冊。 如果同時指派這兩種權限,將優先使用此權限。

PowerShell

建立自訂角色

使用下列 PowerShell 指令碼建立新的角色:

# 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

Microsoft Graph API

建立自訂角色

使用建立 unifiedRoleDefinition API 建立自訂角色。

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": "/"
}

下一步