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 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, 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 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 se puede limitar a la suscripción, al grupo de recursos, al espacio de nombres de Event Hubs o a cualquier recurso en é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.
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.
En el caso de los roles integrados del registro de esquema, consulte Roles del registro de esquema.
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 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 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 para autorizar los recursos de Event Hubs es registrar una aplicación cliente con un inquilino de Microsoft Entra en 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, 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 más información sobre el identificador de cliente, consulte Objetos de aplicación y de entidad de servicio de 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.
Asignación de roles de Azure mediante Azure Portal
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 asignar roles, consulte Asignación de roles de Azure mediante Azure Portal.
Después de definir el rol y su ámbito, pruebe este comportamiento con ejemplos disponibles en esta ubicación de GitHub. Para más información sobre cómo administrar el acceso a los recursos de Azure mediante el control de acceso basado en rol (RBAC) de Azure y Azure Portal, consulte este artículo.
Uso de bibliotecas cliente para adquirir tokens
Después de registrar la aplicación y concederle permisos para enviar o recibir datos en Azure Event Hubs, agregue código a la aplicación para autenticar una entidad de seguridad y adquirir un token de 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 con el paquete Microsoft.Azure.EventHubs de .NET heredado. Estamos trabajando para crear una versión de este ejemplo mediante el paquete Azure.Messaging.EventHubs más reciente. Vea 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 más información sobre el uso del nuevo paquete, consulte ejemplos aquí.
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 obtener información sobre cómo asignar y administrar asignaciones de roles de Azure con Azure PowerShell, la CLI de Azure o la API REST, consulte 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