Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Verwaltete Dienstidentitäten für Azure Event Grid-Systemthemen, benutzerdefinierte Themen und Domänen aktiviert werden. Außerdem wird erläutert, wie verwaltete Identitäten zum Bereitstellen von Ereignissen an unterstützte Ziele verwendet werden, z. B. Service Bus-Warteschlangen und -Themen, Event Hubs und Speicherkonten.
Voraussetzungen
Weisen Sie einem Systemthema, einem benutzerdefinierten Thema oder einer Domäne eine vom System zugewiesene Identität oder eine vom Benutzer zugewiesene Identität zu.
- Benutzerdefinierte Themen und Domänen finden Sie unter Aktivieren der verwalteten Identität für benutzerdefinierte Themen und Domänen.
- Informationen zu Systemthemen finden Sie unter Aktivieren der verwalteten Identität für Systemthemen.
Weisen Sie die Identität einer geeigneten Rolle zu, z. B. Service Bus Data Sender, für das Ziel, z. B. eine Service Bus-Warteschlange. Ausführliche Schritte finden Sie unter Hinzufügen von Identität zu Azure-Rollen zu Zielen.
Hinweis
Derzeit kann man Events nicht über private Endpunkte ausliefern. Weitere Informationen finden Sie im Abschnitt "Private Endpunkte " am Ende dieses Artikels.
Erstellen Sie Ereignisabonnements, die eine Identität verwenden
Nachdem Sie ein benutzerdefiniertes Ereignisrasterthema, ein Systemthema oder eine Domäne mit einer verwalteten Identität eingerichtet und die Identität zur entsprechenden Rolle am Ziel hinzugefügt haben, können Sie Abonnements erstellen, die die Identität verwenden.
Verwenden des Azure-Portals
Wenn Sie ein Ereignis-Abonnement erstellen, sehen Sie im Abschnitt ENDPOINT DETAILS eine Option zur Aktivierung einer system- oder benutzerzugewiesenen Identität für einen Endpunkt.
In diesem Beispiel wird gezeigt, wie Eine vom System zugewiesene Identität beim Erstellen eines Ereignisabonnements mit einer Service Bus-Warteschlange als Ziel aktiviert wird.
Sie können auch auf der Registerkarte Zusätzliche Funktionen eine vom System zugewiesene Identität für Dead-Lettering aktivieren.
Aktivieren Sie eine verwaltete Identität in einem Ereignisabonnement, nachdem sie erstellt wurde. Wechseln Sie auf der Seite " Ereignisabonnement " für das Ereignisabonnement zur Registerkarte "Zusätzliche Features ", um die Option anzuzeigen. Sie können die Identität auch für die unzustellbare Nachricht auf dieser Seite aktivieren.
Wenn Sie benutzerdefinierte Identitäten für das Thema aktivieren, wird in der Dropdownliste für verwalteten Identitätstyp die Option "Vom Benutzer zugewiesene Identität" aktiviert. Wenn Sie " Benutzer zugewiesen für verwalteten Identitätstyp" auswählen, können Sie dann die vom Benutzer zugewiesene Identität auswählen, die Sie zum Bereitstellen von Ereignissen verwenden möchten.
Verwenden Sie die Azure CLI – Service Bus-Warteschlange
In diesem Abschnitt lernen Sie, wie man die Azure CLI verwendet, um eine systemzugewiesene Identität zu ermöglichen, die Ereignisse an eine Service Bus-Warteschlange ausliefert. Die Identität muss Mitglied der Azure Service Bus Data Sender-Rolle und der Rolle " Storage Blob Data Contributor " für das Speicherkonto sein, das für das Inschriftschreiben verwendet wird.
Definieren von Variablen
subid="<AZURE SUBSCRIPTION ID>"
rg="<RESOURCE GROUP of EVENT GRID CUSTOM TOPIC>"
topicname="<EVENT GRID TOPIC NAME>"
# get the service bus queue resource id
queueid=$(az servicebus queue show --namespace-name <SERVICE BUS NAMESPACE NAME> --name <QUEUE NAME> --resource-group <RESOURCE GROUP NAME> --query id --output tsv)
sb_esname="<Specify a name for the event subscription>"
Erstellen Sie ein Ereignisabonnement mithilfe einer verwalteten Identität für die Übermittlung
Mit diesem Befehl wird ein Ereignisabonnement für ein benutzerdefiniertes Ereignisrasterthema erstellt, bei dem der Endpunkttyp auf die ServiceBus-Warteschlange festgelegt ist.
az eventgrid event-subscription create \
--source-resource-id /subscriptions/$subid/resourceGroups/$rg/providers/Microsoft.EventGrid/topics/$topicname \
--delivery-identity-endpoint-type servicebusqueue \
--delivery-identity systemassigned \
--delivery-identity-endpoint $queueid \
-n $sb_esname
Erstellen eines Ereignisabonnements mithilfe der verwalteten Identität für die Übermittlung und unzustellbare Nachrichten
Dieser Beispielbefehl erstellt ein Ereignisabonnement für ein benutzerdefiniertes Ereignisrasterthema mit einem Endpunkttyp, der auf die ServiceBus-Warteschlange festgelegt ist. Außerdem wird festgelegt, dass Event Grid die vom System zugewiesene verwaltete Identität für Dead-Lettering verwendet.
storageid=$(az storage account show --name demoStorage --resource-group gridResourceGroup --query id --output tsv)
deadletterendpoint="$storageid/blobServices/default/containers/<BLOB CONTAINER NAME>"
az eventgrid event-subscription create \
--source-resource-id /subscriptions/$subid/resourceGroups/$rg/providers/Microsoft.EventGrid/topics/$topicname \
--delivery-identity-endpoint-type servicebusqueue \
--delivery-identity systemassigned \
--delivery-identity-endpoint $queueid \
--deadletter-identity-endpoint $deadletterendpoint \
--deadletter-identity systemassigned \
-n $sb_esname
Verwenden der Azure CLI – Event Hubs
In diesem Abschnitt lernen Sie, wie man die Azure CLI verwendet, um eine systemzugewiesene Identität zu aktivieren, die Ereignisse an einen Ereignishub ausliefert. Die Identität muss Mitglied der Rolle Azure Event Hubs-Datensender sein. Es muss außerdem der Rolle Storage Blob Data Contributor auf dem Speicherkonto angehören, das Sie für das Dead-Lettering verwenden.
Definieren von Variablen
subid="<AZURE SUBSCRIPTION ID>"
rg="<RESOURCE GROUP of EVENT GRID CUSTOM TOPIC>"
topicname="<EVENT GRID CUSTOM TOPIC NAME>"
hubid=$(az eventhubs eventhub show --name <EVENT HUB NAME> --namespace-name <NAMESPACE NAME> --resource-group <RESOURCE GROUP NAME> --query id --output tsv)
eh_esname="<SPECIFY EVENT SUBSCRIPTION NAME>"
Erstellen Sie ein Ereignisabonnement mithilfe einer verwalteten Identität für die Übermittlung
Dieser Beispielbefehl erstellt ein Ereignisabonnement für ein benutzerdefiniertes Ereignisrasterthema mit einem Endpunkttyp, der auf Event Hubs festgelegt ist.
az eventgrid event-subscription create \
--source-resource-id /subscriptions/$subid/resourceGroups/$rg/providers/Microsoft.EventGrid/topics/$topicname \
--delivery-identity-endpoint-type eventhub \
--delivery-identity systemassigned \
--delivery-identity-endpoint $hubid \
-n $eh_esname
Erstellen eines Ereignisabonnements mithilfe der verwalteten Identität für die Übermittlung und unzustellbare Nachrichten
Dieser Beispielbefehl erstellt ein Ereignisabonnement für ein benutzerdefiniertes Ereignisrasterthema mit einem Endpunkttyp, der auf Event Hubs festgelegt ist. Er legt außerdem fest, dass die systemzugewiesene verwaltete Identität die Dead-Lettering verwaltet.
storageid=$(az storage account show --name demoStorage --resource-group gridResourceGroup --query id --output tsv)
deadletterendpoint="$storageid/blobServices/default/containers/<BLOB CONTAINER NAME>"
az eventgrid event-subscription create \
--source-resource-id /subscriptions/$subid/resourceGroups/$rg/providers/Microsoft.EventGrid/topics/$topicname \
--delivery-identity-endpoint-type eventhub \
--delivery-identity systemassigned \
--delivery-identity-endpoint $hubid \
--deadletter-identity-endpoint $deadletterendpoint \
--deadletter-identity systemassigned \
-n $eh_esname
Verwenden der Azure CLI – Azure Storage-Warteschlange
In diesem Abschnitt erfahren Sie, wie Sie die Azure CLI verwenden, um eine systemzugewiesene Identität zu aktivieren, die Ereignisse an eine Azure Storage-Warteschlange ausliefert. Die Identität muss Mitglied der Rolle Absender der Speicherwarteschlangen-Datennachricht im Speicherkonto sein. Es muss außerdem der Rolle Storage Blob Data Contributor auf dem Speicherkonto angehören, das Sie für das Dead-Lettering verwenden.
Definieren von Variablen
subid="<AZURE SUBSCRIPTION ID>"
rg="<RESOURCE GROUP of EVENT GRID CUSTOM TOPIC>"
topicname="<EVENT GRID CUSTOM TOPIC NAME>"
# get the storage account resource id
storageid=$(az storage account show --name <STORAGE ACCOUNT NAME> --resource-group <RESOURCE GROUP NAME> --query id --output tsv)
# build the resource id for the queue
queueid="$storageid/queueservices/default/queues/<QUEUE NAME>"
sa_esname="<SPECIFY EVENT SUBSCRIPTION NAME>"
Erstellen Sie ein Ereignisabonnement mithilfe einer verwalteten Identität für die Übermittlung
az eventgrid event-subscription create \
--source-resource-id /subscriptions/$subid/resourceGroups/$rg/providers/Microsoft.EventGrid/topics/$topicname \
--delivery-identity-endpoint-type storagequeue \
--delivery-identity systemassigned \
--delivery-identity-endpoint $queueid \
-n $sa_esname
Erstellen eines Ereignisabonnements mithilfe der verwalteten Identität für die Übermittlung und unzustellbare Nachrichten
storageid=$(az storage account show --name demoStorage --resource-group gridResourceGroup --query id --output tsv)
deadletterendpoint="$storageid/blobServices/default/containers/<BLOB CONTAINER NAME>"
az eventgrid event-subscription create \
--source-resource-id /subscriptions/$subid/resourceGroups/$rg/providers/Microsoft.EventGrid/topics/$topicname \
--delivery-identity-endpoint-type storagequeue \
--delivery-identity systemassigned \
--delivery-identity-endpoint $queueid \
--deadletter-identity-endpoint $deadletterendpoint \
--deadletter-identity systemassigned \
-n $sa_esname
Private Endpunkte
Derzeit kann man Events nicht über private Endpunkte ausliefern. Das heißt, es gibt keine Unterstützung durch den Anbieter, wenn Sie strenge Anforderungen an die Netzwerkisolation haben, bei denen der Ereignisdatenverkehr den privaten IP-Bereich nicht verlassen darf.
Wenn Ihre Anforderungen jedoch eine sichere Möglichkeit verlangen, Ereignisse über einen verschlüsselten Kanal und eine bekannte Identität des Absenders (in diesem Fall Event Grid) über den öffentlichen IP-Raum zu senden, könnten Sie Ereignisse an Event Hubs, Service Bus oder Azure Storage Service über ein Azure Event Grid-Custom Thema oder eine Domain mit verwalteter Identität liefern, wie in diesem Artikel gezeigt. Anschließend können Sie einen privaten Link verwenden, der in Azure Functions konfiguriert ist, oder einen Webhook, der in Ihrem virtuellen Netzwerk bereitgestellt wurde, um Ereignisse abzurufen. Sehen Sie sich das Lernprogramm an: Herstellen einer Verbindung mit privaten Endpunkten mit Azure Functions.
In dieser Konfiguration läuft der Datenverkehr über das öffentliche IP/Internet von Event Grid zu Event Hubs, Service Bus oder Azure Storage, aber man kann den Kanal verschlüsseln und eine verwaltete Identität namens Event Grid verwenden. Wenn Sie Azure-Funktionen oder einen Webhook konfigurieren, der in Ihrem virtuellen Netzwerk bereitgestellt wird, um Event Hubs, Service Bus oder Azure Storage über einen privaten Link zu verwenden, bleibt dieser Abschnitt des Datenverkehrs in Azure.
Verwandte Inhalte
Informationen zu verwalteten Identitäten finden Sie unter den verwalteten Identitäten für Azure-Ressourcen.