Inicio rápido: Configuración de una aplicación cliente para acceder a las API web
En este inicio rápido proporcionará a una aplicación cliente registrada en la plataforma de identidad de Microsoft acceso basado en permisos con ámbito a una API web propia. También proporcionará a la aplicación cliente acceso a Microsoft Graph.
Al especificar los ámbitos de una API web en el registro de la aplicación cliente, esta puede obtener un token de acceso que contenga esos ámbitos de la plataforma de identidad de Microsoft. Dentro de su código, la API web puede proporcionar acceso basado en permisos a sus recursos en función de los ámbitos que se encuentran en el token de acceso.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Finalización de Inicio rápido: Registro de una aplicación.
- Finalización de Inicio rápido: Configuración de una aplicación para exponer una API web.
Incorporación de permisos para acceder a la API web
Sugerencia
Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienza.
El acceso a API requiere configurar los ámbitos y roles de acceso. Si desea exponer su API web de aplicaciones de recursos a aplicaciones cliente, puede configurar los roles y ámbitos de acceso de la API. Si quiere que una aplicación cliente pueda acceder a una API web, configure permisos de acceso a la API en el registro de la aplicación.
Para conceder a una aplicación cliente acceso a su propia API web, debe tener dos registros de aplicaciones;
- Un registro de aplicaciones cliente
- Un registro de API web con ámbitos expuestos
En el diagrama se muestra cómo se relacionan los dos registros de aplicaciones entre sí, donde la aplicación cliente tiene tipos de permisos diferentes y la API web tiene ámbitos diferentes a los que puede acceder la aplicación cliente. En esta sección se agregan permisos al registro de la aplicación cliente.
Una vez que haya registrado la aplicación cliente y la API web, y haya expuesto la API mediante la creación de ámbitos, puede configurar los permisos del cliente para la API siguiendo estos pasos:
Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
Si tiene acceso a varios inquilinos, use el icono Configuración en el menú superior para cambiar al inquilino que contiene el registro de la aplicación desde el menú Directorios y suscripciones.
Vaya a Identidad>Aplicaciones>Registros de aplicaciones y seleccione la aplicación cliente (no la API web).
Seleccione Permisos de API y, después, Agregar un permiso y seleccione Mis API en la barra lateral.
Seleccione la API web registrada como parte de los requisitos previos y seleccione Permisos delegados.
Los permisos delegados son adecuados para las aplicaciones cliente que acceden a una API web como usuario con sesión iniciada y cuyo acceso debe limitarse a los permisos que seleccione en el paso siguiente. Deje Permisos delegados seleccionado en este ejemplo.
Los Permisos de aplicación son para las aplicaciones de tipo servicio o demonio que necesitan acceder a una API web por sí mismas, sin la interacción del usuario para el inicio de sesión o el consentimiento. A menos que haya definido los roles de aplicación para la API web, esta opción está deshabilitada.
En Seleccionar permisos, expanda el recurso cuyos ámbitos definió para la API web y seleccione los permisos que debe tener la aplicación cliente en nombre del usuario cuya sesión se ha iniciado.
- Si ha usado los nombres de ámbito de ejemplo especificados en el inicio rápido anterior, debería ver Employees.Read.All y
Employees.Write.All
.
- Si ha usado los nombres de ámbito de ejemplo especificados en el inicio rápido anterior, debería ver Employees.Read.All y
Seleccione el permiso que creó al completar los requisitos previos, por ejemplo,
Employees.Read.All
.Seleccione Agregar permisos para completar el proceso.
Después de agregar permisos a la API, debería ver los permisos seleccionados en Permisos configurados. En la imagen siguiente se muestra el permiso delegado Employees.Read.All de ejemplo agregado al registro de la aplicación cliente.
También puede observar el permiso User.Read para Microsoft Graph API. Este permiso se agrega automáticamente al registrar una aplicación en Azure Portal.
Incorporación de permisos para acceder a Microsoft Graph
Además de acceder a su API web propia en nombre del usuario que ha iniciado sesión, es posible que la aplicación también necesite acceder a los datos del usuario (u otros) almacenados en Microsoft Graph o modificarlos. O bien, puede que tenga una aplicación de servicio o demonio que necesite acceder a Microsoft Graph por sí misma y realizar operaciones sin la interacción del usuario.
Permiso delegado para Microsoft Graph
Configure el permiso delegado a Microsoft Graph para permitir que la aplicación cliente realice operaciones en nombre del usuario que ha iniciado sesión, por ejemplo, leer el correo electrónico o modificar su perfil. De forma predeterminada, cuando los usuarios de la aplicación cliente inician sesión, se les pide su consentimiento para los permisos delegados configurados para ella.
En la página Información general de la aplicación cliente, seleccione Permisos de API>Agregar un permiso>Microsoft Graph
Seleccione Permisos delegados. Microsoft Graph expone muchos permisos, los más frecuentes se muestran en la parte superior de la lista.
En Seleccionar permisos, seleccione los permisos siguientes:
Permiso Descripción email
Ver la dirección de correo electrónico de los usuarios offline_access
Mantener el acceso a los datos a los que se le ha concedido acceso openid
Inicio de sesión de los usuarios profile
Ver el perfil básico de los usuarios Seleccione Agregar permisos para completar el proceso.
Una vez configurados los permisos, cuando los usuarios de la aplicación inician sesión, se les pide su consentimiento para que la aplicación pueda acceder a la API de recursos en su nombre.
Como administrador, también puede otorgar el consentimiento en nombre de todos los usuarios y, por lo tanto, a ellos no se les pedirá. El consentimiento del administrador se describe más adelante en la sección Más información sobre los permisos de la API y el consentimiento del administrador de este artículo.
Permiso de aplicación para Microsoft Graph
Configure los permisos de una aplicación que necesite autenticarse por sí misma sin la interacción ni el consentimiento del usuario. Los permisos de aplicación suelen usarse en los servicios en segundo plano o en las aplicaciones de demonio que acceden a una API "sin periféricos" y en las API web que acceden a otra API (de nivel inferior).
En los pasos siguientes se concede el permiso Files.Read.All de Microsoft Graph como ejemplo.
- Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
- Si tiene acceso a varios inquilinos, use el icono Configuración en el menú superior para cambiar al inquilino que contiene el registro de la aplicación desde el menú Directorios y suscripciones.
- Vaya a Identidad>Aplicaciones>Registros de aplicaciones y seleccione la aplicación cliente.
- Seleccione Permisos de API>Agregar un permiso>Microsoft Graph>Permisos de la aplicación.
- Todos los permisos expuestos por Microsoft Graph se muestran en Seleccionar permisos.
- Seleccione los permisos que desee conceder a la aplicación. Por ejemplo, podría tener una aplicación de demonio que examine los archivos de la organización para alertar sobre un tipo o nombre de archivo específico. En Seleccionar permisos, expanda Archivos y seleccione el permiso
Files.Read.All
. - Seleccione Agregar permisos.
- Algunos permisos, como Files.Read.All de Microsoft Graph, requieren el consentimiento del administrador. Para conceder el consentimiento del administrador, seleccione el botón Concesión de consentimiento del administrador, que se describe más adelante en la sección Botón Consentimiento del administrador.
Configuración de las credenciales del cliente
Las aplicaciones que usan permisos de aplicación se autentican por sí mismas con sus propias credenciales, sin necesidad de la interacción del usuario. Para que una aplicación (o API) pueda acceder a Microsoft Graph, a su propia API web o a otra API mediante permisos de aplicación, debe configurar antes las credenciales de la aplicación cliente.
Para más información sobre la configuración de las credenciales de una aplicación, consulte la sección Agregar credenciales de Inicio rápido: Registro de una aplicación en la plataforma de identidad de Microsoft.
Más información sobre los permisos de la API y el consentimiento del administrador
El panel Permisos de API de un registro de aplicación contiene la tabla Permisos configurados y el botón Consentimiento del administrador, que se describen en las secciones siguientes.
Permisos configurados
La tabla Permisos configurados del panel Permisos de API muestra la lista de permisos que la aplicación requiere para el funcionamiento básico: la lista de acceso a los recursos requeridos (RRA). Los usuarios o sus administradores deberán dar su consentimiento para estos permisos antes de usar la aplicación. Posteriormente se pueden solicitar otros permisos opcionales en tiempo de ejecución (mediante consentimiento dinámico).
Esta es la lista mínima de permisos para los que los usuarios tendrán que dar su consentimiento a la aplicación. Podría haber más, pero estos siempre serán necesarios. Por seguridad, y para que los usuarios y administradores se sientan más cómodos con la aplicación, no pida nunca nada que no necesite.
Puede agregar o quitar los permisos que aparecen en esta tabla siguiendo los pasos descritos anteriormente. Como administrador, puede conceder el consentimiento del administrador para el conjunto completo de permisos de una API que aparece en la tabla y revocar el consentimiento de permisos individuales.
Botón Consentimiento del administrador
El botón Conceder consentimiento de administrador para {su inquilino} permite a un administrador conceder su consentimiento a los permisos configurados para la aplicación. Al seleccionar el botón, se muestra un cuadro de diálogo que le solicita que confirme el consentimiento.
Después de conceder el consentimiento, los permisos que requerían el consentimiento del administrador lo muestran como concedido:
El botón Conceder consentimiento de administrador está deshabilitado si no es el administrador o si no se han configurado permisos para la aplicación. Si tiene permisos que se han concedido pero no configurado aún, el botón de consentimiento del administrador le pedirá que los administre. Puede agregarlos a los permisos configurados o quitarlos.
Eliminar permisos de aplicación
Es importante no conceder a una aplicación más permisos de los necesarios. Para revocar el consentimiento del administrador para un permiso en la aplicación;
- Vaya a la aplicación y seleccione Permisos de API.
- En Permisos configurados, seleccione los tres puntos junto al permiso que desea quitar y seleccione Quitar permiso
- En el elemento emergente que aparece, seleccione Sí, quitar para revocar el consentimiento del administrador para el permiso.
Contenido relacionado
Avance al siguiente inicio rápido de la serie para aprender a configurar los tipos de cuenta que pueden acceder a la aplicación. Por ejemplo, puede que quiera limitar el acceso solo a los usuarios de su organización (un solo inquilino) o permitir a los usuarios de otros inquilinos de Microsoft Entra (multiinquilino) y a quienes tengan cuentas personales de Microsoft (MSA).