Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 l’ID Microsoft Entra avec Azure Event Hubs est que vous n’avez pas besoin de stocker les informations d’identification dans le code. Au lieu de cela, demandez un jeton d’accès OAuth 2.0 à partir de la plateforme d’identités Microsoft. Le nom de la ressource pour demander un jeton est https://eventhubs.azure.net/, et c’est le même pour tous les environnements cloud et locataires. Pour les clients Kafka, la ressource à utiliser pour demander un jeton est https://<namespace>.servicebus.windows.net. Microsoft Entra authentifie le principal de sécurité, tel qu’un utilisateur, un groupe, un principal de service ou une identité managée, exécutant l’application. Si l’authentification réussit, l’ID Microsoft Entra retourne un jeton d’accès à l’application, qui peut ensuite utiliser le jeton pour autoriser les demandes aux ressources Azure Event Hubs.
Lorsque vous attribuez un rôle à un principal de sécurité Microsoft Entra, Azure accorde l’accès à ces ressources pour ce principal de sécurité. Vous pouvez définir l’étendue de l’accès à l’abonnement, au groupe de ressources, à l’espace de noms Event Hubs ou à toute ressource qu’il contient. Un principal de 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 les ressources Azure.
Note
Une définition de rôle est une collection d’autorisations. Le contrôle d’accès en fonction du rôle Azure (Azure RBAC) applique ces autorisations via l’attribution de rôle. Une attribution de rôle comprend trois éléments : principal de sécurité, définition de rôle et étendue. Pour plus d’informations, consultez Comprendre les différents rôles.
Prerequisites
- Un compte Azure avec un abonnement actif. Si vous n’en avez pas, créez un compte gratuit.
- Un espace de noms pour les Event Hubs et un hub événementiel. Pour les créer, consultez Démarrage rapide : Créer un hub d’événements via le portail Azure.
- Autorisation d’enregistrer une application dans votre tenant Microsoft Entra. Du moins le rôle de développeur d’applications .
- Autorisation d’attribuer des rôles Azure dans l’étendue cible. Le rôle de propriétaire ou administrateur d’accès utilisateur inclut cette permission.
Rôles intégrés pour Azure Event Hubs
Azure fournit ces rôles intégrés pour autoriser l’accès aux données Event Hubs à l’aide de Microsoft Entra ID et OAuth :
- Propriétaire de données Azure Event Hubs : Utilisez ce rôle pour accorder un accès complet aux ressources Event Hubs.
- Expéditeur de données Azure Event Hubs : un principal de sécurité affecté à ce rôle peut envoyer des événements à un hub d’événements spécifique ou à tous les hubs d’événements d’un espace de noms.
- Récepteur de données Azure Event Hubs : un principal de sécurité affecté à ce rôle peut recevoir des événements d’un hub d’événements spécifique ou de tous les hubs d’événements d’un espace de noms.
Pour les rôles intégrés du registre de schémas, consultez Rôles du registre de schémas.
Important
La version préliminaire supportait l'ajout de privilèges d'accès aux données d'Event Hubs dans le rôle de Propriétaire ou Contributeur. Toutefois, ces privilèges ne sont plus respectés. Si vous utilisez le rôle Propriétaire ou Contributeur, basculez vers le rôle Propriétaire de données Azure Event Hubs.
Authentifier à partir d’une application
L’un des principaux avantages de l’utilisation de l’ID Microsoft Entra avec Event Hubs est que vous n’avez pas besoin de stocker vos informations d’identification dans votre code. Au lieu de cela, demandez un jeton d’accès OAuth 2.0 à partir de 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 expliquent comment configurer une application native ou une application web pour l’authentification avec la plateforme d’identités 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.
Inscrivez votre application avec un compte Microsoft Entra ID
La première étape pour utiliser Microsoft Entra ID afin d’autoriser les ressources des Event Hubs est d’enregistrer une application client auprès d’un locataire Microsoft Entra dans le centre d’administration Microsoft Entra. Suivez les étapes du Démarrage rapide : Enregistrer une application auprès de la plateforme d’identités Microsoft pour enregistrer une application dans Microsoft Entra ID représentant votre application qui tente d’accéder aux ressources d’Event Hubs.
Lorsque vous inscrivez votre application cliente, vous fournissez des informations la concernant. Microsoft Entra ID fournit un ID client, également appelé ID d’application, pour associer l’application au runtime Microsoft Entra. Pour en savoir plus sur l’ID client, voir Objets d’application et principaux de service dans Microsoft Entra ID.
Note
Si vous inscrivez l’application en tant qu’application native, spécifiez un URI valide pour l’URI de redirection. Pour les applications natives, cette valeur n’a pas besoin d’être une URL réelle. Pour les applications web, l’URI de redirection doit être un URI valide, car il spécifie l’URL où les jetons sont fournis.
Une fois votre application inscrite, l’ID d’application (client) s’affiche sous Paramètres :
Créer une clé secrète client pour l’authentification
L’application nécessite une clé secrète client pour prouver son identité lors de la demande d’un 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.
Attribuez des rôles Azure en utilisant le portail Azure
Attribuez l’un des rôles Event Hubs au principal de service de l’application au niveau de l’étendue souhaitée, par exemple l’espace de noms Event Hubs, le groupe de ressources ou l’abonnement. Pour connaître la procédure détaillée, consultez Attribuer des rôles Azure à l’aide du portail Azure.
Après avoir défini le rôle et son champ d’application, testez ce comportement avec des exemples disponibles dans cet emplacement GitHub. Pour en savoir plus sur la gestion de l’accès aux ressources Azure en utilisant le contrôle d’accès basé sur les rôles (RBAC) d’Azure et le portail Azure, consultez cet article.
Utiliser des bibliothèques clientes pour acquérir des jetons
Après avoir enregistré votre application et lui avoir accordé les permissions d’envoyer ou de recevoir des données dans Azure Event Hubs, ajoutez un code à votre application pour authentifier un principal de sécurité et acquérir un jeton OAuth 2.0. Pour authentifier et acquérir le jeton, utilisez l’une des bibliothèques d’authentification de la plateforme d’identités Microsoft ou une autre bibliothèque open source qui prend en charge OpenID 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.
Samples
- Exemples RBAC utilisant le package .NET Microsoft.Azure.EventHubs hérité. Nous travaillons à créer une nouvelle version de cet exemple en utilisant la dernière version d'Azure. Message.EventHubs. Consultez l’Identité managée déjà convertie.
-
Exemple RBAC utilisant le package Java com.microsoft.azure.eventhubs hérité. Utilisez le guide de migration pour migrer cet exemple pour utiliser le nouveau package (
com.azure.messaging.eventhubs). Pour en savoir plus sur l’utilisation du nouveau package, consultez les exemples Java d’Event Hubs.
Contenu connexe
Pour en savoir plus sur Azure RBAC, consultez Présentation du contrôle d’accès en fonction du rôle Azure (Azure RBAC).
Pour apprendre à assigner et gérer les attributions de rôles Azure avec Azure PowerShell, Azure CLI ou l’API REST, consultez ces articles :
- Ajouter ou supprimer des attributions de rôle Azure à l’aide d’Azure PowerShell
- Ajouter ou supprimer des attributions de rôle Azure à l’aide d’Azure CLI
- Ajouter ou supprimer des attributions de rôle Azure à l’aide de l’API REST
- Ajouter des attributions de rôle Azure à l’aide de modèles Azure Resource Manager
Consultez les articles associés suivants :
- Authentifier une identité managée avec Microsoft Entra ID pour accéder aux ressources Event Hubs
- Authentifier les requêtes adressées à Azure Event Hubs à l’aide de signatures d’accès partagé
- Autoriser l’accès aux ressources Event Hubs à l’aide de Microsoft Entra ID
- Autoriser l’accès aux ressources Event Hubs à l’aide de signatures d’accès partagé