Share via


Autenticación (versión preliminar)

Este artículo proporciona una descripción general de la configuración de Microsoft Entra para llamar a la API de Power Platform (versión preliminar). Para acceder a los recursos disponibles a través de la API de Power Platform, debe obtener un token de portador de Microsoft Entra y enviarlo como encabezado junto con cada solicitud. Según el tipo de identidad que admita (usuario frente a principal de servicio), existen diferentes flujos para obtener este token de portador, como se describe en este artículo.

Se requieren los siguientes pasos para obtener un token de portador con los permisos correctos:

  1. Crear un registro de la aplicación en el inquilino de Microsoft Entra
  2. Configurar permisos de API
  3. Configurar cliente público (opcional)
  4. Configurar certificados y secretos (opcional)
  5. Solicitar un token de acceso

Paso 1. Crear un registro de la aplicación

Vaya a la página Registro de la aplicación de Microsoft Entra y cree un nuevo registro. Asigne un nombre a la aplicación y asegúrese de que se selecciona la opción Inquilino único. Puede omitir la configuración de URI de redireccionamiento.

Paso 2. Configurar permisos de API

Dentro de su nuevo registro de aplicación, navegue hasta la pestaña Administrar: permisos de API. En la sección Configurar permisos, seleccione Agregar un permiso. En la ventana de diálogo que se abre, seleccione la pestaña API que usa mi organización y luego busque API de Power Platform. Es posible que vea varias entradas con un nombre similar a este, así que asegúrese de usar la que tiene el GUID 8578e004-a5c6-46e7-913e-12f58912df43.

Si no aparece la API de Power Platform en la lista al buscar por GUID, es posible que aún tenga acceso a ella, pero la visibilidad no se ha actualizado. Para forzar una ejecución de actualización, ejecute el script de PowerShell siguiente:

#Install the Microsoft Entra the module
Install-Module AzureAD

Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"

Desde aquí, debe seleccionar los permisos que requiere. Estos se agrupan por Espacios de nombres. Dentro de un espacio de nombres, verá tipos de recursos y acciones, por ejemplo AppManagement.ApplicationPackages.Read que otorgará permisos de lectura para paquetes de aplicaciones. Para más información, consulte nuestro artículo Referencia de permiso.

Nota

La API de Power Platform utiliza permisos delegados solo en este momento. Para las aplicaciones que se ejecutan con contexto de usuario, solicite permisos delegados utilizando el parámetro scope. Estos permisos delegan los privilegios del usuario que inició sesión en su aplicación, lo que le permite actuar como el usuario al llamar a los puntos de conexión de la API de Power Platform.

Para las identidades de entidad de servicio, no se utilizan permisos de aplicación. En su lugar, las entidades de servicio se tratan como armonistradores de Power Platform hoy y deben estar registrados siguiendo PowerShell: crear entidad de servicio.

Después de agregar los permisos requeridos a la aplicación, seleccione Otorgar consentimiento de administrador para completar la configuración. Esto es necesario para los casos en los que desea permitir que los usuarios accedan a su aplicación de inmediato, en lugar de requerir una experiencia de consentimiento interactivo. Si puede admitir el consentimiento interactivo, le recomendamos que siga Plataforma de identidad de Microsoft y flujo de código de autorización de OAuth 2.0.

Paso 3. Configurar cliente público (opcional)

Si su aplicación requerirá recursos de lectura y escritura en nombre de un usuario, deberá habilitar la configuración de Cliente público. Esta es la única forma en que Microsoft Entra ID aceptará las propiedades de nombre de usuario y contraseña en el cuerpo de su solicitud de token. También tenga en cuenta que si planea usar esta característica, no funcionará para las cuentas que tienen habilitada la autenticación multifactor.

Para habilitarla, visite la pestaña Administrar: autenticación. En la sección Ajustes avanzados, configure el conmutador de Cliente Público a .

Paso 4. Configurar certificados y secretos (opcional)

Si su aplicación requiere recursos de lectura y escritura en sí misma, también conocidos como entidad de servicio, hay dos formas de autenticarse. Para usar certificados, vaya a la pestaña Administrar: certificados y secretos. En la sección Certificados, cargue un certificado x509 que pueda usar para autenticarse. La otra forma es usar la sección Secretos para generar un secreto de cliente. Guarde el secreto en un lugar seguro para utilizarlo con sus necesidades de automatización. El certificado o las opciones secretas le permitirán autenticarse con Microsoft Entra y recibir un token para este cliente, del cual pasará a las API REST o cmdlets de PowerShell.

Paso 5. Solicitar un token de acceso

Hay dos formas de obtener un token de portador de acceso. Una es para el nombre de usuario y la contraseña y la otra es para las entidades de servicio.

Nombre de usuario y flujo de contraseña

Asegúrese de leer la sección Cliente público anterior. Luego, envíe una solicitud POST a través de HTTP a Microsoft Entra ID con una carga útil de nombre de usuario y contraseña.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password

El ejemplo anterior contiene marcadores de posición que puede recuperar de su aplicación cliente en Microsoft Entra ID. Recibirá una respuesta que podrá utilizar para realizar llamadas posteriores a la API de Power Platform.

{
  "token_type": "Bearer",
  "scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
  "expires_in": 4747,
  "ext_expires_in": 4747,
  "access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}

Utilice el valor access_token en llamadas posteriores a la API de Power Platform, con el encabezado HTTP de Autorización.

Flujo de entidad de servicio

Asegúrese de leer la sección Certificados y secretos anterior. Luego, envíe una solicitud POST a través de HTTP a Microsoft Entra ID con una carga útil de secreto de cliente. Esto a menudo se conoce como autenticación de entidad de servicio.

Importante

Esto solo se puede usar después de haber registrado este id. de aplicación cliente con Microsoft Power Platform si sigue la documentación relacionada de PowerShell o REST.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials

El ejemplo anterior contiene marcadores de posición que puede recuperar de su aplicación cliente en Microsoft Entra ID. Recibirá una respuesta que podrá utilizar para realizar llamadas posteriores a la API de Power Platform.

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

Utilice el valor access_token en llamadas posteriores a la API de Power Platform, con el encabezado HTTP de Autorización. Como se indicó anteriormente, el flujo de entidad de servicio no utiliza permisos de aplicación y, por ahora, se trata en su lugar como un administrador de Power Platform para todas las llamadas que hacen.

Consulte también

Creación de una aplicación de entidad de servicio mediante API (versión preliminar)
PowerShell: crear entidad de servicio