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é. Cliquez sur Enregistrer.

    Ajouter une identité attribuée par le système dans le portail

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.

    Ajouter une identité attribuée par l’utilisateur dans le portail

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 les paramètres du hub, puis ajoutez ou modifiez un gestionnaire d’événements en amont.

    msi-setting

  3. Dans la section Authentification, sélectionnez Utiliser l’authentification et cochez Spécifier l’audience du jeton émis. L’audience devient la revendication aud dans le jeton d’accès obtenu, que vous pouvez utiliser pour la validation dans votre gestionnaire d’événements. Vous pouvez choisir l’une des options suivantes :

    • Faites votre choix parmi les applications Microsoft Entra existantes. L’ID de l’application que vous choisissez sera utilisé.
    • L’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 :

  1. Dans le 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. Dans Action à exécuter quand une demande n’est pas authentifiée, sélectionnez Se connecter avec Microsoft Entra ID.

  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 Microsoft Entra ID.

    Capture d’écran montrant des informations de base pour ajouter un fournisseur d’identité.

  7. Accédez à votre service Web PubSub, puis suivez les étapes pour ajouter une identité affectée par le système ou une identité affectée par l’utilisateur.

  8. Sous l’onglet Paramètres du service Web PubSub, sélectionnez Modifier pour modifier les paramètres de votre hub, puis Modifier pour modifier les paramètres de votre gestionnaire d’événements. Ensuite, dans la section Authentification, sélectionnez Utiliser une identité managée et Sélectionner parmi des 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 é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.

L’intergiciel Microsoft Entra intègre des fonctionnalités permettant de 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 obtenir davantage d’informations sur les bibliothèques d’autorisation Microsoft Entra et des exemples de code, consultez Bibliothèques d’authentification de plateforme d’identité Microsoft.

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