Udělení spravované identity přístupu k cíli Event Gridu
Tato část popisuje, jak přidat identitu pro téma systému, vlastní téma nebo doménu do role Azure.
Požadavky
Přiřaďte spravovanou identitu přiřazenou systémem pomocí pokynů z následujících článků:
Podporované cíle a role Azure
Jakmile povolíte identitu pro vlastní téma nebo doménu služby Event Grid, Azure automaticky vytvoří identitu v Microsoft Entra ID. Přidejte tuto identitu do příslušných rolí Azure, aby vlastní téma nebo doména mohly předávat události do podporovaných cílů. Přidejte například identitu do role Odesílatele dat služby Azure Event Hubs pro obor názvů služby Azure Event Hubs, aby vlastní téma Event Gridu mohl předávat události do center událostí v tomto oboru názvů.
Azure Event Grid v současné době podporuje vlastní témata nebo domény nakonfigurované se spravovanou identitou přiřazenou systémem pro předávání událostí do následujících cílů. Tato tabulka také poskytuje role, ve které by měla být identita, aby vlastní téma mohly události předávat.
Cíl | Role Azure |
---|---|
Fronty a témata služby Service Bus | Odesílatel dat služby Azure Service Bus |
Azure Event Hubs | Odesílatel dat služby Azure Event Hubs |
Azure Blob Storage | Přispěvatel dat objektů blob úložiště |
Azure Queue Storage | Odesílatel datové zprávy fronty úložiště |
Použití portálu Azure Portal
Pomocí webu Azure Portal můžete přiřadit vlastní téma nebo identitu domény příslušné roli, aby vlastní téma nebo doména mohly předávat události do cíle.
Následující příklad přidá spravovanou identitu vlastního tématu Event Gridu s názvem msitesttopic do role Odesílatele dat služby Azure Service Bus pro obor názvů služby Service Bus, který obsahuje prostředek fronty nebo tématu. Když do role přidáte na úrovni oboru názvů, vlastní téma Event Gridu může předávat události všem entitm v rámci oboru názvů.
Na webu Azure Portal přejděte do oboru názvů služby Service Bus.
V levém podokně vyberte Řízení přístupu.
V části Přidat přiřazení role (Preview) vyberte Přidat.
Na stránce Přidat přiřazení role vyberte Odesílatele dat služby Azure Service Bus a vyberte Další.
Na kartě Členové postupujte takto:
Vyberte Použít, skupinu nebo instanční objekt a klikněte na + Vybrat členy. Možnost Spravovaná identita zatím nepodporuje identity Event Gridu.
V okně Vybrat členy vyhledejte a vyberte instanční objekt se stejným názvem jako vlastní téma. V následujícím příkladu je to spcustomtopic0728.
V okně Vybrat členy klikněte na Vybrat.
Teď zpátky na kartě Členové vyberte Další.
Na stránce Zkontrolovat a přiřadit vyberte Po kontrole nastavení možnost Zkontrolovat a přiřadit.
Postup je podobný přidání identity do jiných rolí uvedených v tabulce.
Použití Azure CLI
Příklad v této části ukazuje, jak pomocí Azure CLI přidat identitu do role Azure. Ukázkové příkazy jsou určené pro vlastní témata Event Gridu. Příkazy pro domény Event Gridu jsou podobné.
Získání ID objektu zabezpečení pro systémovou identitu vlastního tématu
Nejprve získejte ID objektu zabezpečení identity spravované systémem vlastního tématu a přiřaďte ji příslušným rolím.
topic_pid=$(az ad sp list --display-name "$<TOPIC NAME>" --query [].objectId -o tsv)
Vytvoření přiřazení role pro centra událostí v různých oborech
Následující příklad rozhraní příkazového řádku ukazuje, jak přidat identitu vlastního tématu do role Odesílatele dat služby Azure Event Hubs na úrovni oboru názvů nebo na úrovni centra událostí. Pokud vytvoříte přiřazení role na úrovni oboru názvů, vlastní téma může předávat události do všech center událostí v tomto oboru názvů. Pokud vytvoříte přiřazení role na úrovni centra událostí, vlastní téma může předávat události pouze do konkrétního centra událostí.
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"
Vytvoření přiřazení role pro téma služby Service Bus v různých oborech
Následující příklad rozhraní příkazového řádku ukazuje, jak přidat identitu vlastního tématu služby Event Grid do role Odesílatele dat služby Azure Service Bus na úrovni oboru názvů nebo na úrovni tématu služby Service Bus. Pokud vytvoříte přiřazení role na úrovni oboru názvů, může téma Event Gridu předávat události všem entitám (frontám nebo tématům služby Service Bus) v rámci daného oboru názvů. Pokud vytvoříte přiřazení role na úrovni fronty nebo tématu služby Service Bus, vlastní téma Event Gridu může předávat události pouze do konkrétní fronty nebo tématu služby Service Bus.
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"
Další kroky
Teď, když jste přiřadili identitu přiřazenou systémem k tématu systému, vlastnímu tématu nebo doméně a přidali identitu do příslušných rolí cílů, najdete v tématu Doručování událostí pomocí spravované identity při doručování událostí do cílů pomocí identity.