Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come abilitare le identità del servizio gestito per gli argomenti di sistema di Griglia di eventi di Azure, argomenti personalizzati e domini. Illustra anche come usare le identità gestite per recapitare eventi a destinazioni supportate, ad esempio code e argomenti del bus di servizio, hub eventi e account di archiviazione.
Prerequisiti
Assegnare un'identità assegnata dal sistema o un'identità assegnata dall'utente a un argomento di sistema, a un argomento personalizzato o a un dominio.
- Per argomenti e domini personalizzati, vedere Abilitare l'identità gestita per argomenti e domini personalizzati.
- Per gli argomenti di sistema, vedere Abilitare l'identità gestita per gli argomenti di sistema.
Aggiungere l'identità a un ruolo appropriato, ad esempio Mittente dei dati del bus di servizio, nella destinazione, ad esempio una coda del bus di servizio. Per i passaggi dettagliati, vedere Aggiungere identità ai ruoli di Azure nelle destinazioni.
Annotazioni
Attualmente, non è possibile recapitare eventi tramite endpoint privati. Per altre informazioni, vedere la sezione Endpoint privati alla fine di questo articolo.
Creare sottoscrizioni di eventi che usano un'identità
Dopo aver configurato un argomento personalizzato di Griglia di eventi, un argomento di sistema o un dominio con un'identità gestita e aggiungere l'identità al ruolo appropriato nella destinazione, è possibile creare sottoscrizioni che usano l'identità.
Usare il portale di Azure
Quando crei un abbonamento a un evento, nella sezione DETTAGLI dell'endpoint vedi un'opzione per abilitare un'identità assegnata al sistema o all'utente per un endpoint.
Questo esempio illustra come abilitare un'identità assegnata dal sistema durante la creazione di una sottoscrizione di eventi con una coda del bus di servizio come destinazione.
È possibile anche abilitare un'identità assegnata dal sistema per il dead-lettering nella scheda Funzionalità aggiuntive.
Abilitare un'identità gestita su una sottoscrizione di eventi dopo averla creata. Nella pagina Sottoscrizione di eventi per la sottoscrizione di eventi passare alla scheda Funzionalità aggiuntive per visualizzare l'opzione . È anche possibile attivare l'opzione di identità per la gestione dei messaggi non recapitabili su questa pagina.
Se si abilitano le identità assegnate dall'utente per l'argomento, viene visualizzata l'opzione di identità assegnata dall'utente abilitata nell'elenco a discesa per Tipo di identità gestita. Se si seleziona Utente assegnato per tipo di identità gestita, è possibile selezionare l'identità assegnata dall'utente che si vuole usare per recapitare gli eventi.
Usare la coda del bus di servizio dell'interfaccia della riga di comando di Azure
In questa sezione impari come utilizzare la interfaccia della riga di comando di Azure per abilitare un'identità assegnata al sistema per consegnare eventi a una coda bus di servizio. L'identità deve essere membro del ruolo Mittente dei dati del bus di servizio di Azure e del ruolo Collaboratore ai dati del BLOB di archiviazione nell'account di archiviazione usato per i messaggi non recapitati.
Definire le variabili
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>"
Creare una sottoscrizione di eventi usando un'identità gestita per il recapito
Questo comando crea una sottoscrizione di eventi per un argomento personalizzato di Griglia di eventi con il tipo di endpoint impostato su Coda del bus di servizio.
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
Creare una sottoscrizione evento usando un'identità gestita per il recapito e l'inserimento nella coda di messaggi non recapitabili
Questo comando di esempio crea una sottoscrizione di eventi per un argomento personalizzato Event Grid con un tipo di endpoint impostato su Coda del bus di servizio. Specifica inoltre che Event Grid utilizza l'identità gestita assegnata dal sistema per il dead-lettering.
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
Usare la CLI di Azure - Azure Event Hubs
In questa sezione impari come utilizzare la interfaccia della riga di comando di Azure per abilitare un'identità assegnata al sistema per consegnare eventi a un event hub. L'identità deve essere un membro del ruolo Mittente dei dati di Hub eventi di Azure. Deve essere anche un membro del ruolo Collaboratore ai dati del BLOB di archiviazione nell'account di archiviazione usato per i messaggi non recapitabili.
Definire le variabili
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>"
Creare una sottoscrizione di eventi usando un'identità gestita per il recapito
Questo comando di esempio crea una sottoscrizione di eventi per un argomento personalizzato di Griglia di eventi con un tipo di endpoint impostato su Hub eventi.
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
Creare una sottoscrizione evento usando un'identità gestita per il recapito e l'inserimento nella coda di messaggi non recapitabili
Questo comando di esempio crea una sottoscrizione di eventi per un argomento personalizzato di Griglia di eventi con un tipo di endpoint impostato su Hub eventi. Specifica inoltre che l'identità gestita assegnata dal sistema gestisce anche i messaggi non recapitabili.
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
Usare la coda di Archiviazione di Azure nell'interfaccia della riga di comando di Azure
In questa sezione impari come utilizzare la interfaccia della riga di comando di Azure per abilitare un'identità assegnata al sistema di consegnare eventi a una coda Archiviazione di Azure. L'identità deve essere un membro del ruolo Mittente dei messaggi sui dati della coda di archiviazione nell'account di archiviazione. Deve essere anche un membro del ruolo Collaboratore ai dati del BLOB di archiviazione nell'account di archiviazione usato per i messaggi non recapitabili.
Definire le variabili
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>"
Creare una sottoscrizione di eventi usando un'identità gestita per il recapito
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
Creare una sottoscrizione evento usando un'identità gestita per il recapito e l'inserimento nella coda di messaggi non recapitabili
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
Endpoint privati
Attualmente, non è possibile recapitare eventi tramite endpoint privati. Ciò significa che non è disponibile alcun supporto se si dispone di rigidi requisiti di isolamento della rete in cui il traffico degli eventi recapitati non deve lasciare lo spazio IP privato.
Tuttavia, se le tue esigenze richiedono un modo sicuro per inviare eventi utilizzando un canale criptato e un'identità nota del mittente (in questo caso, Event Grid) utilizzando lo spazio IP pubblico, potresti consegnare eventi a Event Hub, bus di servizio o servizio Archiviazione di Azure utilizzando un argomento personalizzato di Griglia di eventi di Azure o un dominio con un'identità gestita come mostrato in questo articolo. È quindi possibile usare un collegamento privato configurato in Funzioni di Azure o un webhook distribuito nella rete virtuale per eseguire il pull degli eventi. Consultare l'esercitazione: Connettersi a endpoint privati con Funzioni di Azure.
In questa configurazione, il traffico passa attraverso l'IP/internet pubblico da Event Grid a Event Hubs, bus di servizio o Archiviazione di Azure, ma puoi criptare il canale e usare un'identità gestita come Event Grid. Se configuri Funzioni di Azure o un webhook distribuito nella tua rete virtuale in modo che usino Hub eventi, bus di servizio o Archiviazione di Azure tramite un collegamento privato, quella parte del traffico rimane all'interno di Azure.
Contenuti correlati
Per informazioni sulle identità gestite, vedere che cosa sono le identità gestite per le risorse di Azure.