Authentification et de autorisation Service Bus

Il existe deux façons d’authentifier et d’autoriser l’accès aux ressources Azure Service Bus :

  • Microsoft Entra ID
  • Signatures d’accès partagé (SAP).

Cet article vous explique l’utilisation de ces deux types de mécanismes de sécurité.

Microsoft Entra ID

L’intégration de Microsoft Entra à Service Bus fournit un contrôle d’accès en fonction du rôle (RBAC) aux ressources Service Bus. Vous pouvez utiliser le contrôle RBAC Azure pour accorder des autorisations à un principal de sécurité, qui peut être un utilisateur, un groupe, un principal de service d’application ou une identité managée. Microsoft Entra authentifie le principal de sécurité et retourne un jeton OAuth 2.0. Le jeton vous permet d’autoriser une requête d’accès à une ressource Service Bus (file d’attente, rubrique, etc.).

Pour plus d’informations sur l’authentification avec Microsoft Entra ID, consultez les articles suivants :

Remarque

L’API REST Service Bus prend en charge l’authentification OAuth avec Microsoft Entra ID.

Important

Autoriser les utilisateurs ou les applications avec un jeton OAuth 2.0 retourné par Microsoft Entra ID garantit une meilleure sécurité et une plus grande simplicité d’utilisation que les signatures d’accès partagé (SAP). Microsoft Entra ID vous évite d’avoir à stocker des jetons dans votre code et d’être ainsi exposé au risque de failles de sécurité. Nous vous recommandons d’utiliser Microsoft Entra ID avec vos applications Azure Service Bus dans la mesure du possible.

Vous pouvez désactiver l’authentification par clé locale ou SAP pour un espace de noms Service Bus et autoriser uniquement l’authentification Microsoft Entra. Pour obtenir des instructions étape par étape, consultez Désactiver l’authentification locale.

Signature d’accès partagé

L’authentification SAP vous permet d’accorder un accès utilisateur aux ressources Service Bus avec des droits spécifiques. L’authentification SAP dans Service Bus implique la configuration d’une clé de chiffrement avec les droits associés sur une ressource Service Bus. Les clients peuvent alors accéder à cette ressource en présentant un jeton SAS qui se compose de la ressource URI à laquelle accéder et une échéance signée avec la clé configurée.

Vous pouvez configurer des clés pour SAS dans un espace de noms Service Bus. La clé s’applique à toutes les entités de messagerie dans cet espace de noms. Vous pouvez également configurer des clés sur les rubriques et files d’attente Service Bus. Pour utiliser SAS, vous pouvez configurer une règle d’autorisation d’accès partagé sur un espace de noms, une file d’attente ou une rubrique. Cette règle se compose des éléments suivants :

  • KeyName : identifie la règle.
  • PrimaryKey : clé de chiffrement utilisée pour signer/valider les jetons SAS.
  • SecondaryKey : clé de chiffrement utilisée pour signer/valider les jetons SAS.
  • Rights : représente la collection des droits Listen, Send ou Manage accordés.

Les règles d’autorisation configurées au niveau de l’espace de noms peuvent accorder l’accès à toutes les entités dans un espace de noms pour les clients avec des jetons signés à l’aide de la clé correspondante. Vous pouvez configurer jusqu’à 12 règles d’autorisation de ce type sur un espace de noms, une file d’attente ou une rubrique Service Bus. Par défaut, une règle d’autorisation d’accès partagé avec tous les droits est configurée pour chaque espace de noms dès sa mise en service initiale.

Pour accéder à une entité, le client requiert un jeton SAP créé à l’aide d’une règle d'autorisation d’accès partagé spécifique. Le jeton SAS est généré à l’aide du code HMAC-SHA256 d’une chaîne de ressource qui se compose de l’URI de la ressource à laquelle vous souhaitez accéder et d’une échéance avec une clé de chiffrement associée à la règle d’autorisation.

La prise en charge de l’authentification SAS pour Service Bus est incluse dans le Kit de développement Azure .NET SDK versions 2.0 et ultérieures. SAP inclut la prise en charge d’une règle d’autorisation d’accès partagé. Toutes les API qui acceptent une chaîne de connexion en tant que paramètre incluent la prise en charge des chaînes de connexion des services SAS.

Étapes suivantes

Pour plus d’informations sur l’authentification avec Microsoft Entra ID, consultez les articles suivants :

Pour plus d’informations sur l’authentification avec SAS, consultez les articles suivants :