Usar API con Azure AD

Completado

La autenticación de Microsoft Entra ID es un esquema de autenticación recomendado. A diferencia de otros enfoques, tiene los siguientes atributos únicos:

  • Permite la autenticación en nombre del usuario que consume la conexión, lo que significa que los usuarios no pueden acceder a los recursos a los que aún no tienen acceso. El servicio de destino mantiene la responsabilidad de hacer cumplir lo que está permitido para el usuario autenticado.

  • El servicio de destino conoce la identidad del usuario que realiza la conexión, lo que permite realizar más comprobaciones mediante el uso de la información de Azure AD sin pedir explícitamente al usuario más detalles.

  • Es compatible con identidades administradas, donde el acceso controlado al recurso subyacente elimina la necesidad de que los desarrolladores y usuarios tengan que administrar las credenciales.

Las partes internas del conector personalizado protegido de Azure AD es similar a un conector protegido genérico.

Conector personalizado protegido mediante la autenticación de Azure AD

La principal diferencia es que el conector personalizado y el servicio de la aplicación de destino se registran como aplicaciones de Azure AD. Ese factor permite a los fabricantes aplicar los permisos adecuados y luego pasar la identidad del usuario que llama de una aplicación en Power Apps, un flujo de Power Automate o el flujo de trabajo de Logic Apps al servicio subyacente.

El servicio puede ser un servicio existente que esté registrado en Azure AD, como Microsoft Graph API, o puede ser un servicio personalizado que se implemente mediante Azure Functions o Microsoft Azure App Service, por ejemplo. La característica importante del servicio es que ayuda a proteger y autorizar el acceso a los recursos protegidos mediante la identidad de Azure AD del autor de la llamada.

Habilitar la autenticación de Azure AD

Si una organización ya tiene una implementación de servicio mediante Azure Functions o Azure App Service, agregar la autenticación de Azure AD es un ejercicio de configuración simple.

Pasos para habilitar la autenticación de Azure AD para la instancia de Azure App Service existente

  1. Seleccione la hoja Autenticación/Autorización.

  2. Habilite la Autenticación de App Service.

  3. Establezca la acción predeterminada en el acceso no autorizado.

  4. Configure y registre la aplicación en Microsoft Entra ID.

Al habilitar la autenticación de Azure AD, la información de identidad del autor de la llamada está disponible para el servicio subyacente, que ahora puede usar esta información.

Configurar el conector

Los autores de la llamada pueden acceder al servicio subyacente solo a través de un conector personalizado. Para permitir que el conector pase la identidad de la persona que llama, debe registrarse como una aplicación separada en Azure AD. Además, deben otorgarse permisos delegados al servicio de API para que pueda realizar acciones en nombre del autor de la llamada.

Pantalla de permisos de la API de solicitud de Azure que enfatiza los permisos delegados necesarios para un conector personalizado

Debido a que el conector personalizado accederá a la API en nombre del usuario, se requiere consentimiento. Normalmente, a los usuarios se les solicita su consentimiento cuando el conector personalizado crea una conexión. Algunos permisos pueden requerir el consentimiento administrativo, que un administrador puede otorgar para todos los usuarios de la organización.

Una vez registrado el conector personalizado en Azure AD, puede configurarlo mediante el asistente de conector personalizado.

Captura de pantalla de configuración de seguridad con Microsoft Entra ID seleccionado como opción de autenticación

Seleccione OAuth 2.0 como tipo de autenticación y luego configure el proveedor de identidad como Microsoft Entra ID. Los siguientes parámetros son necesarios:

  • Id. de cliente: id. de la aplicación de Azure AD que identificará el conector.

  • Secreto: secreto que se crea durante el registro de la aplicación de Azure AD.

  • URL del recurso: id. de recurso de su servicio.

Una vez que haya guardado la configuración, la URL de redireccionamiento estará disponible para agregarla como una devolución de llamada válida al registro de la aplicación.

La configuración se almacena en el archivo apiProperties.json y los desarrolladores también pueden usar las herramientas de línea de comandos paconn para actualizar la configuración según sea necesario. Por ejemplo, la clave secreta, en lugar de ser definida por el fabricante, se puede administrar y rotar automáticamente como parte de la implementación empresarial.

Pasos para configurar conectores con Microsoft Entra ID

Siga estos pasos para configurar los conectores con Azure AD:

  1. Registre dos aplicaciones de Azure AD:

    • Uno para identificar y proteger el servicio de API

    • Uno para identificar y proteger su conector

  2. Permisos delegados. Permita que la aplicación registrada de su conector haga llamadas "en nombre de" la identidad de su servicio.

  3. Defina su conector proporcionando el id. de cliente, el secreto y la información de la URL del recurso.

  4. Agregue URL de redireccionamiento al registro de la aplicación del conector.

  5. Si su servicio está configurado con el esquema de uso compartido de recursos entre orígenes (CORS), permita la lista de dominios de Azure API Management (generalmente azure-apim.net) para CORS en su servicio.

Configurar la autenticación de Azure AD implica más pasos para registrar aplicaciones e identidades en Azure AD, pero tiene más beneficios que lo convierten en un esquema preferido para proteger conectores personalizados.