Deliver events using private link service

Currently, it's not possible to deliver events using private endpoints. That is, there's no support if you have strict network isolation requirements where your delivered events traffic must not leave the private IP space.

Use managed identity

However, if your requirements call for a secure way to send events using an encrypted channel and a known identity of the sender (in this case, Event Grid) using public IP space, you could deliver events to Event Hubs, Service Bus, or Azure Storage service using an Azure Event Grid custom topic or a domain with system-assigned or user-assigned managed identity. For details about delivering events using managed identity, see Event delivery using a managed identity.

Then, you can use a private link configured in Azure Functions or your webhook deployed on your virtual network to pull events. See the sample: Connect to private endpoints with Azure Functions.

Deliver via private link service

Under this configuration, the secured traffic from Event Grid to Event Hubs, Service Bus, or Azure Storage, stays on the Microsoft backbone and a managed identity of Event Grid is used. Configuring your Azure Function or webhook from within your virtual network to use an Event Hubs, Service Bus, or Azure Storage via private link ensures the traffic between those services and your function or webhook stays within your virtual network perimeter.

Deliver events to Event Hubs using managed identity

To deliver events to event hubs in your Event Hubs namespace using managed identity, follow these steps:

  1. Enable system-assigned or user-assigned managed identity: system topics, custom topics, and domains.
  2. Add the identity to the Azure Event Hubs Data Sender role on the Event Hubs namespace.
  3. Enable the Allow trusted Microsoft services to bypass this firewall setting on your Event Hubs namespace.
  4. Configure the event subscription that uses an event hub as an endpoint to use the system-assigned or user-assigned managed identity.

Deliver events to Service Bus using managed identity

To deliver events to Service Bus queues or topics in your Service Bus namespace using managed identity, follow these steps:

  1. Enable system-assigned or user-assigned managed identity: system topics, custom topics, and domains.
  2. Add the identity to the Azure Service Bus Data Sender role on the Service Bus namespace
  3. Enable the Allow trusted Microsoft services to bypass this firewall setting on your Service Bus namespace.
  4. Configure the event subscription that uses a Service Bus queue or topic as an endpoint to use the system-assigned or user-assigned managed identity.

Deliver events to Storage using managed identity

To deliver events to Storage queues using managed identity, follow these steps:

  1. Enable system-assigned or user-assigned managed identity: system topics, custom topics, and domains.
  2. Add the identity to the Storage Queue Data Message Sender role on Azure Storage queue.
  3. Configure the event subscription that uses a Storage queue as an endpoint to use the system-assigned or user-assigned managed identity.

Note

  • If there's no firewall or virtual network rules configured for the Azure Storage account, you can use both user-assigned and system-assigned identities to deliver events to the Azure Storage account.
  • If a firewall or virtual network rule is configured for the Azure Storage account, you can use only the system-assigned managed identity if Allow Azure services on the trusted service list to access the storage account is also enabled on the storage account. You can't use user-assigned managed identity whether this option is enabled or not.

Next steps

For more information about delivering events using a managed identity, see Event delivery using a managed identity.