Creación de una aplicación de entidad de servicio usando PowerShell
La autenticación mediante nombre de usuario y contraseña a menudo no es lo ideal, especialmente con el aumento de la autenticación multifactor. En tales casos, se prefiere la autenticación de la entidad de servicio (o el flujo de credenciales del cliente). Esto se puede hacer registrando una nueva aplicación principal de servicio en su propio inquilino de Microsoft Entra y luego registrando esa misma aplicación con Power Platform.
Registro de una aplicación de gestión administrativa
Primero, la aplicación cliente debe estar registrada en su inquilino de Microsoft Entra. Para establecer esto, revise el artículo Autenticación para las API de Power Platform, porque se requiere la misma configuración de aplicación para PowerShell.
Después de que su solicitud de cliente esté registrada en Microsoft Entra ID, también debe estar registrado con Microsoft Power Platform. Hoy, no hay forma de hacer esto a través del centro de administración de Power Platform; debe hacerse mediante programación a través de la API de Power Platform o PowerShell para administradores de Power Platform. Una entidad de servicio no puede registrarse por sí misma, ya que, por diseño, la aplicación debe registrarse con un contexto de contraseña y nombre de usuario administrador. Esto asegura que la aplicación sea creada por alguien que sea un Administrador para el inquilino.
Para registrar una nueva aplicación de gestión, utilice el siguiente script:
$appId = "CLIENT_ID_FROM_AZURE_APP"
# Login interactively with a tenant administrator for Power Platform
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId
# Register a new application, this gives the SPN / client application same permissions as a tenant admin
New-PowerAppManagementApp -ApplicationId $appId
Realizar solicitudes como principal de servicio
Ahora que se ha registrado con Microsoft Power Platform, puede autenticarse como la propia entidad de servicio. Utilice el siguiente script para consultar su lista de entornos:
$appId = "CLIENT_ID_FROM_AZURE_APP"
$secret = "SECRET_FROM_AZURE_APP"
$tenantId = "TENANT_ID_FROM_AZURE_APP"
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId -ApplicationId $appId -ClientSecret $secret -Verbose
Get-AdminPowerAppEnvironment
Limitaciones de los directores de servicio
Actualmente, la autenticación de la entidad de servicio funciona para la administración del entorno, la configuración de inquilinos y administración de Power Apps. Los cmdlets relacionados con Flow son compatibles con la autenticación de entidad de servicio en situaciones en las que no se requiere una licencia, ya que no es posible asignar licencias a identidades de entidad de servicio en Microsoft Entra ID.
Las aplicaciones de entidad de servicio se tratan dentro de Power Platform de forma similar a cómo se tratan los usuarios normales con el rol de administrador de Power Platform asignado. No se pueden asignar roles y permisos granulares para limitar sus capacidades. La aplicación no tiene asignada ningún rol especial en Microsoft Entra ID, ya que así es como los servicios de la plataforma tratan las solicitudes realizadas por las entidades de servicio.