Identités managées pour le service Azure Web PubSub

Cet article explique comment créer une identité managée pour le service Azure Web PubSub et comment l’utiliser.

Important

Le service Azure Web PubSub ne peut prendre en charge qu’une seule identité managée. Cela signifie que vous pouvez ajouter soit une identité affectée par le système, soit une identité affectée par l’utilisateur.

Ajouter une identité affectée par le système

Pour configurer une identité managée dans le portail Azure, vous allez d’abord créer une instance de service Azure Web PubSub, puis activer la fonctionnalité.

  1. Créez une instance de service Azure Web PubSub dans le portail comme vous le faites habituellement. Accédez-y dans le portail.

  2. Sélectionnez Identité.

  3. Dans l’onglet Attribuée par le système, définissez État sur Activé. Sélectionnez Enregistrer.

    Add a system-assigned identity in the portal

Ajouter une identité attribuée par l’utilisateur

La création d’une instance Azure Web PubSub avec une identité attribuée par l’utilisateur nécessite la création de l’identité, puis l’ajout de son identificateur de ressource à votre service.

  1. Créez une ressource d’identité managée attribuée par l’utilisateur en suivant ces instructions.

  2. Créez une instance de service Azure Web PubSub dans le portail comme vous le faites habituellement. Accédez-y dans le portail.

  3. Sélectionnez Identité.

  4. Dans l’onglet Attribuée par l’utilisateur, sélectionnez Ajouter.

  5. Recherchez l’identité que vous avez créée précédemment et sélectionnez-la. Sélectionnez Ajouter.

    Add a user-assigned identity in the portal

Utiliser une identité managée dans les scénarios d’événements clients

Azure Web PubSub étant un service complètement managé, vous ne pouvez pas utiliser une identité managée pour obtenir des jetons manuellement. Au lieu de cela, quand le service Azure Web PubSub envoie des événements au gestionnaire d’événements, il utilise l’identité managée pour obtenir un jeton d’accès. Le service définit ensuite le jeton d’accès dans l’en-tête Authorization de la requête http.

Activer l’authentification d’identité managée dans les paramètres du gestionnaire d’événements

  1. Ajoutez une identité affectée par le système ou une identité affectée par l’utilisateur.

  2. Accédez à Configurer hub Paramètres et ajoutez ou modifiez un gestionnaire d’événements amont.

    msi-setting

  3. Dans la section Authentification, sélectionnez Utiliser l’authentification et case activée Spécifier l’audience du jeton émis. L’audience deviendra la aud revendication dans le jeton d’accès obtenu, qui peut être utilisée dans le cadre de la validation dans votre gestionnaire d’événements. Vous pouvez choisir l’une des options suivantes :

    • Sélectionnez les applications Microsoft Entra existantes. L’ID de l’application que vous choisissez sera utilisé.
    • URI d’ID d’application du principal de service.

    Important

    L’utilisation d’une ressource vide acquiert de manière actully une cible de jeton pour Microsoft Graph. Comme aujourd’hui, Microsoft Graph active le chiffrement des jetons afin qu’il ne soit pas disponible pour l’application pour authentifier le jeton autre que Microsoft Graph. Dans la pratique courante, vous devez toujours créer un principal de service pour représenter votre cible 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 modification de code à l’aide de l’Portail Azure :

  1. Dans la Portail Azure, accédez à l’application de fonction.

  2. Sélectionnez Authentification dans le menu déroulant.

  3. Sélectionnez Ajouter un fournisseur d’identité.

  4. Sous l’onglet Informations de base , dans la liste déroulante fournisseur d’identité, sélectionnez Microsoft.

  5. En action à effectuer lorsque la demande n’est pas authentifiée, sélectionnez Se connecter avec l’ID Microsoft Entra.

  6. 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 à l’ID Microsoft Entra.

    Screenshot that shows basic information for adding an identity provider.

  7. Accédez à Azure SignalR Service et suivez les étapes pour ajouter une identité affectée par le système ou une identité affectée par l’utilisateur.

  8. Dans Azure SignalR Service, accédez aux paramètres en amont, puis sélectionnez Utiliser l’identité managée et sélectionnez parmi les applications existantes. Sélectionnez l’application que vous avez créée précédemment.

Après avoir configuré ces paramètres, l’application de fonction rejette les demandes 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 éléments doivent être validés d’après les valeurs du document de découverte OpenID. Par exemple, consultez la version indépendante du client du document.

Le middleware Microsoft Entra dispose de fonctionnalités intégrées pour valider les jetons d’accès. Vous pouvez parcourir nos exemples pour en trouver un dans le langage de votre choix.

Nous fournissons des bibliothèques et des exemples de code qui montrent comment gérer la validation des jetons. Il existe également plusieurs bibliothèques de partenaire open source disponibles pour la validation de JSON Web Token (JWT). Il existe au moins une option pour la plupart des plateformes et des langues. Pour plus d’informations sur les bibliothèques d’autorisation Microsoft Entra et les exemples de code, consultez Plateforme d'identités Microsoft bibliothèques d’authentification.

En particulier, si le gestionnaire d’événements héberge dans Azure Function ou Web Apps, un moyen simple consiste à configurer la connexion Microsoft Entra.

Utiliser une identité managée pour une référence Azure Key Vault

Le service Web PubSub peut accéder au Key Vault pour obtenir un secret en utilisant l’identité managée.

  1. Ajoutez une identité affectée par le système ou une identité affectée par l’utilisateur pour le service Azure Web PubSub.

  2. Accordez une autorisation de lecture secrète pour l’identité géré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, cette fonctionnalité peut être utilisée dans les scénarios suivants :

  • Utilisez la syntaxe {@Microsoft.KeyVault(SecretUri=<secret-identity>)} pour obtenir des secrets du Key Vault dans le paramètre de modèle d’URL du gestionnaire d’événements.

Étapes suivantes