本文說明如何使用 Microsoft Entra 系統管理中心、Microsoft Graph PowerShell 或 Microsoft Graph API,建立自定義角色來管理Microsoft Entra 資源的存取權。 如果您想要改為建立自定義角色來管理 Azure 資源的存取權,請參閱 使用 Azure 入口網站建立或更新 Azure 自定義角色。
如需自定義角色的基本概念,請參閱 自定義角色概觀。 角色只能在目錄層級範圍或應用程式註冊資源範圍指派。 如需可在 Microsoft Entra 組織中建立之自定義角色數目上限的資訊,請參閱 Microsoft Entra 服務限制。
先決條件
如需詳細資訊,請參閱 使用PowerShell或 Graph 總管的必要條件。
建立自定義角色
這些步驟說明如何在 Microsoft Entra 系統管理中心建立自定義角色,以管理應用程式註冊。
以至少具特殊許可權的角色管理員身分登入 Microsoft Entra 系統管理中心。
流覽至 Entra ID>角色和系統管理員。
選取 [新增自定義角色]。
在基本標籤上,輸入角色的名稱和描述。
您可以從自定義角色複製基準許可權,但無法複製內建角色。
在 [ 許可權] 索引標籤上,選取管理應用程式註冊基本屬性和認證屬性所需的許可權。 如需每個許可權的詳細描述,請參閱 Microsoft Entra ID中的 應用程式註冊子類型和許可權。
首先,在搜尋列中輸入「認證」,然後選取 microsoft.directory/applications/credentials/update
許可權。
接下來,在搜尋列中輸入“basic”,選取 microsoft.directory/applications/basic/update
許可權,然後按 [ 下一步]。
在 [檢閱 + 建立] 索引標籤上檢閱權限,然後選取 [建立]。
您的自定義角色會顯示在要指派的可用角色清單中。
登錄
使用 Connect-MgGraph 命令登入您的租戶。
Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
建立自定義角色
使用下列 PowerShell 腳本建立新角色:
# Basic role information
$displayName = "Application Support Administrator"
$description = "Can manage basic aspects of application registrations."
$templateId = (New-Guid).Guid
# Set of permissions to grant
$rolePermissions = @{
"allowedResourceActions" = @(
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
)
}
# Create new custom admin role
$customAdmin = New-MgRoleManagementDirectoryRoleDefinition -RolePermissions $rolePermissions `
-DisplayName $displayName -Description $description -TemplateId $templateId -IsEnabled:$true
更新自定義角色
# Update role definition
# This works for any writable property on role definition. You can replace display name with other
# valid properties.
Update-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f `
-DisplayName "Updated DisplayName"
刪除自定義角色
# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f
建立自定義角色
請遵循下列步驟:
使用 建立 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 templateId
事先產生 (New-Guid).Guid
值。
使用 建立 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>"
}
相關內容