Authentifier une application avec Microsoft Entra ID pour accéder aux ressources Event Hubs

Microsoft Azure offre la gestion du contrôle d’accès intégré pour les ressources et les applications basées sur Microsoft Entra ID. L’un des principaux avantages de l’utilisation de Microsoft Entra ID avec Azure Event Hubs est que vous n’avez plus besoin de stocker vos informations d’identification dans le code. Au lieu de cela, vous pouvez demander un jeton d’accès OAuth 2.0 auprès de la plateforme d’identité Microsoft. Le nom de la ressource pour demander un jeton est https://eventhubs.azure.net/. Il est identique pour tous les clouds/locataires (pour les clients Kafka, il s’agit de https://<namespace>.servicebus.windows.net). Microsoft Entra authentifie le principal de sécurité (un utilisateur, un groupe ou un principal de service) qui exécute l’application. Si l’authentification réussit, Microsoft Entra ID retourne un jeton d’accès à l’application, qui peut ensuite l’utiliser pour autoriser les requêtes d’accès aux ressources Azure Event Hubs.

Quand un rôle est attribué à un principal de sécurité Microsoft Entra, Azure accorde l’accès à ces ressources pour ce principal de sécurité. L’accès peut être limité au niveau de l’abonnement, du groupe de ressources, de l’espace de noms Event Hubs ou de toute ressource sous-jacente. Une sécurité Microsoft Entra peut attribuer des rôles à un utilisateur, à un groupe, à un principal de service d’application ou à une identité managée pour des ressources Azure.

Remarque

Une définition de rôle est une collection d’autorisations. Le contrôle d’accès en fonction du rôle Azure (RBAC Azure) contrôle la façon dont ces autorisations sont appliquées par le biais de l’attribution de rôle. Une attribution de rôle se compose de trois éléments : un principal de sécurité, une définition de rôle et une étendue. Pour plus d’informations, consultez Comprendre les différents rôles.

Rôles intégrés pour Azure Event Hubs

Azure fournit les rôles intégrés Azure suivants pour autoriser l’accès aux données Event Hubs à l’aide de Microsoft Entra ID et d’OAuth :

Pour les rôles intégrés du registre de schémas, consultez Rôles du registre de schémas.

Important

Notre préversion prenait en charge l’ajout de privilèges d’accès aux données Event Hubs au rôle Propriétaire ou Contributeur. Toutefois, les privilèges d’accès aux données pour le rôle Propriétaire et le rôle Contributeur ne sont plus respectés. Si vous utilisez le rôle Propriétaire ou Contributeur, passez à l’utilisation du rôle Propriétaire de données Azure Event Hubs.

Authentifier à partir d’une application

L’un des principaux avantages de l’utilisation de Microsoft Entra ID avec Event Hubs est que vous n’avez plus besoin de stocker vos informations d’identification dans votre code. À la place, vous pouvez demander un jeton d’accès OAuth 2.0 sur la plateforme d’identités Microsoft. Microsoft Entra authentifie le principal de sécurité (un utilisateur, un groupe ou un principal de service) qui exécute l’application. Si l’authentification réussit, Microsoft Entra ID retourne le jeton d’accès à l’application, qui peut ensuite l’utiliser pour autoriser les requêtes adressées à Azure Event Hubs.

Les sections suivantes vous montrent comment configurer votre application native ou une application web pour l’authentification avec la plateforme d’identité Microsoft 2.0. Pour plus d’informations sur la plateforme d’identité Microsoft 2.0, veuillez consulter l’article Présentation de la plateforme d’identités Microsoft (v2.0).

Pour avoir une vue d’ensemble du flux d’octroi de code OAuth 2.0, consultez Autoriser l’accès aux applications web Microsoft Entra à l’aide du flux d’octroi de code OAuth 2.0.

Inscrire votre application auprès d’un locataire Microsoft Entra ID

La première étape d’utilisation de Microsoft Entra ID pour autoriser les ressources Event Hubs consiste à inscrire votre application cliente auprès d’un locataire Microsoft Entra à partir du portail Azure. Suivez les étapes du Guide de démarrage rapide : Inscrire une application auprès du Plateforme d’identités Microsoft d’inscrire une application dans Microsoft Entra ID qui représente votre application qui tente d’accéder aux ressources Event Hubs.

Lorsque vous inscrivez votre application cliente, vous fournissez des informations la concernant à Azure AD. Microsoft Entra ID fournit ensuite un ID client (également appelé ID d’application) que vous pouvez utiliser pour associer votre application au runtime Microsoft Entra. Pour en savoir plus sur l’ID client, consultez Objets application et principal de service dans Microsoft Entra ID.

Remarque

Si vous inscrivez votre application comme une application native, vous pouvez spécifier n’importe quel URI valide pour l’URI de redirection. Pour les applications natives, cette valeur ne devra pas être une URL réelle. Pour les applications web, l’URI de redirection doit être un URI valide, car il spécifie l’URL à laquelle les jetons sont fournis.

Une fois votre application inscrite, l’ID (client) d’application se trouve sous Paramètres :

Screenshot showing the app registration page with application ID highlighted.

Créer une clé secrète client

L’application a besoin d’une clé secrète client pour prouver son identité lors de la requête de jeton. Suivez les étapes Ajouter une clé secrète client pour créer une clé secrète client pour votre application dans Microsoft Entra ID.

Attribuer des rôles Azure à l’aide du portail Azure

Attribuez un des rôles Event Hubs au principal de service de l’application à l’étendue souhaitée (espace de noms Event Hubs, groupe de ressources, abonnement). Pour connaître les étapes détaillées, consultez Attribuer des rôles Azure à l’aide du portail Azure.

Une fois que vous avez défini le rôle et son étendue, vous pouvez tester ce comportement à l’aide d’exemples dans cet emplacement GitHub. Pour en savoir plus sur la gestion de l’accès aux ressources Azure à l’aide d’Azure RBAC et du portail Azure, consultez cet article.

Bibliothèques clientes pour l’acquisition de jeton

Lorsque vous avez inscrit votre application et lui avez accordé les autorisations pour envoyer/recevoir des données dans Azure Event Hubs, vous pouvez ajouter du code à votre application pour authentifier un principal de sécurité et acquérir un jeton OAuth 2.0. Pour l’authentification et l’acquisition du jeton, vous pouvez utiliser l’une des bibliothèques d’authentification de la plateforme d’identités Microsoft ou toute autre bibliothèque open source prenant en charge OpenID ou Connect 1.0. Votre application peut alors utiliser le jeton d’accès pour autoriser une requête sur Azure Event Hubs.

Pour les scénarios dans lesquels l’acquisition de jetons est pris en charge, veuillez consulter la section Scénarios du référentiel GitHub Microsoft Authentication Library (MSAL) pour .NET.

Exemples

Étapes suivantes

Consultez les articles associés suivants :