本文說明如何在 Microsoft Entra ID 中建立新的自訂角色。 如需自訂角色的基本知識,請參閱自訂角色概觀。 僅能在目錄層級範圍或應用程式註冊資源範圍指派角色。
自訂角色可以在 Microsoft Entra 系統管理中心上的 [角色和管理員] 頁面中建立。
本文說明如何在 Microsoft Entra ID 中建立新的自訂角色。 如需自訂角色的基本知識,請參閱自訂角色概觀。 僅能在目錄層級範圍或應用程式註冊資源範圍指派角色。
自訂角色可以在 Microsoft Entra 系統管理中心上的 [角色和管理員] 頁面中建立。
如需詳細資訊,請參閱使用 PowerShell 或 Graph 總管的必要條件。
提示
根據您開始使用的入口網站,本文中的步驟可能略有不同。
以至少 [特殊權限角色管理員] 身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別] > [角色與系統管理員] > [角色與系統管理員]。
選取 [新增自訂角色]。
在 [ 基本] 索引 標籤上,提供角色的名稱和描述。
您可以從自定義角色複製基準許可權,但無法複製內建角色。
在 [權限] 索引標籤上選取應用程式註冊的基本屬性和認證屬性所需的權限。 如需每個權限的詳細說明,請參閱 Microsoft Entra ID 中的應用程式註冊子類型和權限。
首先,在搜尋列中輸入「認證」,然後選取 microsoft.directory/applications/credentials/update
權限。
接下來,在搜尋列中輸入「基本」、選取 [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
執行下列步驟:
使用建立 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
值。
使用建立 unifiedRoleAssignment API 指派自訂角色。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
本文
{
"principalId":"<GUID OF USER>",
"roleDefinitionId":"<GUID OF ROLE DEFINITION>",
"directoryScopeId":"/<GUID OF APPLICATION REGISTRATION>"
}
如同內建角色,自訂角色預設會在預設的組織範圍內指派,以授與組織中所有應用程式註冊的存取權限。 此外,自訂角色和一些相關的內建角色 (視 Microsoft Entra 資源類型而定) 也可以在單一 Microsoft Entra 資源的範圍內指派。 如此可讓您授與使用者可更新單一應用程式認證和基本屬性的權限,而不需要建立第二個自訂角色。
以至少 [應用程式開發人員] 身分登入 Microsoft Entra 系統管理中心。
瀏覽至 [身分識別] > [應用程式] > [應用程式註冊]。
選取您要授與管理存取權的應用程式註冊。 您可能必須選取 [所有應用程式],才能查看 Microsoft Entra 組織中應用程式註冊的完整清單。
在應用程式註冊中,選取 [角色和管理員]。 如果您尚未建立,相關指示位於上一個程序中。
選取角色以開啟 [指派] 頁面。
選取 [新增指派] 以新增使用者。 使用者只會獲授與所選應用程式註冊的任何權限。