Tutorial: Registrar una aplicación con Microsoft Entra ID
Este tutorial describe cómo registrar una aplicación (escritorio, móvil o web) con Microsoft Entra ID. Se requiere el registro de la aplicación antes de que una aplicación pueda autenticarse con Microsoft Dataverse y acceder a datos profesionales.
Las instrucciones incluidas en este artículo son específicas del registro de aplicación de Microsoft Entra ID para acceso de Dataverse. Para obtener más información sobre el registro en la aplicación de Microsoft Entra ID, consulte Registro de aplicación en Microsoft Entra ID.
Acerca del registro y la autenticación de aplicaciones
Hay varios flujos de autenticación que Dataverse admite: nombre de usuario/contraseña, secreto de cliente y certificado. El registro y la autenticación de aplicaciones son ligeramente diferentes para cada uno de estos flujos. Este artículo cubre los flujos de autenticación del nombre de usuario/contraseña y del secreto del cliente. Está previsto documentar los flujos de certificados en un artículo futuro.
Para que una aplicación se autentique con Dataverse y obtenga acceso a los datos profesionales, primero debe registrar la aplicación en Microsoft Entra ID. El registro de esa aplicación se utiliza luego durante el proceso de autenticación.
Clientes públicos y confidenciales
Hay dos tipos de clientes que puede utilizar para autenticarse con Dataverse: público y confidencial. Estos clientes están representados por las clases PublicClientApplicationBuilder y ConfidentialClientApplicationBuilder. Puede crear una instancia de estas clases en su aplicación directamente, por ejemplo, si su aplicación usa la API web de Dataverse o puede usar la clase ServiceClient. La clase ServiceClient
maneja la creación de instancias de estos clientes internamente en función de los valores de configuración en los parámetros de cadena de conexión pasados.
Nota
El cliente confidencial se utiliza con un secreto o certificado de cliente y a menudo se lo denomina principio de servicio, usuario de aplicación o autenticación de servidor a servidor (S2S).
Requisitos previos
- Una suscripción a Microsoft Entra para el registro de aplicaciones. Una cuenta de prueba funcionará.
Si no tiene una empresa de Azure (cuenta) o tiene una pero su suscripción a Microsoft 365 con Dataverse no está disponible en su suscripción de Azure, siga las instrucciones en el artículo Configurar acceso a Microsoft Entra ID para el sitio de desarrollador para asociar las dos cuentas.
Registro de aplicación de cliente público
Para crear un registro de aplicación para un flujo de autenticación de nombre de usuario/contraseña y para usar con un cliente público o una cadena de conexión ServiceClient
, siga estos pasos.
Inicie sesión en el portal de Microsoft Azure con una cuenta con permiso de administrador. Debe usar una cuenta en la misma suscripción de Microsoft 365 (empresa) con la que pretenda registrar una aplicación. En la página Inicio del portal en Servicios de Azure, seleccione Microsoft Entra ID.
Alternativamente, puede obtener acceso al portal de Azure a través del centro de administración de Microsoft 365 eligiendo primero el elemento Todos los centros de administración en el panel de navegación de la izquierda; seleccione Microsoft Entra y, a continuación, seleccione Ir a Microsoft Entra ID. A continuación, en el panel de navegación izquierdo del centro de administración de Microsoft Entra, expanda el nodo Aplicaciones.
En el panel de navegación de la izquierda, seleccione Registros de aplicaciones y, a continuación, seleccione + Nuevo registro en la página Registros de aplicaciones.
En la página Registros de aplicación, especifique la información de registro de la aplicación como se describe en la tabla.
Elemento de entrada de formulario Description Name Escriba un nombre de aplicación que tenga significado para los usuarios. Tipos de cuenta admitidos Seleccione la opción Cuentas en <cualquiera o este> directorio de organización. Seleccione Registrar para crear el registro de aplicación. Se muestra la página de información general de registro de la aplicación. Permanezca en esa página.
En la página Descripción general bajo Fundamentos, seleccione el vínculo Agregar un URI de redireccionamiento. Configure el URI de redireccionamiento seleccionando primero Agregar una plataforma, introduzca un valor de URI y luego seleccione Configurar.
Debe proporcionar un valor de URI de redireccionamiento que se describe a continuación. En el caso de una aplicación móvil o de escritorio compilada con .NET Framework, use un valor URI de "app://<Id de aplicación (cliente)>". Este valor de id. se muestra en la página Información general de la aplicación registrada. Para una aplicación móvil o de escritorio creada con .NET Core que usa MSAL para la autenticación, use un valor de URI de "http://localhost". Para una aplicación API web, utilice cualquier dirección web válida, aunque no es necesario que la dirección exista realmente.
En la página Descripción general de su aplicación recién creada, coloque el cursor sobre el valor Id. de aplicación (cliente) y seleccione el icono de copiar al portapapeles para copiar el valor de ID. Registre el valor en algún lugar. Debe especificar este valor más adelante en el código de autenticación de su aplicación o en el archivo app.config, cuando corresponda.
Seleccione Permisos API en el panel de navegación izquierdo y, luego, Agregar un permiso.
Seleccione la pestaña API que usa mi organización y luego en el campo de búsqeuda, escriba "Dataverse" para buscar la entrada Dataverse. Seleccione el elemento Dataverse en la lista de resultados de la búsqueda.
En la página Solicitar permisos de API, seleccione Permisos delegados. Después, seleccione (compruebe) la opción user_impersonation.
Seleccione Conceder consentimiento de administrador para <nombre>, aunque parezca que ya está marcado. A continuación, en la ventana emergente, seleccione Sí para otorgar consentimiento. Si no aprueba el consentimiento aquí, su aplicación recibirá un error de consentimiento en tiempo de ejecución.
Nota
Si la opción Conceder consentimiento de administrador para <nombre> se atenúa (no seleccionable), no tiene permiso para establecer este valor. Más información: Botón de consentimiento del administrador, Consentimiento del usuario y del administrador en Microsoft Entra ID
Seleccione Agregar permisos.
(Opcional) En la página Autenticación en Configuración avanzada y Permitir flujos de clientes públicos, seleccione Sí y luego Guardar. Consulte la descripción en los siguientes párrafos para obtener más información.
Durante la autenticación, si la aplicación cliente no proporciona una contraseña para un flujo de nombre de usuario/contraseña, se le solicitarán al usuario de la aplicación las credenciales de inicio de sesión en una ventana del navegador.
Si desea proporcionar una contraseña para la autenticación del cliente, debe configurar explícitamente Habilitar los siguientes flujos móviles y de escritorio en Sí. Este requisito existe para desalentar el suministro de una contraseña en el código, App.config, etc., ya que este método es menos seguro.
Ha completado el registro de cliente público de la aplicación en Microsoft Entra ID.
Registro de aplicación de cliente confidencial
Para crear un registro de aplicación para un flujo de autenticación de certificado o secreto de cliente, y para usar con un cliente confidencial o una cadena de conexión ServiceClient
, siga los pasos de las dos secciones siguientes. Creará un registro de aplicación de Microsoft Entra ID y un nuevo usuario de aplicación en el centro de administración de Power Platform.
Crear el registro de la aplicación
El registro de la aplicación es mucho más sencillo para el cliente confidencial en comparación con el cliente público. Solo necesita proporcionar un nombre de registro de la aplicación y establecer el alcance del inquilino (tipo de cuenta).
Inicie sesión en el portal de Microsoft Azure con una cuenta con permiso de administrador. Debe usar una cuenta en la misma suscripción de Microsoft 365 (empresa) con la que pretenda registrar una aplicación. En la página Inicio del portal en Servicios de Azure, seleccione Microsoft Entra ID.
Alternativamente, puede obtener acceso al portal de Azure a través del centro de administración de Microsoft 365 eligiendo primero el elemento Todos los centros de administración en el panel de navegación de la izquierda; seleccione Microsoft Entra y, a continuación, seleccione Ir a Microsoft Entra ID. A continuación, en el panel de navegación izquierdo del centro de administración de Microsoft Entra, expanda el nodo Aplicaciones.
En el panel de navegación de la izquierda, seleccione Registros de aplicaciones y, a continuación, seleccione + Nuevo registro en la página Registros de aplicaciones.
En la página Registros de aplicación, especifique la información de registro de la aplicación como se describe en la tabla.
Elemento de entrada de formulario Description Name Escriba un nombre de aplicación que tenga significado para los usuarios. Tipos de cuenta admitidos Seleccione la opción Cuentas en <cualquiera o este> directorio de organización. Seleccione Registrar para crear el registro de aplicación. Se muestra la página de información general de registro de la aplicación.
Agregue un secreto de cliente al selccionar el vínculo Certificados y secretos en el panel de navegación izquierdo. Más información: Agregar un secreto de cliente
Importante
Después de agregar un secreto de cliente, guarde una copia del valor del secreto para su uso posterior. No salga de la página secreta del cliente hasta que haya copiado el valor secreto (no el id.), ya que no tendrá acceso al valor secreto nuevamente.
Crea un nuevo usuario de la aplicación
Siga estos pasos para crear un usuario de aplicación y enlazarlo a su registro de aplicación.
Inicie sesión en el centro de administración de Power Platform mediante una cuenta en el mismo inquilino como su registro de aplicación.
Seleccione Entornos en el panel de navegación izquierdo y luego seleccione el entorno de destino en la lista para mostrar la información del entorno.
Seleccione el vínculo S2S en el lado derecho de la página.
Seleccione Nuevo usuario de aplicación.
En la diapositiva desplegable Crear un nuevo usuario de aplicación, seleccione + Agregar aplicación.
Comience a escribir el nombre del registro de su aplicación en el campo de búsqueda y luego selecciónelo (compruébelo) en la lista de resultados. A continuación, seleccione Agregar.
De vuelta en la ventana deslizante Crear un nuevo usuario de aplicación, seleccione la Unidad de negocio de destino en el menú desplegable y agregue un rol de seguridad para el usuario de la aplicación (también conocido como principio de servicio).
Seleccione Guardar y, a continuación, Crear. Debería ver su nuevo usuario de la aplicación en la lista de usuarios de la aplicación que se muestra.
Usar un registro de aplicación en el código
Para ver el código que utiliza un registro de aplicación, consulte los ejemplos de SDK para Comenzar y el ejemplo de API web de Inicio rápido.
El código de muestra contiene ejemplos de cadenas de conexión de cliente públicas y confidenciales para usar con la clase ServiceClient
.