將 Azure AD 角色指派給使用者
若要向 Azure Active Directory (Azure AD) 中的使用者授與存取權限,請指派 Azure AD 角色。 角色是權限的集合。 本文描述如何使用 Azure 入口網站和 PowerShell 指派 Azure AD 角色。
必要條件
- 特殊權限角色管理員或全域管理員。 若要知道您的特殊權限角色管理員或全域管理員是誰,請參閱列出 Azure AD 角色指派
- 使用 Privileged Identity Management (PIM) 時的 Azure AD Premium P2 授權
- 使用 PowerShell 時的 AzureADPreview 模組
- 針對 Microsoft Graph API 使用 Graph 總管時的管理員同意
如需詳細資訊,請參閱使用 PowerShell 或 Graph 總管的必要條件。
Azure 入口網站
按照以下步驟使用 Azure 入口網站指派 Azure AD 角色。 根據您是否已啟用 Azure AD Privileged Identity Management (PIM),您的體驗會有所不同。
指派角色
選取 [Azure Active Directory]> [角色和系統管理員] 以查看所有可用角色的清單。
選取角色以查看其指派。
若要協助您找到所需的角色,請使用 [新增篩選條件] 來篩選角色。
選取 [新增指派],然後選取您要指派給此角色的使用者。
如果您看到與下圖不同的內容,您可能已啟用 PIM。 請參閱下一節。
選取 [新增] 以指派角色。
使用 PIM 指派角色
如果您已啟用 Azure AD Privileged Identity Management (PIM),您將擁有額外的角色指派功能。 例如,您可以讓使用者符合角色的資格,或設定持續時間。 啟用 PIM 後,您有兩種方式可以使用 Azure 入口網站指派角色。 您可以使用 [角色和系統管理員] 頁面或 PIM 體驗。 無論哪種方式都使用相同的 PIM 服務。
按照以下步驟使用 [角色和系統管理員] 頁面指派角色。 如果您想使用 Privileged Identity Management 頁面指派角色,請參閱在 Privileged Identity Management 中分指派 Azure AD 角色。
選取 [Azure Active Directory]> [角色和系統管理員] 以查看所有可用角色的清單。
選取角色以查看其符合資格、作用中和已過期的角色指派。
若要協助您找到所需的角色,請使用 [新增篩選條件] 來篩選角色。
選取 [新增指派]。
選取 [未選取成員],然後選取您要指派給此角色的使用者。
選取 [下一步] 。
在 [設定] 索引標籤上,選取您是否要讓此角色指派 [符合資格] 或 [作用中]。
符合資格的角色指派表示使用者必須執行一或多個動作,才能使用此角色。 作用中的角色指派表示使用者不需要執行任何動作就能使用此角色。 如需這些設定含義的詳細資訊,請參閱 PIM 術語。
使用其餘選項來設定指派的持續時間。
選取 [指派] 以指派角色。
PowerShell
按照以下步驟使用 PowerShell 指派 Azure AD 角色。
安裝程式
開啟 PowerShell 視窗,並使用 [匯入-模組] 匯入 AzureADPreview 模組。 如需詳細資訊,請參閱使用 PowerShell 或 Graph 總管的必要條件。
Import-Module -Name AzureADPreview -Force
在 PowerShell 視窗中,使用 [連線-AzureAD] 登入您的租用戶。
Connect-AzureAD
使用 Get-AzureADUser 來取得您想要指派角色的使用者。
$user = Get-AzureADUser -Filter "userPrincipalName eq 'user@contoso.com'"
指派角色
使用 Get-AzureADMSRoleDefinition 取得您想要指派的角色。
$roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Billing Administrator'"
使用 New-AzureADMSRoleAssignment 指派角色。
$roleAssignment = New-AzureADMSRoleAssignment -DirectoryScopeId '/' -RoleDefinitionId $roleDefinition.Id -PrincipalId $user.objectId
使用 PIM 將角色指派為符合資格
如果已啟用 PIM,您將擁有其他功能,如讓使用者符合角色指派的資格,或定義角色指派的開始和結束時間。 這些功能會使用一組不同的 PowerShell 命令。 如需使用 PowerShell 和 PIM 的詳細資訊,請參閱在 Privileged Identity Management 中用於 Azure AD 角色的 PowerShell。
使用 Get-AzureADMSRoleDefinition 取得您想要指派的角色。
$roleDefinition = Get-AzureADMSRoleDefinition -Filter "displayName eq 'Billing Administrator'"
使用 Get-AzureADMSPrivilegedResource 取得具有特殊權限的資源。 在此情況下,您的租用戶。
$aadTenant = Get-AzureADMSPrivilegedResource -ProviderId aadRoles
使用 [新-物件] 建立新的
AzureADMSPrivilegedSchedule
物件以定義角色指派的開始和結束時間。$schedule = New-Object Microsoft.Open.MSGraph.Model.AzureADMSPrivilegedSchedule $schedule.Type = "Once" $schedule.StartDateTime = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffZ") $schedule.EndDateTime = "2021-07-25T20:00:00.000Z"
使用 Open-AzureADMSPrivilegedRoleAssignmentRequest 將角色指派為符合資格。
$roleAssignmentEligible = Open-AzureADMSPrivilegedRoleAssignmentRequest -ProviderId 'aadRoles' -ResourceId $aadTenant.Id -RoleDefinitionId $roleDefinition.Id -SubjectId $user.objectId -Type 'AdminAdd' -AssignmentState 'Eligible' -schedule $schedule -reason "Review billing info"
Microsoft Graph API
按照以下指示在 [Graph 總管] 中使用 Microsoft Graph API 指派角色。
指派角色
在此範例中,objectID f8ca5a85-489a-49a0-b555-0a6d81e56f0d
的安全主體在租用戶範圍內予以指派計費管理員角色 (角色定義識別碼b0f54661-2d74-4c50-afa3-1ec803f12efe
)。 如果您想要查看所有內建角色的不可變角色範本 ID 清單,請參閱 Azure AD 內建角色。
- 登入 [Graph 總管]。
- 從下拉式清單中選取 [POST] 作為 HTTP 方法。
- 將 API 版本選取為 v1.0。
- 使用 [建立 unifiedRoleAssignment] API 指派角色。 將以下詳細資訊新增到 URL 和要求本文,然後選取 [執行查詢]。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Content-type: application/json
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
"directoryScopeId": "/"
}
使用 PIM 指派角色
在此範例中,objectID f8ca5a85-489a-49a0-b555-0a6d81e56f0d
的安全主體予以指派給計費管理員 (角色定義識別碼b0f54661-2d74-4c50-afa3-1ec803f12efe
) 有時間限制的符合資格角色指派,為期 180 天。
- 登入 [Graph 總管]。
- 從下拉式清單中選取 [POST] 作為 HTTP 方法。
- 將 API 版本選取為 beta (搶鮮版 (Beta))。
- 使用 Create unifiedRoleEligibilityScheduleRequest API 以使用 PIM 指派角色。 將以下詳細資訊新增到 URL 和要求本文,然後選取 [執行查詢]。
POST https://graph.microsoft.com/beta/rolemanagement/directory/roleEligibilityScheduleRequests
Content-type: application/json
{
"action": "AdminAssign",
"justification": "for managing admin tasks",
"directoryScopeId": "/",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
"roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
"scheduleInfo": {
"startDateTime": "2021-07-15T19:15:08.941Z",
"expiration": {
"type": "AfterDuration",
"duration": "PT180D"
}
}
}
在下列範例中,安全主體予以指派給計費管理員的永久符合資格角色指派。
POST https://graph.microsoft.com/beta/rolemanagement/directory/roleEligibilityScheduleRequests
Content-type: application/json
{
"action": "AdminAssign",
"justification": "for managing admin tasks",
"directoryScopeId": "/",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
"roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
"scheduleInfo": {
"startDateTime": "2021-07-15T19:15:08.941Z",
"expiration": {
"type": "NoExpiration"
}
}
}
若要啟用角色指派,請使用 [建立 unifiedRoleAssignmentScheduleRequest] API。
POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests
Content-type: application/json
{
"action": "SelfActivate",
"justification": "activating role assignment for admin privileges",
"roleDefinitionId": "b0f54661-2d74-4c50-afa3-1ec803f12efe",
"directoryScopeId": "/",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
}