Delen via


Beheerde identiteit toegang verlenen tot Event Grid-bestemming

In deze sectie wordt beschreven hoe u de identiteit voor uw systeemonderwerp, aangepast onderwerp of domein toevoegt aan een Azure-rol.

Vereisten

Wijs een door het systeem toegewezen beheerde identiteit toe met behulp van instructies uit de volgende artikelen:

Ondersteunde bestemmingen en Azure-rollen

Nadat u de identiteit voor uw aangepaste Event Grid-onderwerp of -domein hebt ingeschakeld, maakt Azure automatisch een identiteit in Microsoft Entra-id. Voeg deze identiteit toe aan de juiste Azure-rollen, zodat het aangepaste onderwerp of domein gebeurtenissen kan doorsturen naar ondersteunde bestemmingen. Voeg bijvoorbeeld de identiteit toe aan de rol Azure Event Hubs-gegevenszender voor een Azure Event Hubs-naamruimte, zodat het aangepaste Event Grid-onderwerp gebeurtenissen kan doorsturen naar Event Hubs in die naamruimte.

Momenteel ondersteunt Azure Event Grid aangepaste onderwerpen of domeinen die zijn geconfigureerd met een door het systeem toegewezen beheerde identiteit om gebeurtenissen door te sturen naar de volgende bestemmingen. Deze tabel bevat ook de rollen waarin de identiteit zich moet bevinden, zodat het aangepaste onderwerp de gebeurtenissen kan doorsturen.

Doel Azure-rol
Service Bus-wachtrijen en -onderwerpen Azure Service Bus-gegevenszender
Azure Event Hubs Azure Event Hubs-gegevenszender
Azure Blob Storage Inzender van opslag-blobgegevens
Azure Queue Storage Afzender van opslagwachtrijgegevensbericht

De Azure-portal gebruiken

U kunt Azure Portal gebruiken om het aangepaste onderwerp of de domeinidentiteit toe te wijzen aan een geschikte rol, zodat het aangepaste onderwerp of domein gebeurtenissen naar de bestemming kan doorsturen.

In het volgende voorbeeld wordt een beheerde identiteit toegevoegd voor een aangepast Event Grid-onderwerp met de naam msitesttopic aan de rol Azure Service Bus-gegevenszender voor een Service Bus-naamruimte die een wachtrij- of onderwerpresource bevat. Wanneer u toevoegt aan de rol op naamruimteniveau, kan het aangepaste Event Grid-onderwerp gebeurtenissen doorsturen naar alle entiteiten binnen de naamruimte.

  1. Ga naar uw Service Bus-naamruimte in Azure Portal.

  2. Selecteer Access Control in het linkerdeelvenster.

  3. Selecteer Toevoegen in de sectie Roltoewijzing toevoegen (preview).

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

  4. Selecteer op de pagina Roltoewijzing toevoegen de optie Azure Service Bus-gegevenszender en selecteer Volgende.

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

  5. Voer op het tabblad Leden de volgende stappen uit:

    1. Selecteer Gebruiken, groeperen of service-principal en klik op + Leden selecteren. De optie Beheerde identiteit biedt nog geen ondersteuning voor Event Grid-identiteiten.

    2. Zoek en selecteer in het venster Leden selecteren de service-principal met dezelfde naam als uw aangepaste onderwerp. In het volgende voorbeeld is het spcustomtopic0728.

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

    3. Klik in het venster Leden selecteren op Selecteren.

      Image showing the selection of the Managed identity option

  6. Selecteer Nu terug op het tabblad Leden de optie Volgende.

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

  7. Selecteer Op de pagina Beoordelen en toewijzen de optie Controleren en toewijzen nadat u de instellingen hebt bekeken.

De stappen zijn vergelijkbaar voor het toevoegen van een identiteit aan andere rollen die in de tabel worden vermeld.

De Azure CLI gebruiken

In het voorbeeld in deze sectie ziet u hoe u de Azure CLI gebruikt om een identiteit toe te voegen aan een Azure-rol. De voorbeeldopdrachten zijn bedoeld voor aangepaste Event Grid-onderwerpen. De opdrachten voor Event Grid-domeinen zijn vergelijkbaar.

De principal-id ophalen voor de systeemidentiteit van het aangepaste onderwerp

Haal eerst de principal-id op van de door het systeem beheerde identiteit van het aangepaste onderwerp en wijs de identiteit toe aan de juiste rollen.

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

Een roltoewijzing maken voor Event Hubs in verschillende bereiken

In het volgende CLI-voorbeeld ziet u hoe u de identiteit van een aangepast onderwerp toevoegt aan de rol Azure Event Hubs-gegevenszender op naamruimteniveau of op event hub-niveau. Als u de roltoewijzing op naamruimteniveau maakt, kan het aangepaste onderwerp gebeurtenissen doorsturen naar alle Event Hubs in die naamruimte. Als u een roltoewijzing maakt op event hub-niveau, kan het aangepaste onderwerp alleen gebeurtenissen doorsturen naar die specifieke Event Hub.

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" 

Een roltoewijzing maken voor een Service Bus-onderwerp op verschillende bereiken

In het volgende CLI-voorbeeld ziet u hoe u de identiteit van een aangepast Event Grid-onderwerp toevoegt aan de rol Azure Service Bus-gegevenszender op naamruimteniveau of op Service Bus-onderwerpniveau. Als u de roltoewijzing op naamruimteniveau maakt, kan het Event Grid-onderwerp gebeurtenissen doorsturen naar alle entiteiten (Service Bus-wachtrijen of onderwerpen) binnen die naamruimte. Als u een roltoewijzing maakt op het niveau van de Service Bus-wachtrij of het onderwerp, kan het aangepaste Event Grid-onderwerp alleen gebeurtenissen doorsturen naar die specifieke Service Bus-wachtrij of dat specifieke onderwerp.

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" 

Volgende stappen

Nu u een door het systeem toegewezen identiteit hebt toegewezen aan uw systeemonderwerp, aangepast onderwerp of domein en de identiteit hebt toegevoegd aan de juiste rollen op bestemmingen, raadpleegt u Gebeurtenissen leveren met behulp van de beheerde identiteit voor het leveren van gebeurtenissen aan bestemmingen met behulp van de identiteit.