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.
Fügen Sie die Identität zu einer geeigneten Rolle hinzu, z. B. service bus Data Sender, am Ziel, z. B. einer ServiceBus-Warteschlange. Ausführliche Schritte finden Sie unter Hinzufügen von Identität zu Azure-Rollen zu Zielen.
Hinweis
Derzeit ist es nicht möglich, Ereignisse mit privaten Endpunkten bereitzustellen. 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 Ereignisabonnement erstellen, wird eine Option zum Aktivieren der Verwendung einer vom System zugewiesenen Identität oder einer vom Benutzer zugewiesenen Identität für einen Endpunkt im ABSCHNITT ENDPUNKTDETAILS angezeigt.
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 eine vom System zugewiesene Identität für die Inschrift auf der Registerkarte "Zusätzliche Features " 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
In diesem Abschnitt erfahren Sie, wie Sie die Azure CLI verwenden, um die Verwendung einer vom System zugewiesenen Identität zum Übermitteln von Ereignissen an eine Service Bus-Warteschlange zu ermöglichen. 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 angegeben, dass die vom System verwaltete Identität für unzustellbare Nachrichten verwendet werden soll.
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_esnameq
Verwenden der Azure CLI – Event Hubs
In diesem Abschnitt erfahren Sie, wie Sie die Azure CLI verwenden, um die Verwendung einer vom System zugewiesenen Identität zum Bereitstellen von Ereignissen an einen Event Hub zu ermöglichen. Die Identität muss Mitglied der Rolle Azure Event Hubs-Datensender sein. Sie muss auch Mitglied der Rolle Mitwirkender an Storage-Blobdaten für das Speicherkonto sein, das für unzustellbare Nachrichten verwendet wird.
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 $sbq_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. Außerdem wird angegeben, dass die vom System verwaltete Identität für unzustellbare Nachrichten verwendet werden soll.
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 $hubid
--deadletter-identity-endpoint $eh_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 die Verwendung einer vom System zugewiesenen Identität zu ermöglichen, um Ereignisse an eine Azure Storage-Warteschlange zu übermitteln. Die Identität muss Mitglied der Rolle Absender der Speicherwarteschlangen-Datennachricht im Speicherkonto sein. Sie muss auch Mitglied der Rolle Mitwirkender an Storage-Blobdaten für das Speicherkonto sein, das für unzustellbare Nachrichten verwendet wird.
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 ist es nicht möglich, Ereignisse mit privaten Endpunkten bereitzustellen. 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 zum Senden von Ereignissen mithilfe eines verschlüsselten Kanals und einer bekannten Identität des Absenders (in diesem Fall Event Grid) mit öffentlichem IP-Raum aufrufen, können Sie Ereignisse an Event Hubs, Service Bus oder Azure Storage-Dienst mit einem benutzerdefinierten Azure Event Grid-Thema oder einer Domäne mit einer verwalteten Identität übermitteln, 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.
Unter dieser Konfiguration verläuft der Datenverkehr über die öffentliche IP-Adresse und das Internet von Event Grid zu Event Hubs, Service Bus oder Azure Storage, aber der Kanal kann verschlüsselt werden und eine managed identity von Event Grid wird verwendet. 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.
Nächste Schritte
Informationen zu verwalteten Identitäten finden Sie unter den verwalteten Identitäten für Azure-Ressourcen.