Compartir a través de


Administrar roles de administrador con Privileged Identity Management de Microsoft Entra

Use Microsoft Entra Privileged Identity Management (PIM) para administrar funciones de administrador con altos privilegios en el centro de administración de Power Platform.

Requisitos previos

  • Elimine las asignaciones de roles Administrador del sistema antiguo en sus entornos. Puede utilizar scripts de PowerShell para inventariar y eliminar usuarios no deseados del rol Administrador del sistema en uno o más entornos de Power Platform.

Cambios en la compatibilidad con funciones

Microsoft no asigna automáticamente el rol Administrador del sistema para los usuarios con estos roles de Microsoft Entra ID (también llamados administradores de inquilinos):

  • Administrador global
  • Administrador de Power Platform
  • Administrador de Dynamics 365

Los administradores de inquilinos pueden continuar iniciando sesión en el centro de administración de Power Platform con estos privilegios:

  • Habilitar o deshabilitar la configuración en el nivel de inquilino
  • Ver información analítica para entornos
  • Ver consumo de capacidad

Los administradores de inquilinos no pueden realizar actividades que requieran acceso directo a datos de Dataverse. Algunos ejemplos de estas actividades son:

  • Actualización de rol de seguridad para un usuario en un entorno
  • Instalación de aplicaciones para un entorno

Importante

Los administradores de inquilinos deben realizar un paso más antes de poder realizar actividades que requieran acceso a Dataverse. Deben elevarse a Administrador del sistema en el entorno en el que necesitan acceso. Todas las acciones de elevación se registran en Microsoft Purview.

Autoelevación al rol de administrador del sistema

Admitimos la elevación mediante PowerShell o mediante una experiencia intuitiva en el centro de administración de Power Platform.

Nota

Los usuarios que intenten elevarse automáticamente deben ser administradores globales, administradores de Power Platform o administradores de Dynamics 365. La interfaz de usuario en el centro de administración de Power Platform no está disponible para usuarios con otras funciones de administrador de Entra ID y al intentar autoelevarse a través de la API de PowerShell se genera un error.

Autoelevación a través de PowerShell

Configurar PowerShell

Instale el módulo MSAL de PowerShell. La instalación del módulo solo se debe realizar una vez.

Install-Module -Name MSAL.PS

Para obtener más información sobre la configuración de PowerShell, consulte API web de inicio rápido con PowerShell y Visual Studio Code.

Paso 1: ejecute el script para elevar

En este script de PowerShell:

  • Autentique mediante la API de Power Platform.
  • Cree una consulta http con su ID de entorno.
  • Llame al punto de conexión de la API para solicitar elevación.
Agregar su id. de entorno
  1. Obtenga su ID de entorno desde la pestaña Entornos del Centro de administración de Power Platform.

    Captura de pantalla que muestra dónde puede obtener su ID de entorno.

  2. Agregue su <environment id> único al script.

Ejecutar el script

Copie y pegue el script en la consola de 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

Paso 2: confirmar el resultado

Si tiene éxito, verá un resultado similar al siguiente. Busque "Code": "UserExists" como evidencia de que logró elevar su rol con éxito.

{
  "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"
    },
    { ... }
}
Errores

Es posible que vea un mensaje de error si no tiene los permisos adecuados.

"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."

Paso 3: actividad de limpieza

Ejecute Remove-RoleAssignmentFromUsers para eliminar usuarios del sistema Administrador rol de seguridad después de que caduque la asignación en PIM.

  • -roleName: "administrador del sistema " u otro rol
  • -usersFilePath: Ruta al archivo CSV con lista de nombres principales de usuarios (uno por línea)
  • -environmentUrl: se encuentra en admin.powerplatform.microsoft.com
  • -processAllEnvironments: (Opcional) Procese todos sus entornos
  • -geo: Una dirección GEO válida
  • -outputLogsDirectory: Ruta donde se escriben los archivos de registro
Ejemplo de script
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>"

Autoelevación a través del centro de administración de Power Platform

  1. Inicie sesión en el Centro de administración de Power Platform.

  2. En el panel lateral izquierdo, seleccione Entornos.

  3. Seleccione la marca de verificación junto a su entorno.

  4. Seleccione Pertenencia en la barra de comandos para solicitar la autoelevación.

  5. Se muestra el panel Administradores del sistema. Agréguese al rol Administrador del sistema seleccionando Agregarme.

    Utilice la opción del menú Pertenencia para solicitar autoelevación.

Limitaciones conocidas

  • Cuando utilice la API, observará que si el que llama es un administrador del sistema, la llamada de autoelevación devuelve un éxito en lugar de notificar al que llama que el administrador del sistema ya existe.

  • El usuario que realiza la llamada debe tener asignado el rol de administrador de inquilinos. Para obtener una lista completa de los usuarios que cumplen con los criterios de administrador de inquilinos, consulte Cambios en la compatibilidad con características

  • La API de elevación solo puede ser invocada por el usuario que necesita elevar su estado. No admite realizar llamadas API en nombre de otro usuario con fines de elevación.

  • Hay una solución alternativa disponible para los clientes que utilizan el Kit de inicio de CoE de Microsoft Power Platform. Consulte Problema de PIM y solución alternativa n.º 8119 para obtener más información y detalles.

  • No se admiten asignaciones de roles a través de grupos. Asegúrese de asignar roles directamente al usuario.