Autenticación de una aplicación con el identificador de Entra de Microsoft para acceder a Event Hubs

Microsoft Azure proporciona una administración integrada del control de acceso para recursos y aplicaciones basados en Microsoft Entra ID. Una ventaja clave del uso de Microsoft Entra ID con Azure Event Hubs es que no es necesario almacenar credenciales en el código. En su lugar, solicite un token de acceso de OAuth 2.0 desde la plataforma de identidad de Microsoft. El nombre del recurso para solicitar un token es https://eventhubs.azure.net/, y es el mismo para todas las nubes y los inquilinos. Para los clientes Kafka, el recurso para solicitar un token es https://<namespace>.servicebus.windows.net. Microsoft Entra autentica la entidad de seguridad, como un usuario, grupo, entidad de servicio o identidad administrada, que ejecuta la aplicación. Si la autenticación se realiza correctamente, Microsoft Entra ID devuelve un token de acceso a la aplicación, que luego puede usar el token para autorizar las solicitudes a los recursos de Azure Event Hubs.

Cuando asignas un rol a un principal de seguridad de Microsoft Entra, Azure concede acceso a esos recursos para ese principal de seguridad. Puedes acceder a la suscripción, al grupo de recursos, al espacio de nombres de Event Hubs o a cualquier recurso que esté bajo él. Un principal de seguridad de Microsoft Entra puede asignar roles a un usuario, grupo, principal de servicio de aplicación o una identidad administrada para los recursos de Azure.

Note

Una definición de roles es una colección de permisos. El control de acceso basado en rol de Azure (Azure RBAC) aplica estos permisos a través de la asignación de roles. Una asignación de roles incluye tres elementos: entidad de seguridad, definición de rol y ámbito. Para más información, consulte Descripción de los distintos roles.

Prerequisites

Roles integrados de Azure Event Hubs

Azure proporciona estos roles integrados para autorizar el acceso a los datos de Event Hubs mediante microsoft Entra ID y OAuth:

Para los roles integrados de Schema Registry, consulte roles de Schema Registry.

Important

La versión preliminar admite la adición de privilegios de acceso a datos de Event Hubs al rol Propietario o Colaborador. Sin embargo, estos privilegios ya no se respetan. Si usa el rol Propietario o Colaborador, cambie al rol Propietario de datos de Azure Event Hubs.

Autenticación desde una aplicación

Una ventaja clave de usar el identificador de Entra de Microsoft con Event Hubs es que no es necesario almacenar las credenciales en el código. En su lugar, solicite un token de acceso de OAuth 2.0 desde la plataforma de identidad de Microsoft. Microsoft Entra autentica la entidad de seguridad (ya sea un usuario, un grupo o una entidad de servicio) que ejecuta la aplicación. Si la autenticación se realiza correctamente, Microsoft Entra devuelve el token de acceso a la aplicación y la aplicación puede entonces usar dicho token para autorizar las solicitudes de Event Hubs.

En las secciones siguientes se explica cómo configurar una aplicación nativa o una aplicación web para la autenticación con la plataforma de identidad de Microsoft 2.0. Para obtener más información sobre la Plataforma de identidad de Microsoft 2.0, consulte la Introducción a la Plataforma de identidad de Microsoft (v2.0).

Para información general sobre el flujo de concesión de código OAuth 2.0, consulte Autorización del acceso a aplicaciones web de Microsoft Entra mediante el flujo de concesión de código OAuth 2.0.

Registro de la aplicación con Microsoft Entra ID

El primer paso para usar Microsoft Entra ID y autorizar los recursos de los Event Hubs es registrar una aplicación cliente con un tenant de Microsoft Entra en el Centro de administración Microsoft Entra. Siga los pasos que se indican en Inicio rápido: Registro de una aplicación en la plataforma de identidad de Microsoft para registrar una aplicación en Microsoft Entra ID que represente la aplicación que intenta acceder a los recursos de Event Hubs.

Al registrar la aplicación cliente, se proporciona información sobre la aplicación. Microsoft Entra ID proporciona un identificador de cliente, también denominado id. de aplicación, para asociar la aplicación con el entorno de ejecución de Microsoft Entra. Para obtener más información sobre el identificador de cliente, consulte Objetos de aplicación y entidades de servicio en Microsoft Entra ID.

Note

Si registra la aplicación como una aplicación nativa, especifique cualquier URI válido para el URI de redirección. En el caso de las aplicaciones nativas, este valor no necesita ser una dirección URL real. En el caso de las aplicaciones web, el URI de redireccionamiento debe ser un URI válido porque especifica la dirección URL donde se proporcionan los tokens.

Una vez registrada la aplicación, verá el ID de la aplicación (cliente) en Configuración:

Captura de pantalla de la página de registro de aplicaciones de Azure Portal con el identificador de aplicación resaltado.

Creación de un secreto de cliente para la autenticación

La aplicación requiere un secreto de cliente para demostrar su identidad al solicitar un token. Siga los pasos que se indican en Agregar un secreto de cliente para crear un secreto de cliente para la aplicación en Microsoft Entra ID.

Asigna roles a Azure utilizando el portal de Azure

Asigne uno de los roles de Event Hubs al principal de servicio de la aplicación en el ámbito deseado, como el espacio de nombres de Event Hubs, el grupo de recursos o la suscripción. Para ver los pasos detallados, consulte Asignación de roles de Azure mediante Azure Portal.

Después de definir el rol y su alcance, prueba este comportamiento con muestras disponibles en esta ubicación de GitHub. Para saber más sobre cómo gestionar el acceso a los recursos de Azure utilizando el control de acceso basado en roles (RBAC) de Azure y el portal de Azure, consulta este artículo.

Uso de bibliotecas cliente para adquirir tokens

Después de registrar tu aplicación y concederle permisos para enviar o recibir datos en Azure Event Hubs, añade código a tu aplicación para autenticar un principal de seguridad y adquirir un token OAuth 2.0. Para autenticar y adquirir el token, use una de las bibliotecas de autenticación de la plataforma de identidad de Microsoft u otra biblioteca de código abierto que admita OpenID Connect 1.0. A continuación, su aplicación puede usar el token de acceso para autorizar una solicitud en Azure Event Hubs.

En los casos en los que se admita la adquisición de tokens, consulte la sección Scenarios del repositorio de la Biblioteca de autenticación de Microsoft (MSAL) para .NET en GitHub.

Samples

Consulte los artículos relacionados siguientes: