Protección del acceso al portal para desarrolladores de API Management

SE APLICA A: Desarrollador | Básico | Básico v2 | Estándar | Estándar v2 | Premium

API Management proporciona un portal para desarrolladores totalmente personalizable, independiente y administrado que se puede usar de manera externa (o interna) para permitir que los usuarios desarrolladores descubran las API publicadas mediante API Management e interactúen con ellas. El portal para desarrolladores tiene varias opciones para facilitar el registro y el inicio de sesión de usuarios seguros.

Nota:

De forma predeterminada, el portal para desarrolladores habilita el acceso anónimo. Esto significa que cualquier usuario puede ver el portal y el contenido, como las API, sin iniciar sesión, aunque la funcionalidad y el uso de la consola de prueba están restringidas. Puedes habilitar una configuración que requiera que los usuarios inicien sesión para ver el portal para desarrolladores. En Azure Portal, en el menú izquierdo de la instancia de API Management, en Portal para desarrolladores, selecciona Identidades>Configuración. En Usuarios anónimos, selecciona (habilita) Redirigir usuarios anónimos a la página de inicio de sesión.

Opciones de autenticación

  • Usuarios externos: la opción preferida cuando el portal para desarrolladores se consume de manera externa consiste en habilitar el control de acceso de negocio a consumidor mediante Azure Active Directory B2C (Azure AD B2C).

    • Azure AD B2C proporciona la opción de usar cuentas nativas de Azure AD B2C: los usuarios se registran en Azure AD B2C y utilizan esa identidad a fin de acceder al portal para desarrolladores.
    • Azure AD B2C también es útil si quiere que los usuarios accedan al portal para desarrolladores mediante redes sociales existentes o cuentas de la organización federadas.
    • Azure AD B2C proporciona muchas características para mejorar la experiencia de registro e inicio de sesión del usuario final, incluido el acceso condicional y MFA.

    A fin de obtener los pasos para habilitar la autenticación de Azure AD B2C en el portal para desarrolladores, vea Procedimiento para autorizar cuentas de desarrollador mediante Azure Active Directory B2C en Azure API Management.

  • Usuarios internos: la opción preferida cuando el portal para desarrolladores se consume de manera interna consiste en aprovechar la instancia corporativa de Microsoft Entra ID. Microsoft Entra ID proporciona una experiencia de inicio de sesión único (SSO) sin problemas para los usuarios corporativos que necesitan acceder y descubrir las API desde el portal para desarrolladores.

    A fin de obtener los pasos para habilitar la autenticación de Microsoft Entra en el portal para desarrolladores, vea Procedimiento para autorizar cuentas de desarrollador mediante Microsoft Entra ID en Azure API Management.

  • Autenticación básica: una opción predeterminada consiste en usar el proveedor de nombres de usuario y contraseñas integrado del portal para desarrolladores, lo que permite a los desarrolladores registrarse directamente en API Management e iniciar sesión mediante cuentas de usuario de API Management. El registro de usuario mediante esta opción está protegido por un servicio CAPTCHA.

Consola de prueba del portal para desarrolladores

Además de proporcionar configuración a fin de que los usuarios desarrolladores se registren para el acceso y el inicio de sesión, el portal para desarrolladores incluye una consola de prueba en la que los desarrolladores pueden enviar solicitudes de prueba mediante API Management a las API de back-end. Esta instalación de prueba también existe para los usuarios que contribuyen a API Management y que administran el servicio mediante Azure Portal.

Si la API expuesta mediante Azure API Management está protegida con OAuth 2.0, es decir, una aplicación que realiza la llamada (portador) debe obtener y pasar un token de acceso válido, puede configurar API Management para generar un token válido en nombre de un usuario de la consola de prueba del portal para desarrolladores o de Azure Portal. Para más información, vea Procedimiento para autorizar la consola de prueba del portal para desarrolladores mediante la configuración de la autorización de usuarios de OAuth 2.0.

Para permitir que la consola de prueba adquiera un token de OAuth 2.0 válido para las pruebas de API:

  1. Agregue un servidor de autorización de usuario de OAuth 2.0 a la instancia. Puede usar cualquier proveedor de OAuth 2.0, incluido Microsoft Entra ID, Azure AD B2C o un proveedor de identidades de terceros.

  2. Después, configure la API con los valores de ese servidor de autorización. En el portal, configure la autorización de OAuth 2.0 en la página Configuración>Seguridad>Autorización de usuarios de la API.

    Captura de pantalla de la configuración de OAuth para una API en el portal.

Esta configuración de OAuth 2.0 para las pruebas de API es independiente de la configuración necesaria para el acceso de usuarios al portal para desarrolladores. Pero el proveedor de identidades y el usuario podrían ser los mismos. Por ejemplo, una aplicación de intranet podría requerir el acceso del usuario al portal para desarrolladores mediante el inicio de sesión único con su identidad corporativa. La misma identidad corporativa podría obtener un token mediante la consola de prueba para llamar al servicio back-end con el mismo contexto de usuario.

Escenarios

Se aplican diferentes opciones de autenticación y autorización a diferentes escenarios. En las secciones siguientes se exploran las configuraciones generales para tres escenarios de ejemplo. Se necesitan más pasos para proteger y configurar completamente las API expuestas desde API Management. Pero los escenarios se centran intencionadamente en las configuraciones mínimas recomendadas en cada caso para proporcionar la autenticación y autorización necesarias.

Escenario 1: API de intranet y aplicaciones

  • Un desarrollador de API de back-end y colaborador de API Management quiere publicar una API protegida mediante OAuth 2.0.
  • Las aplicaciones de escritorio consumirán la API cuyos usuarios inician sesión mediante SSO desde Microsoft Entra ID.
  • Los desarrolladores de aplicaciones de escritorio también deben descubrir y probar las API desde el portal para desarrolladores de API Management.

