Gewähren des Zugriffs auf ein Event Grid-Ziel für die verwaltete Identität

In diesem Abschnitt wird beschrieben, wie Sie die Identität für das Systemthema, das benutzerdefinierte Thema oder die benutzerdefinierte Domäne einer Azure-Rolle hinzufügen.

Voraussetzungen

Weisen Sie anhand der Anweisungen in den folgenden Artikeln eine systemseitig zugewiesene verwaltete Identität zu:

Unterstützte Ziele und Azure-Rollen

Nachdem Sie die Identität für das benutzerdefinierte Event Grid-Thema bzw. die benutzerdefinierte Event Grid-Domäne aktiviert haben, erstellt Azure automatisch eine Identität in Microsoft Entra ID. Fügen Sie diese Identität den entsprechenden Azure-Rollen hinzu, damit das benutzerdefinierte Thema bzw. die benutzerdefinierte Domäne Ereignisse an unterstützte Ziele weiterleiten kann. Fügen Sie die Identität z. B. der Rolle Azure Event Hubs-Datensender für einen Azure Event Hubs-Namespace hinzu, damit das benutzerdefinierte Event Grid-Thema Ereignisse an Event Hubs in diesem Namespace weiterleiten kann.

Derzeit unterstützt Azure Event Grid benutzerdefinierte Themen oder Domänen, die mit der systemseitig zugewiesenen verwalteten Identität konfiguriert wurden, um Ereignisse an die folgenden Ziele weiterzuleiten. Diese Tabelle enthält auch die Rollen, die die Identität aufweisen sollte, damit das benutzerdefinierte Thema die Ereignisse weiterleiten kann.

Destination Azure-Rolle
Service Bus-Warteschlangen und -Themen Azure Service Bus-Datensender
Azure Event Hubs Azure Event Hubs-Datensender
Azure Blob Storage Mitwirkender an Speicherblobdaten
Azure Queue Storage Absender der Speicherwarteschlangen-Datennachricht

Verwenden des Azure-Portals

Sie können das Azure-Portal verwenden, um die Identität des benutzerdefinierten Themas bzw. der benutzerdefinierten Domäne einer entsprechenden Rolle zuzuweisen, damit das Thema/die Domäne Ereignisse an das Ziel weiterleiten kann.

Im folgenden Beispiel wird eine verwaltete Identität für ein benutzerdefiniertes Event Grid-Thema mit dem Namen msitesttopic der Rolle Azure Service Bus-Datensender für einen Service Bus-Namespace hinzugefügt, der eine Warteschlangen- oder Themenressource enthält. Wenn Sie das benutzerdefinierte Event Grid-Thema der Rolle auf Namespaceebene hinzufügen, kann es Ereignisse an alle Entitäten im Namespace weiterleiten.

  1. Navigieren Sie im Azure-Portal zu Ihrem Service Bus-Namespace.

  2. Klicken Sie im linken Bereich auf Zugriffssteuerung.

  3. Wählen Sie im Abschnitt Rollenzuweisung hinzufügen (Vorschau) die Option Hinzufügen aus.

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

  4. Wählen Sie auf der Seite Rollenzuweisung hinzufügen die Option Azure Service Bus-Datensender und dann Weiter aus.

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

  5. Führen Sie auf der Registerkarte Mitglieder die folgenden Schritte aus:

    1. Wählen Sie die Option Benutzer, Gruppe oder Dienstprinzipal aus, und klicken Sie auf + Mitglieder auswählen. Für die Option Verwaltete Identität werden Event Grid-Identitäten noch nicht unterstützt.

    2. Suchen Sie im Fenster Mitglieder auswählen nach dem Dienstprinzipal, der den gleichen Namen wie Ihr benutzerdefiniertes Thema hat, und wählen Sie ihn aus. Im folgenden Beispiel ist dies spcustomtopic0728.

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

    3. Klicken Sie im Fenster Mitglieder auswählen auf Auswählen.

      Image showing the selection of the Managed identity option

  6. Wählen Sie auf der Registerkarte Mitglieder die Option Weiter aus.

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

  7. Wählen Sie auf der Seite Überprüfen und zuweisen die Option Überprüfen und zuweisen aus, nachdem Sie die Einstellungen überprüft haben.

Die Schritte entsprechen dem Hinzufügen einer Identität zu anderen Rollen, die in der Tabelle aufgeführt sind.

Verwenden der Azure-CLI

Im Beispiel in diesem Abschnitt wird gezeigt, wie Sie mit der Azure-Befehlszeilenschnittstelle eine Identität einer Azure-Rolle hinzufügen. Die Beispielbefehle beziehen sich auf benutzerdefinierte Event Grid-Themen. Die Befehle für Event Grid-Domänen sind ähnlich.

Abrufen der Prinzipal-ID für die Systemidentität des benutzerdefinierten Themas

Rufen Sie zunächst die Prinzipal-ID der vom System verwalteten Identität des benutzerdefinierten Themas ab, und weisen Sie die Identität den entsprechenden Rollen zu.

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

Erstellen einer Rollenzuweisung für Event Hubs in verschiedenen Bereichen

Im folgenden Beispiel für die Befehlszeilenschnittstelle wird veranschaulicht, wie die Identität eines benutzerdefinierten Themas der Rolle Azure Event Hubs-Datensender auf Namespaceebene oder auf Event Hub-Ebene hinzugefügt wird. Wenn Sie die Rollenzuweisung auf Namespaceebene erstellen, kann das benutzerdefinierte Thema Ereignisse an alle Event Hubs in diesem Namespace weiterleiten. Wenn Sie das Thema auf Event Hub-Ebene erstellen, kann das benutzerdefinierte Thema Ereignisse nur an diesen Event Hub weiterleiten.

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" 

Erstellen einer Rollenzuweisung für ein Service Bus-Thema in verschiedenen Bereichen

Im folgenden Beispiel für die Befehlszeilenschnittstelle wird gezeigt, wie die Identität eines benutzerdefinierten Event Grid-Themas der Rolle Azure Service Bus-Datensender auf Namespaceebene oder auf Ebene des Service Bus-Themas hinzugefügt wird. Wenn Sie die Rollenzuweisung auf Namespaceebene erstellen, kann das Event Grid-Thema Ereignisse an alle Entitäten (Service Bus-Warteschlangen oder -Themen) innerhalb dieses Namespace weiterleiten. Beim Erstellen einer Rollenzuweisung auf Service Bus-Warteschlangen- oder -Themenebene kann das benutzerdefinierte Event Grid-Thema Ereignisse nur an die betreffende Service Bus-Warteschlange bzw. das Service Bus-Thema weiterleiten.

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ächste Schritte

Sie haben dem Systemthema, dem benutzerdefinierten Thema oder der benutzerdefinierten Domäne eine systemseitig zugewiesene Identität zugewiesen und die Identität den entsprechenden Rollen an Zielen hinzugefügt. Lesen Sie nun die Informationen unter Ereignisübermittlung mit einer verwalteten Identität, um zu erfahren, wie Sie mithilfe der Identität Ereignisse an Ziele übermitteln.