Autenticación y autorización de Service Bus
Hay dos maneras de autenticar y autorizar el acceso a los recursos de Azure Service Bus:
- Microsoft Entra ID
- Firmas de acceso compartido (SAS).
En este artículo se proporcionan detalles sobre el uso de estos dos tipos de mecanismos de seguridad.
Microsoft Entra ID
La integración de Microsoft Entra con Service Bus proporciona control de acceso basado en roles (RBAC) a los recursos de Service Bus. Puede usar Azure RBAC para conceder permisos a una entidad de seguridad, que puede ser un usuario, un grupo, una entidad de servicio de aplicación o una identidad administrada. Microsoft Entra autentica la entidad de seguridad y devuelve un token de OAuth 2.0. Este token se puede usar para autorizar una solicitud de acceso a un recurso de Service Bus (cola, tema y suscripción).
Consulte los siguientes artículos para obtener más información sobre la autenticación con Microsoft Entra ID:
Nota:
La API de REST de Service Bus admite la autenticación de OAuth con Microsoft Entra ID.
Importante
La autorización de usuarios o aplicaciones mediante el token de OAuth 2.0 devuelto por Microsoft Entra ID proporciona seguridad y facilidad de uso superiores a las firmas de acceso compartido (SAS). Con Microsoft Entra ID, no es necesario almacenar los tokens en su código ni arriesgarse a posibles vulnerabilidades de seguridad. Se recomienda usar Microsoft Entra ID con las aplicaciones de Azure Service Bus cuando sea posible.
Puede deshabilitar la autenticación de clave SAS o local para un espacio de nombres de Service Bus y permitir solo la autenticación de Microsoft Entra. Para instrucciones paso a paso, consulte Deshabilitación de Local Authentication (Autenticación local).
Firma de acceso compartido
La autenticación de SAS le permite conceder acceso a un usuario a los recursos de Service Bus con derechos específicos. La autenticación SAS en Service Bus implica la configuración de una clave criptográfica con derechos asociados en un recurso de Service Bus. Los clientes pueden obtener acceso a ese recurso presentando un token SAS, que consta del URI del recurso al que se tiene acceso y una fecha de expiración firmada con la clave configurada.
Puede configurar directivas de acceso compartido en un espacio de nombres de Service Bus. La clave se aplica a todas las entidades de mensajes de ese espacio de nombres. También puede configurar directivas de acceso compartido en colas y temas de Service Bus. Para usar SAS, puede configurar una regla de autorización de acceso compartido en un espacio de nombres, cola o tema. Esta regla está formada por los siguientes elementos:
- KeyName: identifica la regla.
- PrimaryKey: es una clave criptográfica usada para firmar o validar tokens SAS.
- SecondaryKey: es una clave criptográfica usada para firmar o validar tokens SAS.
- Rights: representa la recopilación de derechos de escucha, envío o administración concedidos.
Las reglas de autorización configuradas en el nivel de espacio de nombres pueden conceder acceso a todas las entidades de un espacio de nombres a los clientes con tokens firmados con la clave correspondiente. Se puede configurar un máximo de 12 reglas de autorización en un espacio de nombres, cola o tema de Service Bus. De forma predeterminada, se configura una regla de autorización de acceso compartido con todos los derechos para cada espacio de nombres cuando se aprovisiona por primera vez.
Para obtener acceso a una entidad, el cliente requiere un token SAS generado con una regla de autorización de acceso compartido determinada. El token SAS se genera mediante el HMAC-SHA256 de una cadena de recurso que consta del URI del recurso al que se notifica el acceso y una fecha de expiración con una clave criptográfica asociada a la regla de autorización.
Para obtener información detallada sobre el uso de SAS para la autenticación, consulte Autenticación con firmas de acceso compartido.
Contenido relacionado
Consulte los siguientes artículos para obtener más información sobre la autenticación con Microsoft Entra ID:
Consulte los siguientes artículos para más información sobre la autenticación con SAS: