Share via


Identités managées pour Azure SignalR Service

Dans Azure SignalR Service, vous pouvez utiliser une identité managée de Microsoft Entra ID vers :

  • Obtenez 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 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.
  • Ressources en amont auxquelles vous souhaitez accéder, comme une ressource Azure Key Vault.
  • 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 :

  1. Dans le Portail Azure, accédez à votre instance Azure SignalR Service.

  2. Sélectionnez Identité.

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

    Screenshot that shows selections for adding a system-assigned identity in the portal.

  4. Sélectionnez Enregistrer.

  5. 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 au service.

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

  2. Dans le Portail Azure, accédez à votre instance Azure SignalR Service.

  3. Sélectionnez Identité.

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

  5. Dans le menu déroulant Identités managées affectées par l’utilisateur, sélectionnez l’identité.

    Screenshot that shows selections for adding a user-assigned identity in the portal.

  6. 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

Après avoir 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 point de terminaison amont :

  1. Dans le Portail Azure, accédez à votre instance Azure SignalR Service.

  2. Sélectionnez Paramètres dans le menu.

  3. Sélectionnez le mode de service serverless.

  4. Dans la zone de texte Ajouter un modèle d’URL amont, entrez le modèle d’URL du point de terminaison amont. Consultez les paramètres du modèle d’URL.

  5. Sélectionnez Ajouter un paramètre en amont, puis sélectionnez n’importe quel astérisque.

    Screenshot that shows Azure SignalR Service settings for adding an upstream URL pattern.

  6. Dans la Paramètres en amont, configurez vos paramètres de point de terminaison amont.

    Screenshot of upstream settings for Azure SignalR Service.

  7. Dans les paramètres d’authentification d’identité managée, pour Audience dans le jeton émis, vous pouvez spécifier la ressource cible. La ressource devient une revendication dans le jeton d’accès aud obtenu, qui peut être utilisée dans le cadre de la validation dans vos points de terminaison amont. La ressource peut se trouver dans l’un des formats suivants :

    • ID d’application (client) du principal de service.
    • 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 jetons doivent être validés d’après les valeurs du document de découverte OpenID. Pour obtenir un 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 les exemples de code Plateforme d'identités Microsoft pour en trouver un 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. Plusieurs bibliothèques de partenaires open source sont également disponibles pour la validation JWT (JSON Web Token). Il existe au moins une option pour la plupart des plateformes et des langues. Pour plus d’informations sur les bibliothèques d’authentification Microsoft Entra et les exemples de code, consultez Plateforme d'identités Microsoft bibliothèques d’authentification.

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

Azure SignalR Service peut accéder à Key Vault pour obtenir des secrets à l’aide de l’identité managée.

  1. Ajoutez une identité affectée par le système ou une identité affectée par l’utilisateur à votre instance Azure SignalR Service.
  2. Accordez l’autorisation de lecture de secret pour l’identité managée dans les stratégies d’accès dans Key Vault. Consultez Affecter une stratégie d’accès Key Vault à l’aide de la Portail Azure.

Actuellement, vous pouvez utiliser cette fonctionnalité pour référencer un secret dans le modèle d’URL amont.

Étapes suivantes