Поделиться через


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

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

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

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

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

Microsoft не назначает автоматически роль Системный администратор пользователям с этими ролями Microsoft Entra ID (также называемыми администраторами клиента):

  • Глобальный администратор
  • Администратор Power Platform
  • Администратор Dynamics 365

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

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

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

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

Важно

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

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

Мы поддерживаем повышение прав с помощью 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: допустимый 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. Отобразится панель Системные администраторы. Добавьте себя в роль системного администратора, выбрав пункт Добавить меня.

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

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

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

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

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

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

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