Utiliser une identité managée
Cet article explique comment créer et utiliser une identité managée dans Azure Web PubSub.
Important
Azure Web PubSub ne peut prendre en charge qu’une seule identité managée. Vous pouvez soit ajouter 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 Microsoft Azure, créez une instance Azure Web PubSub, puis activez la fonctionnalité.
Dans le portail Microsoft Azure, créez une ressource Web PubSub. Accédez à la ressource dans le portail.
Dans le menu de gauche, sélectionnez Identité.
Sélectionnez l’onglet Affecté par le système, puis définissez État sur Activé. Cliquez sur Enregistrer.
Ajouter une identité attribuée par l’utilisateur
Pour créer une ressource Web PubSub à l’aide d’une identité affectée par l’utilisateur, créez l’identité, puis ajoutez l’identificateur de ressource de l’identité à votre service.
Créez une identité managée affectée par l’utilisateur dans Azure.
Dans le portail Microsoft Azure, créez une ressource Web PubSub. Accédez à la ressource dans le portail.
Dans le menu de gauche, sélectionnez Identité.
Sélectionnez l’onglet Affecté(e) par l’utilisateur, puis Ajouter.
Recherchez l’identité que vous avez créée et sélectionnez-la. Sélectionnez Ajouter.
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, lorsque Web PubSub envoie des événements à un 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.
Configurer l’authentification d’identité managée pour un gestionnaire d’événements
Ajoutez une identité affectée par le système ou une identité affectée par l’utilisateur.
Accédez à Configurer les paramètres du hub, puis ajoutez ou modifiez un gestionnaire d’événements en amont.
Sous Authentification, sélectionnez Utiliser l’identité managée, puis cochez la case Spécifier l’audience du jeton émis. L’audience devient la revendication
aud
dans le jeton d’accès. La revendication peut faire partie de la validation de votre gestionnaire d’événements.Pour l’authentification, vous pouvez choisir l’une des options suivantes :
- Utilisez une application Microsoft Entra existante. L’ID d’application de l’application que vous choisissez est utilisé.
- Utilisez l’URI de l’ID d’application du principal de service.
Important
L’utilisation d’une ressource vide acquiert en fait une cible de jeton pour Microsoft Graph. Actuellement, Microsoft Graph permet le chiffrement du jeton, de sorte qu’il n’est pas possible pour une application d’authentifier le jeton autrement qu’avec Microsoft Graph. Vous devez toujours créer un principal de service pour représenter votre cible en amont. Définissez la valeur de l’ID d’application ou de l’URI d’ID d’application du principal de service que vous avez créé.
Authentification dans une application Azure Functions
Vous pouvez facilement définir la validation d’accès pour une application Functions sans apporter de modifications au code.
Dans le portail Microsoft Azure, accédez à l’application Functions.
Dans le menu de gauche, sélectionnez Authentification.
Sélectionnez Ajouter un fournisseur d’identité.
Sous l’onglet Informations de base, pour Fournisseur d’identité, sélectionnez Microsoft.
Pour 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 à votre ressource Web PubSub et ajoutez une identité affectée par le système ou une identité affectée par l’utilisateur.
Dans le menu de gauche de votre ressource Web PubSub, sélectionnez Paramètres.
Sélectionnez Modifier pour modifier les paramètres de votre hub, puis sélectionnez Modifier pour modifier les paramètres de votre gestionnaire d’événements. Sous Authentification, sélectionnez Utiliser l’identité managée et cochez la case Sélectionner dans les applications existantes. Sélectionnez l’application créée précédemment.
Après avoir configuré ces paramètres, l’application Functions rejette les demandes qui n’ont pas de jeton d’accès dans l’en-tête.
Valider un jeton d’accès
Si vous n’utilisez pas la fonctionnalité Web Apps d’Azure App Service ou d’Azure Functions, 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 un jeton d’accès, votre application doit également valider l’audience et le jeton de signature. Les jetons de signature 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 pour en trouver un écrit dans le langage que vous souhaitez utiliser.
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 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 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.
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 Key Vault
Web PubSub peut accéder à un coffre de clés pour obtenir un secret à l’aide d’une identité managée.
Ajoutez une identité affectée par le système ou une identité affectée par l’utilisateur pour Azure Web PubSub.
Dans le coffre de clés, accordez des autorisations de lecture de secret pour l’identité managée à l’aide de stratégies d’accès. Pour plus d’informations, consultez Attribuer une stratégie d’accès Key Vault à l’aide du portail Microsoft Azure.
Actuellement, cette fonctionnalité peut être utilisée dans le scénario suivant :
- Utilisez la syntaxe
{@Microsoft.KeyVault(SecretUri=<secret-identity>)}
pour obtenir des secrets à partir d’un coffre de clés dans le paramètre de modèle d’URL du gestionnaire d’événements.