Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
- Una cuenta de Azure con una suscripción activa. Si no tiene una, cree una cuenta gratuita.
- Un espacio de nombres para Event Hubs y un hub de eventos. Para crearlos, consulta Inicio rápido: Crear un centro de eventos usando el portal de Azure.
- Permiso para registrar una aplicación en tu tenant de Microsoft Entra. Al menos el puesto de desarrollador de aplicaciones .
- Permiso para asignar roles de Azure en el ámbito objetivo. El rol de Propietario o Administrador de Acceso al Usuario incluye este permiso.
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:
- Propietario de los datos de Azure Event Hubs: use este rol para proporcionar acceso completo a los recursos de Event Hubs.
- Remitente de datos de Azure Event Hubs: una entidad de seguridad asignada a este rol puede enviar eventos a un centro de eventos específico o a todos los centros de eventos de un espacio de nombres.
- Receptor de datos de Azure Event Hubs: una entidad de seguridad asignada a este rol puede recibir eventos de un centro de eventos específico o de todos los centros de eventos de un espacio de nombres.
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:
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
- Ejemplos de RBAC que usan el paquete heredado Microsoft.Azure.EventHubs de .NET. Estamos trabajando para crear una nueva versión de este ejemplo con la versión más reciente del paquete Azure.Messaging.EventHubs. Consulte la identidad administrada ya convertida.
-
Ejemplo de RBAC con el paquete com.microsoft.azure.eventhubs de Java heredado. Use la guía de migración para migrar este ejemplo para usar el nuevo paquete (
com.azure.messaging.eventhubs). Para saber más sobre el uso del nuevo paquete, consulta las muestras de Java de Event Hubs.
Contenido relacionado
Para más información sobre RBAC de Azure, consulte ¿Qué es el control de acceso basado en rol de Azure (RBAC de Azure)?
Para aprender a asignar y gestionar asignaciones de roles en Azure con Azure PowerShell, CLI de Azure o la API REST, consulta estos artículos:
- Incorporación o eliminación de asignaciones de roles de Azure con Azure PowerShell
- Incorporación o eliminación de asignaciones de roles de Azure mediante la CLI de Azure
- Incorporación o eliminación de asignaciones de roles de Azure mediante la API REST
- Incorporación de asignaciones de roles mediante plantillas de Azure Resource Manager
Consulte los artículos relacionados siguientes:
- Autenticación de una identidad administrada con el identificador de Entra de Microsoft para acceder a los recursos de Event Hubs
- Autenticación de solicitudes para Azure Event Hubs mediante firmas de acceso compartido
- Autorizar el acceso a los recursos de Centros de eventos mediante Microsoft Entra ID
- Autorización del acceso a recursos de Event Hubs mediante firmas de acceso compartido