Autenticación y autorización de Service Bus

Hay dos maneras de autenticar y autorizar el acceso a los recursos de Azure Service Bus: Azure Active Directory (Azure AD) y Firma de acceso compartido (SAS). En este artículo se proporcionan detalles sobre el uso de estos dos tipos de mecanismos de seguridad.

Azure Active Directory

La integración de Azure AD para recursos de Service Bus proporciona control de acceso basado en rol de Azure (RBAC) para el control específico del acceso de los clientes a los recursos. Puede usar Azure RBAC para conceder permisos a una entidad de seguridad, que puede ser un usuario, un grupo o una entidad de servicio de aplicación. Azure AD autentica la entidad de seguridad para devolver un token de OAuth 2.0. El token se puede usar para autorizar una solicitud de acceso a un recurso de Service Bus (cola, tema, etc.).

Consulte los siguientes artículos para más información sobre la autenticación con Azure AD:

Nota:

API REST de Service Bus admite la autenticación de OAuth con Azure AD.

Importante

La autorización de usuarios o aplicaciones mediante un token de OAuth 2.0 devuelto por Azure AD proporciona una seguridad superior y facilidad de uso sobre las firmas de acceso compartido (SAS). Con Azure AD, no hay ninguna necesidad de almacenar los tokens en su código y arriesgarse a posibles vulnerabilidades de seguridad. Se recomienda usar Azure AD con las aplicaciones de Azure Service Bus siempre que 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 Azure AD. 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 claves para SAS 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 claves en temas y colas de Service Bus. SAS también es compatible con Azure Relay.

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.

La compatibilidad de la autenticación de SAS con Service Bus se incluye en el SDK .NET de Azure 2.0 y versiones posteriores. SAS incluye compatibilidad con una regla de autorización de acceso compartido. Todas las API que aceptan una cadena de conexión como parámetro incluyen compatibilidad con cadenas de conexión SAS.

Pasos siguientes

Consulte los siguientes artículos para más información sobre la autenticación con Azure AD:

Consulte los siguientes artículos para más información sobre la autenticación con SAS: