使用 Microsoft Entra Privileged Identity Management 管理管理員角色
使用 Microsoft Entra Privileged Identity Management (PIM) 管理 Power Platform 系統管理中心中的高特殊權限管理員角色。
先決條件
- 移除環境中的舊系統管理員角色指派。 您可以使用 PowerShell 指令碼來清查並從一個或多個 Power Platform 環境中的系統管理員角色中移除不需要的使用者。
功能支援的變更
Microsoft 不再自動將 系統系統管理員 角色分配給具有全域或服務級別管理員角色的使用者,例如 Power Platform 系統管理員和 Dynamics 365 系統管理員。
這些管理員可以繼續 Power Platform 使用以下許可權登錄系統管理中心:
- 啟用或停用租用戶層級設定
- 查看環境的分析資訊
- 查看容量使用量
這些管理員無法在沒有許可證的情況下執行需要直接訪問 Dataverse 數據的活動。 這些活動的例子包括:
- 更新環境中使用者的資訊安全角色
- 為環境安裝應用程式
重要
全域管理員、 Power Platform 管理員和 Dynamics 365 服務管理員必須先完成另一個步驟,然後才能執行需要訪問許可權的活動 Dataverse。 他們必須在需要存取的環境中將自己提升為系統管理員角色。 所有提升操作都會記錄到 Microsoft Purview 中。
已知限制
使用 API 時,您會注意到,如果調用方是系統系統管理員,則自我提升調用將返回成功,而不是通知調用方系統系統管理員已存在。
進行呼叫的使用者必須獲指派租用戶管理員角色。 有關滿足租用戶管理員條件的使用者完整清單,請參閱功能支援的變更
如果您是 Dynamics 365 系統管理員並且環境受安全組保護,則必須是該安全組的成員。 此規則不適用於具有全域系統管理員或 Power Platform 系統管理員角色的使用者。
提升 API 只能由需要提升狀態的使用者呼叫。 它不支援代表其他使用者進行 API 呼叫以進行提升。
當 Privileged Identity Management 中的角色分配過期時,不會刪除通過自提升 分配的系統系統管理員角色。 您必須手動將使用者從系統系統管理員角色中刪除。 查看 清理活動
使用 Microsoft Power Platform CoE 入門套件的客戶可以使用解決方法。 有關詳細資訊,請參閱 PIM 問題和解決方法 #8119。
不支援透過群組進行角色指派。 請確保將角色直接指派給使用者。
自我提升至系統管理員角色
我們支援使用 PowerShell 或透過 Power Platform 系統管理中心的直觀體驗進行提升。
注意
嘗試自行提升的使用者必須是全域管理員、Power Platform 管理員或 Dynamics 365 管理員。Power Platform 系統管理中心中的使用者介面不適用於具有其他 Entra ID 管理員角色的使用者,嘗試透過 PowerShell API 自行提升會返回錯誤。
透過 PowerShell 自行提升
設定 PowerShell
安裝 MSAL PowerShell 模組。 您只需要安裝模組一次。
Install-Module -Name MSAL.PS
有關設定 PowerShell 的詳細資訊,請參閱使用 PowerShell 和 Visual Studio Code 快速啟動 Web API。
步驟 1:執行指令碼進行提升
在此 PowerShell 指令碼中,您:
- 使用 Power Platform API 進行驗證。
- 使用您的環境識別碼建置
http
查詢。 - 呼叫 API 端點以要求提升。
新增您的環境識別碼
從 Power Platform 系統管理中心的環境索引標籤中取得環境識別碼。
將您唯一的
<environment id>
新增到指令碼中。
執行指令碼
將指令碼複製並貼上到 PowerShell 主控台中。
# Set your environment ID
$environmentId = "<your environment id>"
Import-Module MSAL.PS
# Authenticate
$AuthResult = Get-MsalToken -ClientId '49676daf-ff23-4aac-adcc-55472d4e2ce0' -Scope 'https://api.powerplatform.com/.default'
$Headers = @{
Authorization = "Bearer $($AuthResult.AccessToken)"
'Content-Type' = "application/json"
}
$uri = "https://api.powerplatform.com/usermanagement/environments/$environmentId/user/applyAdminRole?api-version=2022-03-01-preview";
try {
$postRequestResponse = Invoke-RestMethod -Method Post -Headers $Headers -Uri $uri
}
catch {
# Dig into the exception to get the Response details.
Write-Host "Response CorrelationId:" $_.Exception.Response.Headers["x-ms-correlation-id"]
Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription
$result = $_.Exception.Response.GetResponseStream()
$reader = New-Object System.IO.StreamReader($result)
$reader.BaseStream.Position = 0
$reader.DiscardBufferedData()
$responseBody = $reader.ReadToEnd();
Write-Host $responseBody
}
$output = $postRequestResponse | ConvertTo-Json -Depth 2
Write-Host $output
步驟 2:確認結果
成功後,您會看到類似以下輸出的輸出。 尋找 "Code": "UserExists"
做為您成功提升角色的證明。
{
"errors": [],
"information": [
{
"Subject": "Result",
"Description": "[\"SyncMode: Default\",\"Instance df12c345-7b56-ee10-8bc5-6045bd005555 exists\",\"Instance df85c664-7b78-ee11-8bc5-6045bd005555 in enabled state\",\"Instance Url found https://orgc1234567.crm.dynamics.com\",\"User found in AD tenant\",\"User in enabled state in AD tenant\",\"SystemUser with Id:11fa11ab-4f75-ee11-9999-6045bd12345a, objectId:d111c55c-aab2-8888-86d4-ece1234f11e6 exists in instance\"]",
"Code": "UserExists"
},
{ ... }
}
錯誤
如果您沒有正確的權限,可能會看到錯誤訊息。
"Unable to assign System Administrator security role as the user is not either a Global admin, Power Platform admin, or Dynamics 365 admin. Please review your role assignments in Entra ID and try again later. For help, please reach out to your administrator."
第 3 步:清理活動
在 PIM 中的指派到期後,執行 Remove-RoleAssignmentFromUsers 將使用者從系統管理員資訊安全角色中移除。
-roleName
:“系統系統管理員”或其他角色-usersFilePath
:包含使用者主體名稱清單的 CSV 檔案的路徑 (每行一個)-environmentUrl
:找到於 admin.powerplatform.microsoft.com-processAllEnvironments
:(可選)處理所有環境-geo
:有效的 GEO-outputLogsDirectory
:寫入日誌檔的路徑
範例指令碼
Remove-RoleAssignmentFromUsers
-roleName "System Administrator"
-usersFilePath "C:\Users\<My-Name>\Desktop\<names.csv>"
-environmentUrl "<my-name>-environment.crm.dynamics.com"
# Or, include all your environments
-processAllEnvironments $true
-geo "NA"
-outputLogsDirectory "C:\Users\<My-Name>\Desktop\<log-files>"
透過 Power Platform 系統管理中心自行提升
在左側面板中,選取環境。
選擇環境旁邊的核取標記。
在命令列中選擇成員資格以要求自行提升。
系統管理員窗格隨即顯示。 選擇新增我,將自己新增到系統管理員角色。