Partager via


Autoriser l'accès aux ressources Web PubSub à l'aide de Microsoft Entra ID

Le service Azure Web PubSub permet l'autorisation des demandes adressées aux ressources Azure Web PubSub en utilisant Microsoft Entra ID.

En utilisant le contrôle d'accès en fonction du rôle (RBAC) avec Microsoft Entra ID, les autorisations peuvent être accordées à un principal de sécurité[1]. Microsoft Entra autorise ce principal de sécurité et retourne un jeton OAuth 2.0, que les ressources Web PubSub peuvent ensuite utiliser pour autoriser une demande.

L'utilisation de l'identifiant Microsoft Entra pour l'autorisation des demandes Web PubSub offre une sécurité et une facilité d'utilisation accrues par rapport à l'autorisation par clé d'accès. Microsoft recommande d'utiliser l'autorisation Microsoft Entra avec les ressources Web PubSub si possible pour garantir l'accès avec les privilèges minimum nécessaires.

[1] principal de sécurité : un groupe d’utilisateurs/ressources, une application ou un principal du service, comme des identités affectées par le système et des identités affectées par l’utilisateur.

Vue d'ensemble de Microsoft Entra ID pour Web PubSub

L'authentification est nécessaire pour accéder à une ressource Web PubSub lors de l'utilisation de Microsoft Entra ID. Cette authentification implique deux étapes :

  1. Tout d'abord, Azure authentifie le principal de sécurité et émet un jeton OAuth 2.0.
  2. Ensuite, le jeton est ajouté à la requête à la ressource Web PubSub. Le service Web PubSub utilise le jeton pour vérifier si le principal de service a l'accès à la ressource.

Authentification côté client lors de l'utilisation de Microsoft Entra ID

Le serveur de négociation/l'application de fonction partage une clé d'accès avec la ressource Web PubSub, ce qui permet au service Web PubSub d'authentifier les demandes de connexion client à l'aide de jetons clients générés par la clé d'accès.

Toutefois, la clé d'accès est souvent désactivée lors de l'utilisation de Microsoft Entra ID pour améliorer la sécurité.

Pour résoudre ce problème, nous avons développé une API REST qui génère un jeton client. Ce jeton peut être utilisé pour se connecter au service Azure Web PubSub.

Pour utiliser cette API, le serveur de négociation doit d'abord obtenir un jeton Microsoft Entra d'Azure pour s'authentifier. Le serveur peut ensuite appeler l'API d'authentification de Web PubSub avec le jeton Microsoft Entra pour récupérer un jeton client. Le jeton client est ensuite retourné au client, qui peut l'utiliser pour se connecter au service Azure Web PubSub.

Nous avons fourni des fonctions d’assistance (par exemple, « GenerateClientAccessUri ») pour les langages de programmation pris en charge.

Attribuer des rôles Azure pour les droits d’accès

Microsoft Entra autorise les droits d'accès aux ressources sécurisées via le contrôle d'accès en fonction du rôle. Azure Web PubSub définit un ensemble de rôles intégrés Azure qui englobent les ensembles communs d’autorisations permettant d’accéder aux ressources Web PubSub. Vous pouvez également définir des rôles personnalisés pour l’accès aux ressources Web PubSub.

Étendue des ressources

Avant d'attribuer un rôle RBAC Azure à un principal de sécurité, il est important d'identifier le niveau d'accès approprié que le principal doit avoir. Il est recommandé d'accorder le rôle avec l'étendue la plus étroite possible. Les ressources situées en dessous héritent de rôles Azure RBAC dont l'étendue est plus large.

Vous pouvez définir l'accès aux ressources Azure Web PubSub aux niveaux suivants, en commençant par le niveau le plus restreint :

  • Une ressource individuelle.

    Dans cette étendue, une attribution de rôle s’applique uniquement à la ressource cible.

  • Un groupe de ressources.

    Pour cette étendue, l’attribution de rôle s’applique à toutes les ressources dans le groupe de ressources.

  • Un abonnement.

    Pour cette étendue, l’attribution de rôle s’applique à toutes les ressources dans tous les groupes de ressources de l’abonnement.

  • Un groupe d’administration.

    Dans cette étendue, une attribution de rôle s’applique à toutes les ressources dans tous les groupes de ressources de tous les abonnements dans le groupe d’administration.

Rôles intégrés Azure pour les ressources Web PubSub.

  • Web PubSub Service Owner

    Accès complet aux autorisations de plan de données, y compris les API REST en lecture/écriture et les API d’authentification.

    Ce rôle est le plus couramment utilisé pour générer un serveur en amont.

  • Web PubSub Service Reader

    Utilisez-le pour accorder des autorisations d’API REST en lecture seule aux ressources Web PubSub.

    Il est utilisé lorsque vous souhaitez écrire un outil d'analyse qui appelle UNIQUEMENT les API REST de plan de données en LECTURE SEULE de Web PubSub.

Étapes suivantes

Pour savoir comment créer une application Azure et utiliser l'autorisation Microsoft Entra, consultez :

Pour savoir comment configurer une identité managée et utiliser l'authentification Microsoft Entra, consultez :

Pour en savoir plus sur les rôles et attributions de rôle, consultez

Pour savoir comment créer des rôles personnalisés, consultez

Pour savoir comment utiliser uniquement l'autorisation Microsoft Entra, consultez :