ID Microsoft Entra 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/de ressources, une application ou un principal de service, tel que les identités attribuées par le système et les identités attribué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 l’ID Microsoft Entra, 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.

Accès entre locataires lors de l’utilisation de l’ID Microsoft Entra

Dans certains cas, votre serveur et votre ressource Azure SignalR peuvent ne pas se trouver dans le même locataire en raison de problèmes de sécurité.

Une application mutualisée peut vous aider dans ce scénario.

Si vous avez déjà inscrit une application monolocataire, consultez convertir votre application monolocataire en multilocataire.

Une fois que vous avez inscrit l’application multilocataire dans votre tenantA, vous devez l’approvisionner comme application d’entreprise dans votre tenantB.

Créer une application d’entreprise à partir d’une application mutualisée dans l’ID Microsoft Entra

L'application enregistrée dans votre tenantA et l'application d'entreprise approvisionnée dans votre tenantB partagent le même ID d'application (client).

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 des rôles RBAC Azure à un principal de sécurité, il est essentiel de définir l’étendue appropriée de l’accès dont ils doivent disposer. Nous vous conseillons d’accorder l’étendue la plus limitée nécessaire pour réduire les autorisations inutiles. N’oubliez pas que les rôles RBAC Azure attribués à un périmètre supérieur ou plus large sont automatiquement hérités des ressources imbriquées dans ce périmètre.

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.
groupe de ressources 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 de gestion.

Rôles intégrés d'Azure pour les ressources du service Azure SignalR

Rôle Description Cas d’usage
Serveur d’application SignalR Accès aux API de création et de génération de clés de connexion du serveur. Le plus souvent utilisé pour un serveur d'applications avec la ressource Azure SignalR, qui fonctionne en mode par défaut.
Propriétaire SignalR Service Accès complet à toutes les API de plan de données, y compris les API REST, la création de la connexion au serveur et les API de génération de clés/jetons. Pour le serveur de négociation avec la ressource Azure SignalR exécuté en mode serverless, il nécessite des autorisations d’API REST et des autorisations d’API d’authentification.
Propriétaire de l’API REST SignalR Accès complet aux API REST du plan de données. Pour utiliser Azure SignalR Management SDK afin de gérer les connexions et les groupes, mais ne pas établir de connexions serveur ni traiter les demandes de négociation.
Lecteur de l’API REST SignalR Accès en lecture seule aux API REST de plan de données. Utilisez-le lors de l’écriture d’un outil de surveillance qui appelle des API REST en lecture seule.

Étapes suivantes