Bevilja hanterad identitet åtkomst till Event Grid-målet
I det här avsnittet beskrivs hur du lägger till identiteten för systemämnet, det anpassade ämnet eller domänen i en Azure-roll.
Förutsättningar
Tilldela en systemtilldelad hanterad identitet med hjälp av instruktioner från följande artiklar:
Mål som stöds och Azure-roller
När du har aktiverat identitet för ditt anpassade Event Grid-ämne eller domän skapar Azure automatiskt en identitet i Microsoft Entra-ID. Lägg till den här identiteten i lämpliga Azure-roller så att det anpassade ämnet eller domänen kan vidarebefordra händelser till mål som stöds. Du kan till exempel lägga till identiteten i rollen Azure Event Hubs Data Sender för ett Azure Event Hubs-namnområde så att det anpassade Event Grid-ämnet kan vidarebefordra händelser till händelsehubbar i det namnområdet.
För närvarande stöder Azure Event Grid anpassade ämnen eller domäner som konfigurerats med en systemtilldelad hanterad identitet för att vidarebefordra händelser till följande mål. Den här tabellen ger dig också de roller som identiteten ska finnas i så att det anpassade ämnet kan vidarebefordra händelserna.
Mål | Azure-roll |
---|---|
Service Bus-köer och -ämnen | Azure Service Bus-datasändare |
Azure Event Hubs | Azure Event Hubs Data Sender |
Azure Blob Storage | Storage Blob datadeltagare |
Azure Queue Storage | Meddelandesändare för lagringskö |
Använda Azure Portal
Du kan använda Azure-portalen för att tilldela det anpassade ämnet eller domänidentiteten till en lämplig roll så att det anpassade ämnet eller domänen kan vidarebefordra händelser till målet.
I följande exempel läggs en hanterad identitet för ett anpassat Event Grid-ämne med namnet msitesttopic till Azure Service Bus Data Sender-rollen för ett Service Bus-namnområde som innehåller en kö- eller ämnesresurs. När du lägger till rollen på namnområdesnivå kan det anpassade avsnittet Event Grid vidarebefordra händelser till alla entiteter i namnområdet.
Gå till Service Bus-namnområdet i Azure-portalen.
Välj Åtkomstkontroll i det vänstra fönstret.
Välj Lägg till i avsnittet Lägg till rolltilldelning (förhandsversion).
På sidan Lägg till rolltilldelning väljer du Azure Service Bus Data Sender och väljer Nästa.
Följ dessa steg på fliken Medlemmar :
Välj Använd, grupp eller tjänstens huvudnamn och klicka på + Välj medlemmar. Alternativet Hanterad identitet stöder inte Event Grid-identiteter ännu.
I fönstret Välj medlemmar söker du efter och väljer tjänstens huvudnamn med samma namn som ditt anpassade ämne. I följande exempel är det spcustomtopic0728.
I fönstret Välj medlemmar klickar du på Välj.
Gå nu tillbaka till fliken Medlemmar och välj Nästa.
På sidan Granska + tilldela väljer du Granska + tilldela när du har granskat inställningarna.
Stegen liknar hur du lägger till en identitet i andra roller som nämns i tabellen.
Använda Azure CLI
Exemplet i det här avsnittet visar hur du använder Azure CLI för att lägga till en identitet i en Azure-roll. Exempelkommandona är för anpassade Event Grid-ämnen. Kommandona för Event Grid-domäner liknar dem.
Hämta huvud-ID:t för det anpassade ämnets systemidentitet
Hämta först huvud-ID:t för det anpassade ämnets systemhanterade identitet och tilldela identiteten till lämpliga roller.
topic_pid=$(az ad sp list --display-name "$<TOPIC NAME>" --query [].objectId -o tsv)
Skapa en rolltilldelning för händelsehubbar i olika omfång
I följande CLI-exempel visas hur du lägger till en anpassad ämnesidentitet i rollen Azure Event Hubs Data Sender på namnområdesnivå eller på händelsehubbnivå. Om du skapar rolltilldelningen på namnområdesnivå kan det anpassade ämnet vidarebefordra händelser till alla händelsehubbar i det namnområdet. Om du skapar en rolltilldelning på händelsehubbens nivå kan det anpassade ämnet endast vidarebefordra händelser till den specifika händelsehubben.
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"
Skapa en rolltilldelning för ett Service Bus-ämne i olika omfång
I följande CLI-exempel visas hur du lägger till en anpassad Event Grid-ämnesidentitet till Azure Service Bus Data Sender-rollen på namnområdesnivå eller på service bus-ämnesnivå. Om du skapar rolltilldelningen på namnområdesnivå kan Event Grid-ämnet vidarebefordra händelser till alla entiteter (Service Bus-köer eller ämnen) inom det namnområdet. Om du skapar en rolltilldelning på Service Bus-kö- eller ämnesnivå kan det anpassade avsnittet Event Grid endast vidarebefordra händelser till den specifika Service Bus-kön eller -ämnet.
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"
Nästa steg
Nu när du har tilldelat en systemtilldelad identitet till systemavsnittet, det anpassade ämnet eller domänen och lagt till identiteten i lämpliga roller på mål kan du läsa Leverera händelser med hjälp av den hanterade identiteten för att leverera händelser till mål med hjälp av identiteten.