Configuraciones clave:

Configuración Referencia
Autorice a los usuarios desarrolladores del portal para desarrolladores de API Management mediante sus identidades corporativas y Microsoft Entra ID. Autorización de cuentas de desarrollador mediante Microsoft Entra ID en Azure API Management
Configure la consola de prueba en el portal para desarrolladores a fin de obtener un token de OAuth 2.0 válido para que los desarrolladores de aplicaciones de escritorio ejecuten la API de back-end.

La misma configuración se puede usar para la consola de prueba en Azure Portal, que es accesible para los colaboradores y desarrolladores de back-end de API Management.

El token se puede usar en combinación con una clave de suscripción de API Management.
Autorización de la consola de prueba del portal para desarrolladores mediante la configuración de la autorización de usuarios de OAuth 2.0

Suscripciones en Azure API Management
Valide el token de OAuth 2.0 y las notificaciones cuando se llama a una API desde API Management con un token de acceso. Validación de la directiva JWT

Avance un paso más con este escenario y traslade API Management al perímetro de red y controle la entrada mediante un proxy inverso. Para obtener una arquitectura de referencia, vea Protección de las API con Application Gateway y API Management.

Escenario 2: API externa, aplicación de asociado

  • Un desarrollador de API de back-end y colaborador de API Management quiere llevar a cabo una prueba de concepto rápida para exponer una API heredada desde Azure API Management. La API desde API Management será accesible externamente (Internet).
  • La API usa la autenticación de certificados de cliente y la usará una nueva aplicación de página única (SPA) orientada al público desarrollada desde el extranjero por un asociado.
  • La SPA usa OAuth 2.0 con OpenID Connect (OIDC).
  • Los desarrolladores de aplicaciones accederán a la API en un entorno de prueba desde l portal para desarrolladores, mediante un punto de conexión de back-end de prueba para acelerar el desarrollo de front-end.

Configuraciones clave:

Configuración Referencia
Configure el acceso de desarrollador de front-end al portal para desarrolladores mediante la autenticación predeterminada de nombre de usuario y contraseña.

También se puede invitar a los desarrolladores al portal para desarrolladores.
Configuración de usuarios del portal para desarrolladores para autenticarse mediante nombres de usuario y contraseñas

Administración de cuentas de usuario en Azure API Management
Valide el token de OAuth 2.0 y las notificaciones cuando la SPA llama a API Management con un token de acceso. En este caso, el público es API Management. Validación de la directiva JWT
Configure API Management para usar la autenticación de certificados de cliente en el back-end. Protección de servicios back-end con la autenticación de certificados de cliente en Azure API Management

Avance un paso más con este escenario mediante el portal para desarrolladores con la autorización de Microsoft Entra y la colaboración B2B de Microsoft Entra para permitir que los asociados de entrega colaboren más estrechamente. Considere la posibilidad de delegar el acceso a API Management mediante RBAC en un entorno de desarrollo o prueba, y habilitar el inicio de sesión único en el portal para desarrolladores mediante sus propias credenciales corporativas.

Escenario 3: API externa, SaaS, abierta al público

  • Un desarrollador de API de back-end y colaborador de API Management va a escribir varias API nuevas que estarán disponibles para los desarrolladores de la comunidad.

  • Las API estarán disponibles públicamente, con funcionalidad completa protegida detrás de un paywall y protegidas mediante OAuth 2.0. Después de comprar una licencia, al desarrollador se le proporcionarán credenciales de cliente propias y una clave de suscripción válida para su uso en producción.

  • Los desarrolladores de la comunidad externos descubrirán las API mediante el portal para desarrolladores. Los desarrolladores se registrarán e iniciarán sesión en el portal para desarrolladores con sus cuentas de redes sociales.

  • Los usuarios del portal para desarrolladores interesados con una clave de suscripción de prueba pueden explorar la funcionalidad de la API en un contexto de prueba, sin necesidad de comprar una licencia. La consola de prueba del portal para desarrolladores representará la aplicación que realiza la llamada y generará un token de acceso predeterminado a la API de back-end.

    Precaución

    Preste atención adicional al usar un flujo de credenciales de cliente con la consola de prueba del portal para desarrolladores. Vea Consideraciones sobre la seguridad.

Configuraciones clave:

Configuración Referencia
Configure productos en Azure API Management para representar las combinaciones de API que se exponen a los desarrolladores de la comunidad.

Configure suscripciones para permitir que los desarrolladores consuman las API.
Tutorial: Crear y publicar un producto

Suscripciones en Azure API Management
Configure el acceso para desarrolladores de la comunidad al portal para desarrolladores mediante Azure AD B2C. Después, se puede configurar Azure AD B2C para que funcione con uno o varios proveedores de identidades de redes sociales descendentes. Procedimiento para autorizar a las cuentas de desarrollador para que usen Azure Active Directory B2C en Azure API Management
Configure la consola de prueba en el portal para desarrolladores para obtener un token de OAuth 2.0 válido en la API de back-end mediante el flujo de credenciales de cliente. Autorización de la consola de prueba del portal para desarrolladores mediante la configuración de la autorización de usuarios de OAuth 2.0

Ajuste los pasos de configuración que se muestran en este artículo para usar el flujo de concesión de credenciales de cliente en lugar del flujo de concesión de código de autorización.

Avance un paso más y delegue el registro de usuario o la suscripción del producto, y amplíe el proceso con lógica propia.

Pasos siguientes