Autenticación de una aplicación con Microsoft Entra ID para acceder a recursos de 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 de usar Microsoft Entra ID con Azure Event Hubs es que ya no es necesario almacenar las credenciales en el código. En su lugar, puede solicitar 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 e inquilinos (en el caso de los clientes de Kafka, el recurso para solicitar un token es https://<namespace>.servicebus.windows.net). Microsoft Entra autentica la entidad de seguridad (un usuario, grupo o entidad de servicio) ejecutando la aplicación. Si la autenticación se realiza correctamente, Microsoft Entra ID devuelve un token de acceso a la aplicación, y esta puede entonces usar el token de acceso para autorizar una solicitud de los recursos de Azure Event Hubs.

Cuando un rol se asigna a una entidad de seguridad de Microsoft Entra, Azure concede a esa entidad de seguridad acceso a los recursos. El acceso puede tener como ámbito el nivel de suscripción, el grupo de recursos, el espacio de nombres de Event Hubs o cualquier recurso que haya en él. Una entidad de seguridad de Microsoft Entra puede asignar roles a un usuario, un grupo, una entidad de servicio de aplicación o una identidad administrada para recursos de Azure.

Nota:

Una definición de roles es una colección de permisos. El control de acceso basado en rol (RBAC) controla cómo se aplican estos permisos mediante la asignación de roles. Una asignación de roles consta de tres elementos: entidad de seguridad, definición de rol y ámbito. Para más información, consulte Descripción de los distintos roles.

Roles integrados de Azure Event Hubs

Azure proporciona los siguientes roles integrados de Azure para autorizar el acceso a datos de Event Hubs con Microsoft Entra ID y OAuth:

En el caso de los roles integrados del registro de esquema, consulte Roles del registro de esquema.

Importante

Nuestra versión preliminar permite agregar privilegios de acceso a datos de Event Hubs al rol Propietario o Colaborador, pero los privilegios de acceso a datos de los roles Propietario y Colaborador ya no están en vigor. Si está usando el rol Propietario o Colaborador, cambie al rol Propietario de los datos de Azure Event Hubs.

Autenticación desde una aplicación

Una ventaja clave del uso de Microsoft Entra ID con Event Hubs es que ya no necesita almacenar las credenciales en el código. En su lugar, puede solicitar un token de acceso de OAuth 2.0 desde la Plataforma de identidad de Microsoft. Microsoft Entra ID autentica la entidad de seguridad (un usuario, grupo o entidad de servicio) ejecutando 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 muestra cómo configurar su aplicación web o aplicación nativa 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 un inquilino de Microsoft Entra

El primer paso para usar Microsoft Entra ID con el fin de autorizar los recursos de Event Hubs es registrar la aplicación cliente con un inquilino de Microsoft Entra desde Azure Portal. 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, facilita información sobre la aplicación a AD. Microsoft Entra ID proporciona un id. de cliente (también denominado id. de aplicación) que se puede usar para asociar la aplicación con el runtime de Microsoft Entra. Para más información sobre el identificador de cliente, consulte Objetos de aplicación y de entidad de servicio de Microsoft Entra ID.

Nota:

Si registra la aplicación como una aplicación nativa, puede especificar cualquier URI válido para el URI de redirección. Para las aplicaciones nativas, no es necesario que este valor sea una dirección URL real. Para las aplicaciones web, el URI de redirección debe ser un URI válido, ya que especifica la dirección URL a la que se proporcionan los tokens.

Una vez que ha registrado su aplicación, verá el id. de la aplicación (o id. de cliente) en Configuración:

Screenshot showing the app registration page with application ID highlighted.

Creación de un secreto de cliente

La aplicación necesita 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.

Asignación de roles de Azure mediante Azure Portal

Asigne uno de los roles de Event Hubs a la entidad de servicio de la aplicación en el ámbito deseado (espacio de nombres de Event Hubs, grupo de recursos, suscripción). Para asignar roles, consulte Asignación de roles de Azure mediante Azure Portal.

Una vez que defina el rol y su ámbito, puede probar este comportamiento con ejemplos en esta ubicación de GitHub. Para más información sobre cómo administrar el acceso a los recursos de Azure con Azure RBAC y Azure Portal, consulte este artículo.

Bibliotecas cliente para la adquisición de tokens

Una vez que haya registrado su aplicación y le haya concedido permisos para enviar/recibir datos en Azure Event Hubs, podrá agregar código a su aplicación para autenticar una entidad de seguridad y adquirir un token de OAuth 2.0. Para autenticar y adquirir el token, puede usar una de las bibliotecas de autenticación de la Plataforma de identidad de Microsoft u otra biblioteca de código abierto que admita OpenID o 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.

Ejemplos

Pasos siguientes

Consulte los artículos relacionados siguientes: