Accorder à une identité managée l’accès à une destination Event Grid

Cette section décrit comment ajouter l’identité pour votre rubrique système ou rubrique personnalisés à un rôle Azure.

Prérequis

Affectez une identité managée affectée par le système à l’aide des instructions disponibles dans ces articles :

Destinations et rôles Azure pris en charge

Une fois que vous avez activé l’identité pour votre rubrique ou votre domaine personnalisé Event Grid, Azure crée automatiquement une identité dans Microsoft Entra ID. Ajoutez cette identité aux rôles Azure appropriés afin que la rubrique ou le domaine personnalisés puissent transférer des événements vers les destinations prises en charge. Par exemple, ajoutez l’identité au rôle Expéditeur de données Azure Event Hubs pour un espace de noms Azure Event Hubs pour que la rubrique personnalisée Event Grid puisse transférer les événements aux hubs d’événements de cet espace de noms.

Actuellement, Azure Event Grid prend en charge les rubriques et domaines personnalisés configurés avec une identité managée affectée par le système pour transférer les événements vers les destinations suivantes. Ce tableau indique également les rôles à associer à l’identité pour que la rubrique personnalisée puisse transférer les événements.

Destination Rôle Azure
Files d’attente et rubriques Service Bus Expéditeur de données Azure Service Bus
Hubs d'événements Azure Expéditeur de données Azure Event Hubs
Stockage Blob Azure Contributeur aux données Blob du stockage
Stockage File d’attente Azure Expéditeur de messages de données en file d’attente du stockage

Utilisation du portail Azure

Vous pouvez utiliser le portail Azure pour affecter à l’identité de la rubrique ou du domaine personnalisés un rôle approprié afin que la rubrique ou le domaine personnalisés puissent transférer les événements vers la destination.

L’exemple suivant ajoute une identité managée pour une rubrique personnalisée Event Grid nommée msitesttopic au rôle Expéditeur de données Azure Service Bus pour un espace de noms Service Bus contenant une ressource de file d’attente ou de rubrique. Lors de l’ajout au rôle au niveau de l’espace de noms, la rubrique personnalisée Event Grid peut transférer des événements à toutes les entités au sein de l’espace de noms.

  1. Accédez à votre espace de noms Service Bus sur le Portail Azure.

  2. Sélectionnez Contrôle d’accès dans le volet gauche.

  3. Dans la section Ajouter une attribution de rôle (préversion) , sélectionnez Ajouter.

    Image showing the selection of Add role assignment (Preview) menu

  4. Dans la page Ajouter une attribution de rôle, sélectionnez Expéditeur de données Azure Service Bus, puis Suivant.

    Image showing the selection of the Azure Service Bus Data Sender role

  5. Sous l’onglet Membres, effectuez les étapes suivantes :

    1. Sélectionnez Utilisateur, groupe ou principal de service, puis cliquez sur + Sélectionner les membres. L’option Identité managée ne prend pas encore en charge les identités Event Grid.

    2. Dans la fenêtre Sélectionner les membres, recherchez et sélectionnez le principal de service portant le même nom que votre rubrique personnalisée. Dans l’exemple suivant, il s’agit de spcustomtopic0728.

      Image showing the selection of the User, group, or service principal option

    3. Dans la fenêtre Sélectionner les membres, cliquez sur Sélectionner.

      Image showing the selection of the Managed identity option

  6. À présent, sous l’onglet Membres, sélectionnez Suivant.

    Image showing the selection of the Next button on the Members page

  7. Dans la page Vérifier + attribuer, sélectionnez Vérifier + attribuer après avoir vérifié les paramètres.

Les étapes sont similaires pour l’ajout d’une identité à d’autres rôles mentionnés dans le tableau.

Utilisation de l’interface de ligne de commande Microsoft Azure

L’exemple présenté dans cette section montre comment utiliser Azure CLI pour ajouter une identité à un rôle Azure. Les exemples de commandes sont destinés aux rubriques personnalisées Event Grid. Les commandes sont similaires pour les domaines Event Grid.

Obtenir l’ID du principal pour l’identité système de la rubrique personnalisée

Récupérez l’ID du principal de l’identité managée par le système de la rubrique personnalisée, puis attribuez l’identité aux rôles appropriés.

topic_pid=$(az ad sp list --display-name "$<TOPIC NAME>" --query [].objectId -o tsv)

Créer une attribution de rôle pour Event hubs à différentes étendues

L’exemple d’interface CLI suivant montre comment ajouter une identité de rubrique personnalisée au rôle Expéditeur de données Azure Event Hubs au niveau de l’espace de noms ou de l’Event Hub. Si vous créez l’attribution de rôle au niveau de l’espace de noms, la rubrique personnalisée peut transférer des événements à tous les Event Hubs dans cet espace de noms. Si vous créez une attribution de rôle au niveau de l’Event Hub, la rubrique personnalisée ne peut transférer des événements qu’à cet Event Hub spécifique.

role="Azure Event Hubs Data Sender" 
namespaceresourceid=$(az eventhubs namespace show -n $<EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 
eventhubresourceid=$(az eventhubs eventhub show -n <EVENT HUB NAME> --namespace-name <EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one event hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$eventhubresourceid" 

Créer une attribution de rôle pour une rubrique Service Bus dans différentes étendues

L’exemple d’interface de ligne de commande suivant montre comment ajouter une identité de rubrique personnalisée Event Hub au rôle Expéditeur de données Azure Service Bus au niveau de l’espace de noms ou de la rubrique Service Bus. Si l’attribution de rôle est créée au niveau de l’espace de noms, la rubrique Event Grid peut transférer les événements à toutes les entités (files d’attente et rubriques Service Bus) de cet espace de noms. Si vous créez une attribution de rôle au niveau de la file d’attente ou de la rubrique Service Bus, la rubrique personnalisée Event Grid ne peut transférer des événements qu’à cette file d’attente ou à cette rubrique Service Bus spécifique.

role="Azure Service Bus Data Sender" 
namespaceresourceid=$(az servicebus namespace show -n $RG\SB -g "$RG" --query "{I:id}" -o tsv 
sbustopicresourceid=$(az servicebus topic show -n topic1 --namespace-name $RG\SB -g "$RG" --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$sbustopicresourceid" 

Étapes suivantes

Maintenant que vous avez affecté une identité attribuée par le système à votre rubrique système, à une rubrique personnalisée ou à un domaine, et que vous avez ajouté l’identité aux rôles appropriés sur les destinations, consultez l’article Remise d’événement avec une identité managée pour savoir comment remettre des événements vers des destinations selon l’identité.