Partager via


Autoriser l’accès avec Microsoft Entra ID pour Azure SignalR Service

Azure SignalR Service prend en charge Microsoft Entra ID pour autoriser l’envoi de requêtes à partir de ses ressources. Microsoft Entra ID vous permet d’utiliser le contrôle d’accès en fonction du rôle (RBAC) pour accorder des autorisations à un principal de sécurité. Un principal de sécurité est 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.

Microsoft Entra ID authentifie le principal de sécurité et retourne un jeton OAuth 2.0. Le jeton est ensuite utilisé pour autoriser une requête à la ressource Azure SignalR Service.

Autoriser les demandes auprès de Azure SignalR Service avec Microsoft Entra ID offre davantage de sécurité et de facilité d’utilisation par rapport à l’autorisation de clé d’accès. Nous vous recommandons vivement d’utiliser Microsoft Entra ID dès que possible pour les autorisations chaque fois car il garantit l’accès avec les privilèges minimum requis.

Important

La désactivation de l’authentification locale peut avoir les conséquences suivantes :

  • L’ensemble actuel de clés d’accès est définitivement supprimé.
  • Les jetons signés avec l’ensemble actuel de clés d’accès ne sont plus disponibles.

Vue d’ensemble de Microsoft Entra ID

Lorsqu’un principal de sécurité essaye d’accéder à une ressource Azure SignalR Service, la requête doit être autorisée. L’utilisation de Microsoft Entra ID pour accéder à une ressource nécessite deux étapes :

  1. Microsoft Entra ID authentifie le principal de sécurité puis retourne un jeton OAuth 2.0.
  2. Ce jeton est transmis dans le cadre d’une requête adressée à la ressource Azure SignalR Service afin d’autoriser la requête.

Authentification côté client avec Microsoft Entra ID

Lorsque vous utilisez une clé d’accès, la clé est partagée entre votre serveur d’application (ou application de fonction) et la ressource Azure SignalR Service. Azure SignalR Service authentifie la demande de connexion cliente à l’aide de la clé partagée.

Lorsque vous utilisez Microsoft Entra ID, il n’existe aucune clé partagée. Au lieu de cela, Azure SignalR Service utilise une clé d’accès temporaire pour signer les jetons utilisés dans les connexions clientes. Le workflow contient quatre étapes :

  1. Le principal de sécurité requiert un jeton OAuth 2.0 de Microsoft Entra ID pour s’authentifier.
  2. Le principal de sécurité appelle l’API d’authentification SignalR pour obtenir une clé d’accès temporaire.
  3. Le principal de sécurité signe un jeton client avec la clé d’accès temporaire pour les connexions clientes lors de la négociation.
  4. Le client utilise le jeton client pour se connecter aux ressources Azure SignalR Service.

La clé d’accès temporaire expire dans 90 minutes. Nous vous recommandons d’en prendre une nouvelle et de faire changer l’ancienne une fois par heure.

Le flux de travail est généré dans le Kit de développement logiciel (SDK) Azure SignalR Service pour le serveur d’applications.

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

Microsoft Entra ID autorise les droits d’accès aux ressources sécurisées via RBAC Azure. Azure SignalR Service définit un ensemble de rôles intégrés Azure qui englobent les ensembles communs d’autorisations pour accéder aux ressources Azure SignalR Service. Vous pouvez également définir des rôles personnalisés pour l’accès aux ressources Azure SignalR Service.

Étendue des ressources

Avant d’attribuer un rôle RBAC Azure à un principal de sécurité, déterminez l’étendue de l’accès dont doit disposer le principal de sécurité. Nous vous recommandons d’accorder la plus petite étendue possible. Les rôles RBAC Azure définis au niveau d’une étendue plus large sont hérités par les ressources qui sont sous eux.

Vous pouvez étendre l’accès aux ressources Azure SignalR Service aux niveaux suivants, en commençant par l’étendue la plus restreinte.

Étendue Description
Ressource individuelle S’applique uniquement à la ressource cible.
Resource group S’applique à toutes les ressources d’un groupe de ressources.
Abonnement S’applique à toutes les ressources d'un abonnement.
Groupe d’administration S’applique à toutes les ressources des abonnements inclus dans un groupe d’administration.

Rôles intégrés Azure pour les ressources Azure SignalR Service

Rôle Description Cas d’usage
Serveur d’application SignalR Accès à l’API de création de connexion WebSocket et aux API d’authentification. Le plus souvent utilisé pour un serveur d’applications.
Propriétaire SignalR Service Accès complet à toutes les API de plan de données, y compris les API REST, l’API de création de connexion WebSocket et les API d’authentification. Utilisez le mode serverless pour l’autorisation avec Microsoft Entra ID car il nécessite des autorisations d’API REST et d’API d’authentification.
Propriétaire de l’API REST SignalR Accès complet aux API REST de plan de données. Souvent utilisé pour écrire un outil qui gère les connexions et les groupes, mais qui n’effectue pas de connexions ou appelle des API d’authentification.
Lecteur de l’API REST SignalR Accès en lecture seule aux API REST de plan de données. Utilisé communément pour écrire un outil d’analyse qui appelle uniquement les API REST de plan de données en lecture seule de Azure SignalR Service.

Étapes suivantes