在 Azure Active Directory 中建立及指派自訂角色

本文說明如何在 Azure Active Directory (Azure AD) 中建立新的自訂角色。 如需自訂角色的基本概念,請參閱自訂角色概觀。 您可以在目錄層級範圍或僅限應用程式註冊資源範圍指派角色。

您可以在 Azure AD 概觀頁面的 [角色和系統管理員] 索引標籤中建立自訂角色。

必要條件

  • Azure AD Premium P1 或 P2 授權
  • 特殊權限角色管理員或全域管理員
  • 使用 PowerShell 時的 AzureADPreview 模組
  • 針對 Microsoft Graph API 使用 Graph 總管時的管理員同意

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

在 Azure 入口網站中建立角色

建立新的自訂角色以授與可管理應用程式註冊的存取權

  1. 登入 Azure 入口網站Azure AD 系統管理中心

  2. 選取 [Azure Active Directory]>[角色和系統管理員]>[新增自訂角色]。

    Create or edit roles from the Roles and administrators page

  3. 在 [基本資訊] 索引標籤上提供角色的名稱和說明,然後按 [下一步]。

    provide a name and description for a custom role on the Basics tab

  4. 在 [權限] 索引標籤上,選取要管理應用程式註冊的基本屬性和認證屬性所需的權限。 如需每個權限的詳細說明,請參閱 Azure Active Directory 中的應用程式註冊子類型和權限

    1. 首先,在搜尋列中輸入「認證」,然後選取 [microsoft.directory/applications/credentials/update] 權限。

      Select the permissions for a custom role on the Permissions tab

    2. 接下來,在搜尋列中輸入「基本」、選取 [microsoft.directory/applications/basic/update] 權限,然後按 [下一步]。

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

您的自訂角色就會顯示在可供指派的角色清單中。

使用 PowerShell 建立角色

連線到 Azure

若要連接到 Azure Active Directory,請使用下列命令:

Connect-AzureAD

建立自訂角色

使用下列 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
$allowedResourceAction =
@(
    "microsoft.directory/applications/basic/update",
    "microsoft.directory/applications/credentials/update"
)
$rolePermissions = @{'allowedResourceActions'= $allowedResourceAction}
 
# Create new custom admin role
$customAdmin = New-AzureADMSRoleDefinition -RolePermissions $rolePermissions -DisplayName $displayName -Description $description -TemplateId $templateId -IsEnabled $true

使用 PowerShell 指派自訂角色

使用下列 PowerShell 指令碼指派角色:

# Get the user and role definition you want to link
$user = Get-AzureADUser -Filter "userPrincipalName eq 'cburl@f128.info'"
$roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Application Support Administrator'"

# Get app registration and construct resource scope for assignment.
$appRegistration = Get-AzureADApplication -Filter "displayName eq 'f/128 Filter Photos'"
$resourceScope = '/' + $appRegistration.objectId

# Create a scoped role assignment
$roleAssignment = New-AzureADMSRoleAssignment -DirectoryScopeId $resourceScope -RoleDefinitionId $roleDefinition.Id -PrincipalId $user.objectId

使用 Microsoft Graph API 建立角色

  1. 建立角色定義。

    用來建立自訂角色定義的 HTTP 要求。

    POST

    https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
    

    body

    {
       "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 值。

  2. 建立角色指派。

    用來建立自訂角色定義的 HTTP 要求。

    POST

    https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    

    body

    {
        "principalId":"<GUID OF USER>",
        "roleDefinitionId":"<GUID OF ROLE DEFINITION>",
        "directoryScopeId":"/<GUID OF APPLICATION REGISTRATION>"
    }
    

指派範圍為資源的自訂角色

和內建角色一樣,自訂角色預設也會指派到預設的整個組織範圍,以授與組織中所有應用程式註冊的存取權限。 此外,自訂角色和一些相關的內建角色 (取決於 Azure AD 的資源) 也可以在單一 Azure AD 資源的範圍內指派。 這可讓您向使用者提供可更新單一應用程式認證和基本屬性的權限,而不需要建立第二個自訂角色。

  1. 使用應用程式開發人員權限登入 Azure 入口網站Azure AD 系統管理中心

  2. 選取 [Azure Active Directory]>[應用程式註冊]。

  3. 選取所要授與的管理存取權適用的應用程式註冊。 您可能必須選取 [所有應用程式] 才能查看 Azure AD 組織中的完整應用程式註冊清單。

    Select the app registration as a resource scope for a role assignment

  4. 在 [應用程式註冊] 中選取 [角色和系統管理員]。 如果您尚未建立,相關指示位於上一個程序中。

  5. 選取角色以開啟 [指派] 頁面。

  6. 選取 [新增指派] 以新增使用者。 使用者只會獲得所選應用程式註冊的任何權限。

後續步驟