Управляйте ролями администратора с помощью управления привилегированными пользователями в Microsoft Entra

Использование технологии управления привилегированными пользователями Microsoft Entra (PIM) в центре администрирования Power Platform

Предварительные условия

  • Удалите старые назначения ролей системного администратора в своих средах. Вы можете использовать сценарии PowerShell для инвентаризации и удаления нежелательных пользователей из роли Системный администратор в одной или нескольких средах Power Platform.

Изменения в поддержке функций

Microsoft больше не назначает автоматически роль Система Администратор пользователям с глобальными или сервисными ролями администратора, такими как Power Platform Администратор и Dynamics 365 Администратор.

Эти администраторы могут продолжать входить в Power Platform центр администрирования со следующими привилегиями:

  • Включение или отключение параметров на уровне клиента
  • Просмотр аналитической информации для сред
  • Просмотр данных потребления емкости

Эти администраторы не могут выполнять действия, требующие прямого доступа к Dataverse данным без лицензии. К примерам таких действий относятся следующие:

  • Обновление роли безопасности для пользователя в среде
  • Установка приложений для среды

Важно

Глобальные администраторы, Power Platform администраторы и администраторы служб Dynamics 365 должны выполнить еще один шаг, прежде чем они смогут выполнять действия, требующие доступа Dataverse. Они должны повысить уровень своих привилегий до роли Системный администратор в среде, к которой им нужно получить доступ. Все действия по повышению уровня регистрируются в Microsoft Purview.

Известные ограничения

  • При использовании API вы заметите, что если вызывающей стороной является система Администратор, вызов self-elevate возвращает успешное завершение, а не уведомляет вызывающую сторону о том, что система Администратор уже существует.

  • Пользователю, совершающему вызов, должна быть назначена роль администратора арендатора. Полный список пользователей, соответствующих критериям администратора арендатора, см. разделе Изменения в поддержке функций

  • Если вы являетесь пользователем Dynamics 365 Администратор и среда защищена группой безопасности, вы должны быть участником этой группы безопасности. Это правило не распространяется на пользователей с глобальными ролями Администратор или Power Platform Администратор.

  • API повышения уровня привилегий может быть вызвано только пользователем, которому необходимо повысить свой статус. Он не поддерживает вызовы API от имени другого пользователя в целях повышения уровня прав.

  • Системная роль Администратор, назначенная посредством самостоятельного повышения прав, не удаляется по истечении срока действия назначения роли в Privileged Identity Management. Вам необходимо вручную удалить пользователя из системной роли Администратор. См. деятельность по очистке

  • Обходной путь доступен для клиентов, использующих начальный набор центра передовых технологий Microsoft Power Platform. Дополнительные сведения см. в разделе Проблема с PIM и обходной путь № 8119.

  • Назначения ролей через группы не поддерживаются. Убедитесь, что вы назначаете роли непосредственно пользователю.

Самостоятельное повышения уровня привилегий до роли системного администратора

Мы поддерживаем повышение прав с помощью PowerShell или интуитивно понятного интерфейса в центре администрирования Power Platform.

Заметка

Пользователи, пытающиеся повысить свои права, должны быть глобальными администраторами, администраторами Power Platform или администраторами Dynamics 365. Пользовательский интерфейс в центре администрирования Power Platform недоступен для пользователей с другими ролями администратора Entra ID, и попытка самостоятельного повышения уровня через API PowerShell возвращает ошибку.

Самостоятельное повышение прав через PowerShell

Настройка PowerShell

Установите MSAL модуль PowerShell. Этот модуль необходимо установить только один раз.

Install-Module -Name MSAL.PS

Дополнительные сведения о настройке PowerShell см. в разделе Быстрый запуск веб-API с PowerShell и Visual Studio Code.

Шаг 1. Выполните скрипт для повышения привилегий

В этом скрипте PowerShell вы выполняете следующие действия:

  • Проверка подлинности с помощью API Power Platform.
  • Создание запроса http с идентификатором вашей среды.
  • Вызов конечной точки API для запроса повышения привилегий.
Добавление ИД среды
  1. Получите свой ИД среды на вкладке Среда в Центре администрирования Power Platform.

  2. Добавьте уникальный <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: Уборка

Выполните команду Remove-RoleAssignmentFromUsers для удаления пользователей из роли безопасности "Системный администратор" после истечения срока действия назначения в PIM.

  • -roleName: "Система Администратор" или другая роль
  • -usersFilePath: Путь к CSV-файлу со списком имен основных пользователей (по одному в строке)
  • -environmentUrl: Найдено по адресу admin.powerplatform.microsoft.com.
  • -processAllEnvironments: (Необязательно) Обработайте все ваши среды
  • -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

  1. Войдите в в центр администрирования Power Platform.

  2. На левой панели выберите Среды.

  3. Установите флажок рядом с вашей средой.

  4. Выберите Членство на панели команд, чтобы запросить самостоятельное повышение прав.

  5. Отобразится панель Системные администраторы. Добавьте себя в роль системного администратора, выбрав пункт Добавить меня.

    Используйте опцию меню «Членство», чтобы запросить самостоятельное повышение прав.