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, etc.).

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 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. 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 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: