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.
Una identidad gestionada es una identidad en Microsoft Entra ID que Azure gestiona para ti, por lo que una aplicación puede autenticarse a servicios que soportan la autenticación Microsoft Entra sin almacenar ninguna credencial. Azure Event Hubs soporta autenticación Microsoft Entra con identidades gestionadas para recursos de Azure, lo que permite a aplicaciones que se ejecutan en Azure conectarse a los Event Hubs sin incrustar cadenas de conexión ni claves de acceso en el código o la configuración.
Cuando se usa una identidad administrada junto con la autenticación de Microsoft Entra, las aplicaciones que se ejecutan en servicios como Azure Virtual Machines, Azure Functions, Azure App Service y Virtual Machine Scale Sets pueden acceder a los datos de Event Hubs con credenciales que Azure aprovisiona y rota automáticamente. Este enfoque elimina el riesgo de filtraciones de claves y reduce la carga operativa de la gestión de credenciales.
Para un ejemplo paso a paso, véase Access Azure Event Hubs desde una máquina virtual usando una identidad gestionada.
Funcionamiento de la autenticación de identidad administrada
El acceso a un recurso de Event Hubs a través de una identidad gestionada es un proceso de dos pasos:
- Autenticación: La identidad gestionada solicita un token OAuth 2.0 desde Microsoft Entra ID. Azure proporciona la identidad automáticamente en función del entorno de cálculo donde se ejecuta el código, por lo que no se almacena ni se pasa ningún secreto en la aplicación.
- Autorización: El token se presenta al servicio Event Hubs, que concede acceso en función de los roles de control de acceso basado en roles de Azure (RBAC) asignados a la identidad.
Para una descripción completa del flujo de autenticación y autorización, consulte Autorizar acceso a recursos de Azure Event Hubs usando Microsoft Entra ID.
Tipos de identidad administrada
Event Hubs funciona con ambos tipos de identidades gestionadas:
- Identidad gestionada asignada por el sistema: Habilitada directamente en un recurso de Azure, como una máquina virtual o una aplicación de servicios de aplicaciones. Su ciclo de vida está ligado a ese recurso, y solo ese recurso puede usarlo para solicitar tokens.
- Identidad gestionada asignada por el usuario: Creada como un recurso independiente de Azure y asignada a uno o más recursos de Azure, para que varias cargas de trabajo puedan compartir la misma identidad.
Para saber más sobre los dos tipos y cuándo elegir cada uno, consulte Tipos de identidad gestionados. Para la lista de servicios que soportan identidades gestionadas, consulte Servicios que soportan identidades gestionadas para recursos de Azure.
Roles integrados de Azure para Event Hubs
Después de habilitar una identidad gestionada, asigna un rol integrado en Azure que defina sus permisos sobre los datos de los Event Hubs. Azure ofrece los siguientes roles integrados para autorizar el acceso a los datos de los Event Hubs con Microsoft Entra ID:
| Role | Description |
|---|---|
| Propietario de los datos de Azure Event Hubs | Concede acceso completo a los recursos de los Centros de Eventos. |
| Azure Event Hubs remitente de datos | Concede permiso para enviar eventos a los recursos de Event Hubs. |
| Receptor de datos de Azure Event Hubs | Concede permiso para recibir eventos de los recursos de Event Hubs. |
Puedes asignar un rol a nivel de grupo de consumidores, centro de eventos, espacio de nombres, grupo de recursos o suscripción. Concede el alcance más limitado que se adapte a las necesidades de la solicitud. Para obtener la lista completa de ámbitos y los detalles de los roles, consulta Roles integrados de Azure para Azure Event Hubs. Para asignar un rol en el portal de Azure, consulte Asignar roles de Azure usando el portal de Azure.
Comportamiento de caducidad de tokens
Cuando eliminas una identidad gestionada de un rol RBAC en un Event Hubs, el cambio no entra en vigor inmediatamente en una aplicación en ejecución. Si el servicio o la app de origen no se reinicia, puede seguir enviando eventos o recibiendo eventos desde el hub de eventos hasta que el token expire. La validez predeterminada del token es de 24 horas. Este comportamiento es por diseño.
Para revocar el acceso inmediatamente después de eliminar la identidad del rol, reinicia la aplicación o servicio de origen para que el token existente expire.
Soporte para SDK de clientes
Las bibliotecas cliente de SDK de Azure adquieren el token de identidad gestionada para ti a través de DefaultAzureCredential, que detecta automáticamente la identidad gestionada disponible en el entorno anfitrión. Pasas la credencial a EventHubProducerClient para enviar eventos y a EventHubConsumerClient para recibir eventos, sin proporcionar una cadena de conexión ni una clave.
var credential = new DefaultAzureCredential();
// Send events with a managed identity.
var producerClient = new EventHubProducerClient(
"<namespace>.servicebus.windows.net",
"<event-hub-name>",
credential);
// Receive events with a managed identity.
var consumerClient = new EventHubConsumerClient(
EventHubConsumerClient.DefaultConsumerGroupName,
"<namespace>.servicebus.windows.net",
"<event-hub-name>",
credential);
Instala el paquete más reciente Azure.Messaging.EventHubs de NuGet para usar estos clientes. Para ver ejemplos ejecutables, véase:
- Publicar eventos con una identidad administrada (.NET), que usa el paquete actual Azure.Messaging.EventHubs.
- Ejemplo de identidad administrada (.NET, heredado), que utiliza el paquete heredado Microsoft.Azure.EventHubs.
- Publicar eventos con identidad de Azure (Java).
Centros de eventos para Apache Kafka
Las aplicaciones Apache Kafka pueden enviar eventos y recibir eventos desde Azure Event Hubs usando la identidad gestionada con OAuth. Para una muestra de Java, véase Event Hubs for Kafka: send and receive messages using managed identity OAuth.
Contenido relacionado
- Accede a Azure Event Hubs desde una máquina virtual usando una identidad gestionada
- ¿Qué son las identidades administradas para los recursos de Azure?
- Autorizar el acceso a los recursos de Centros de eventos mediante Microsoft Entra ID
- Autenticar solicitudes a Azure Event Hubs desde una aplicación utilizando Microsoft Entra ID
- Autenticación de solicitudes para Azure Event Hubs mediante firmas de acceso compartido
- Autorización del acceso a recursos de Event Hubs mediante firmas de acceso compartido