Udzielanie tożsamości zarządzanej dostępu do miejsca docelowego usługi Event Grid

W tej sekcji opisano sposób dodawania tożsamości dla tematu systemowego, tematu niestandardowego lub domeny do roli platformy Azure.

Wymagania wstępne

Przypisz tożsamość zarządzaną przypisaną przez system, korzystając z instrukcji z następujących artykułów:

Obsługiwane miejsca docelowe i role platformy Azure

Po włączeniu tożsamości dla niestandardowego tematu lub domeny usługi Event Grid platforma Azure automatycznie tworzy tożsamość w usłudze Microsoft Entra ID. Dodaj tę tożsamość do odpowiednich ról platformy Azure, aby temat niestandardowy lub domena mogły przekazywać zdarzenia do obsługiwanych miejsc docelowych. Na przykład dodaj tożsamość do roli Nadawca danych usługi Azure Event Hubs dla przestrzeni nazw usługi Azure Event Hubs, aby niestandardowy temat usługi Event Grid mógł przekazywać zdarzenia do centrów zdarzeń w tej przestrzeni nazw.

Obecnie usługa Azure Event Grid obsługuje niestandardowe tematy lub domeny skonfigurowane przy użyciu tożsamości zarządzanej przypisanej przez system w celu przekazywania zdarzeń do następujących miejsc docelowych. Ta tabela zawiera również role, w których powinna znajdować się tożsamość, aby temat niestandardowy mógł przekazywać zdarzenia.

Element docelowy Rola na platformie Azure
Kolejki i tematy usługi Service Bus Nadawca danych usługi Azure Service Bus
Azure Event Hubs Nadawca danych usługi Azure Event Hubs
Azure Blob Storage Współautor danych w usłudze Blob Storage
Azure Queue Storage Nadawca komunikatu o danych kolejki usługi Storage

Korzystanie z witryny Azure Portal

Za pomocą witryny Azure Portal można przypisać niestandardowy temat lub tożsamość domeny do odpowiedniej roli, aby temat niestandardowy lub domena mogły przekazywać zdarzenia do miejsca docelowego.

W poniższym przykładzie dodano tożsamość zarządzaną dla niestandardowego tematu usługi Event Grid o nazwie msitesttopic do roli Nadawca danych usługi Azure Service Bus dla przestrzeni nazw usługi Service Bus zawierającej zasób kolejki lub tematu. Po dodaniu do roli na poziomie przestrzeni nazw niestandardowy temat usługi Event Grid może przekazywać zdarzenia do wszystkich jednostek w przestrzeni nazw.

  1. Przejdź do przestrzeni nazw usługi Service Bus w witrynie Azure Portal.

  2. Wybierz pozycję Kontrola dostępu w okienku po lewej stronie.

  3. Wybierz pozycję Dodaj w sekcji Dodawanie przypisania roli (wersja zapoznawcza).

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

  4. Na stronie Dodawanie przypisania roli wybierz pozycję Nadawca danych usługi Azure Service Bus, a następnie wybierz pozycję Dalej.

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

  5. Na karcie Członkowie wykonaj następujące kroki:

    1. Wybierz pozycję Użyj, grupuj lub jednostki usługi, a następnie kliknij pozycję + Wybierz członków. Opcja Tożsamość zarządzana nie obsługuje jeszcze tożsamości usługi Event Grid.

    2. W oknie Wybieranie członków wyszukaj i wybierz jednostkę usługi o tej samej nazwie co temat niestandardowy. W poniższym przykładzie jest to spcustodzielic0728.

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

    3. W oknie Wybieranie członków kliknij pozycję Wybierz.

      Image showing the selection of the Managed identity option

  6. Teraz z powrotem na karcie Członkowie wybierz przycisk Dalej.

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

  7. Na stronie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz po przejrzeniu ustawień.

Kroki są podobne do dodawania tożsamości do innych ról wymienionych w tabeli.

Korzystanie z interfejsu wiersza polecenia platformy Azure

W przykładzie w tej sekcji pokazano, jak za pomocą interfejsu wiersza polecenia platformy Azure dodać tożsamość do roli platformy Azure. Przykładowe polecenia dotyczą tematów niestandardowych usługi Event Grid. Polecenia dla domen usługi Event Grid są podobne.

Pobieranie identyfikatora podmiotu zabezpieczeń dla tożsamości systemowej tematu niestandardowego

Najpierw uzyskaj identyfikator podmiotu zabezpieczeń tożsamości zarządzanej przez system tematu niestandardowego i przypisz tożsamość do odpowiednich ról.

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

Tworzenie przypisania roli dla centrów zdarzeń w różnych zakresach

Poniższy przykład interfejsu wiersza polecenia przedstawia sposób dodawania tożsamości tematu niestandardowego do roli nadawcy danych usługi Azure Event Hubs na poziomie przestrzeni nazw lub na poziomie centrum zdarzeń. Jeśli tworzysz przypisanie roli na poziomie przestrzeni nazw, temat niestandardowy może przekazywać zdarzenia do wszystkich centrów zdarzeń w tej przestrzeni nazw. Jeśli tworzysz przypisanie roli na poziomie centrum zdarzeń, temat niestandardowy może przekazywać zdarzenia tylko do tego konkretnego centrum zdarzeń.

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" 

Tworzenie przypisania roli dla tematu usługi Service Bus w różnych zakresach

Poniższy przykład interfejsu wiersza polecenia pokazuje, jak dodać tożsamość tematu niestandardowego usługi Event Grid do roli nadawcy danych usługi Azure Service Bus na poziomie przestrzeni nazw lub na poziomie tematu usługi Service Bus. Jeśli tworzysz przypisanie roli na poziomie przestrzeni nazw, temat usługi Event Grid może przekazywać zdarzenia do wszystkich jednostek (kolejek lub tematów usługi Service Bus) w tej przestrzeni nazw. Jeśli tworzysz przypisanie roli na poziomie kolejki lub tematu usługi Service Bus, temat niestandardowy usługi Event Grid może przekazywać zdarzenia tylko do tej konkretnej kolejki lub tematu usługi 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" 

Następne kroki

Teraz, gdy przypisano tożsamość przypisaną przez system do tematu systemowego, tematu niestandardowego lub domeny i dodano tożsamość do odpowiednich ról w miejscach docelowych, zobacz Dostarczanie zdarzeń przy użyciu tożsamości zarządzanej na potrzeby dostarczania zdarzeń do miejsc docelowych przy użyciu tożsamości.