Identités managées pour Azure SignalR Service
Dans Azure SignalR Service, vous pouvez utiliser une identité managée à partir de Microsoft Entra ID pour :
- Obtenir des jetons d’accès.
- Accéder aux secrets dans Azure Key Vault.
Le service ne prend en charge qu’une seule identité managée. Vous pouvez créer une identité affectée par le système ou une identité affectée par l’utilisateur. Une identité affectée par le système est dédiée à votre instance Azure SignalR Service et est supprimée lorsque vous supprimez l’instance. Une identité affectée par l’utilisateur est gérée indépendamment de votre ressource Azure SignalR Service.
Cet article explique comment créer une identité managée pour le service Azure SignalR Service et comment l’utiliser dans les scénarios serverless.
Prérequis
Pour utiliser une identité managée, vous devez disposer des éléments suivants :
- Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Une ressource Azure SignalR Service.
- Les ressources en amont auxquelles vous souhaitez accéder, comme une ressource Azure Key Vault.
- Une application Azure Functions (application de fonction).
Ajouter une identité managée à Azure SignalR Service
Vous pouvez ajouter une identité managée à Azure SignalR Service dans le Portail Azure ou Azure CLI. Cet article vous montre comment ajouter une identité managée à Azure SignalR Service dans le Portail Azure.
Ajouter une identité affectée par le système
Pour ajouter une identité managée affectée par le système à votre instance Azure SignalR Service :
Dans le Portail Azure, naviguez vers votre instance Azure SignalR Service.
Sélectionnez Identité.
Dans l’onglet Attribuée par le système, définissez État sur Activé.
Cliquez sur Enregistrer.
Sélectionnez Oui pour confirmer la modification.
Ajouter une identité attribuée par l’utilisateur
Pour ajouter une identité affectée par l’utilisateur à votre instance Azure SignalR Service, vous devez créer l’identité, puis l’ajouter à votre service.
Créez une ressource d’identité managée attribuée par l’utilisateur en suivant ces instructions.
Dans le Portail Azure, naviguez vers votre instance Azure SignalR Service.
Sélectionnez Identité.
Dans l’onglet Attribuée par l’utilisateur, sélectionnez Ajouter.
Dans le menu déroulant Identités managées affectées par l’utilisateur, sélectionnez l’identité.
Sélectionnez Ajouter.
Utilisation d’une identité managée dans les scénarios serverless
Azure SignalR Service est un service complètement managé. Il utilise une identité managée pour obtenir un jeton d’accès. Dans les scénarios serverless, le service ajoute le jeton d’accès à l’en-tête Authorization
dans une requête en amont.
Activer l’authentification de l’identité managée dans les paramètres en amont
Une fois que vous avez ajouté une identité affectée par le système ou une identité affectée par l’utilisateur à votre instance Azure SignalR Service, vous pouvez activer l’authentification d’identité managée dans les paramètres de points de terminaison en amont :
Dans le Portail Azure, naviguez vers votre instance Azure SignalR Service.
Sélectionnez Paramètres dans le menu.
Sélectionnez le mode de service serverless.
Dans la zone d’édition Ajouter un modèle d’URL en amont, entrez le modèle d’URL de point de terminaison en amont. Consultez Paramètres de modèle d’URL.
Sélectionnez Ajouter un paramètre en amont, puis sélectionnez un astérisque quelconque.
Dans les Paramètres en amont, configurez vos paramètres de point de terminaison en amont.
Dans les paramètres d’authentification de l’identité managée, pour Audience dans le jeton émis, vous pouvez préciser la ressource cible. La ressource devient une revendication
aud
dans le jeton d’accès obtenu. Celle-ci peut être utilisée dans le cadre de la validation dans vos points de terminaison en amont. La ressource peut avoir l’un des formats suivants :- ID d’application (client) du principal de service.
- URI de l’ID d’application du principal de service.
Important
L’utilisation d’une ressource vide acquiert en fait un jeton ciblant Microsoft Graph. À l’heure actuelle, Microsoft Graph permet de chiffrer les jetons. Une application doit donc utiliser Microsoft Graph pour authentifier le jeton. Dans la pratique, vous devez toujours créer un principal de service pour représenter votre cible en amont. Définissez l’ID d’application ou l’URI d’ID d’application du principal de service que vous avez créé.
Authentification dans une application de fonction
Vous pouvez facilement définir la validation d’accès pour une application de fonction sans modifier le code à l’aide du Portail Azure :
Dans le Portail Azure, accédez à l’application de fonction.
Sélectionnez Authentification dans le menu déroulant.
Sélectionnez Ajouter un fournisseur d’identité.
Sous l’onglet Informations de base, dans la liste déroulante Fournisseur d’identité, sélectionnez Microsoft.
Dans Action à exécuter quand une demande n’est pas authentifiée, sélectionnez Se connecter avec Microsoft Entra ID.
L’option permettant de créer une nouvelle inscription est sélectionnée par défaut. Vous pouvez modifier le nom de l’inscription. Pour plus d’informations sur l’activation d’un fournisseur Microsoft Entra, consultez Configurer votre application App Service ou Azure Functions pour utiliser une connexion Microsoft Entra ID.
Accédez à Azure SignalR Service, puis suivez les étapes pour ajouter une identité affectée par le système ou une identité affectée par l’utilisateur.
Dans Azure SignalR Service, accédez à Paramètres en amont, puis choisissez Utiliser une identité gérée et Sélectionner à partir d’applications existantes. Sélectionnez l’application créée précédemment.
Une fois ces paramètres configurés, l’application de fonction rejette les requêtes sans jeton d’accès dans l’en-tête.
Validation des jetons d’accès
Si vous n’utilisez pas WebApp ou Azure Function, vous pouvez également valider le jeton.
Le jeton dans l’en-tête Authorization
est un jeton d’accès à la plateforme d’identité Microsoft.
Afin de valider les jetons d’accès, votre application doit également valider l’audience et les jetons de signature. Ces jetons doivent être validés d’après les valeurs du document de découverte OpenID. Pour trouver un exemple, consultez la version du document indépendante du locataire.
L’intergiciel Microsoft Entra intègre des fonctionnalités permettant de valider les jetons d’accès. Vous pouvez parcourir nos exemples de code de Plateforme d’identités Microsoft pour en trouver dans la langue de votre choix.
Des bibliothèques et des exemples de code qui montrent comment gérer la validation des jetons sont disponibles. Il existe également plusieurs bibliothèques partenaires open source disponibles pour la validation des JSON Web Tokens (JWT). Il existe au moins une option pour la plupart des plateformes et des langues. Pour obtenir plus d’informations sur les bibliothèques d’authentification Microsoft Entra et des exemples de code, consultez Bibliothèques d’authentification de plateforme d’identité Microsoft.
Utiliser une identité managée pour une référence Key Vault
Azure SignalR Service peut accéder à Key Vault pour recevoir des secrets en utilisant l’identité managée.
- Ajoutez une identité affectée par le système ou une identité affectée par l’utilisateur à votre instance Azure SignalR Service.
- Accordez une autorisation d’accès en lecture de secret pour l’identité managée dans les stratégies d’accès de Key Vault. Consultez Attribuer une stratégie d’accès Key Vault à l’aide du Portail Azure.
Actuellement, vous pouvez utiliser cette fonctionnalité pour référencer un secret dans le modèle d’URL en amont.