Aracılığıyla paylaş


Yönetilen kimlikle olay teslimi

Bu makalede Azure Event Grid sistem konusu, özel konu veya etki alanı için yönetilen hizmet kimliğinin nasıl kullanılacağı açıklanmaktadır. Olayları Service Bus kuyrukları ve konuları, olay hub'ları ve depolama hesapları gibi desteklenen hedeflere iletmek için kullanın.

Önkoşullar

  1. Sistem konusuna, özel konuya veya etki alanına sistem tarafından atanan bir kimlik veya kullanıcı tarafından atanan bir kimlik atayın.

  2. Kimliği hedefte uygun bir role (örneğin, Service Bus Veri Göndereni) ekleyin (örneğin, Service Bus kuyruğu). Ayrıntılı adımlar için bkz . Hedeflerde Azure rollerine kimlik ekleme

    Dekont

    Şu anda özel uç noktaları kullanarak olayları teslim etmek mümkün değildir. Daha fazla bilgi için bu makalenin sonundaki Özel uç noktalar bölümüne bakın.

Kimlik kullanan olay abonelikleri oluşturma

Yönetilen kimliği olan bir Event Grid özel konusuna veya sistem konusuna veya etki alanına sahip olduktan ve kimliği hedefte uygun role ekledikten sonra, kimliği kullanan abonelikler oluşturmaya hazır olursunuz.

Azure portal’ı kullanma

Olay aboneliği oluşturduğunuzda UÇ NOKTA AYRINTILARI bölümünde bir uç nokta için sistem tarafından atanan kimlik veya kullanıcı tarafından atanan kimlik kullanımını etkinleştirme seçeneğini görürsünüz.

Service Bus kuyruğu hedef olarak bir olay aboneliği oluştururken sistem tarafından atanan kimliği etkinleştirme örneği aşağıda verilmiştir.

Screenshot that shows how to enable an identity when creating an event subscription for a Service Bus queue.

Ayrıca, Ek Özellikler sekmesinde, geçersiz harf kullanımı için kullanılacak sistem tarafından atanan bir kimlik kullanmayı da etkinleştirebilirsiniz.

Screenshot that shows how to enable a system-assigned identity for dead-lettering.

Bir olay aboneliği oluşturulduktan sonra yönetilen kimliği etkinleştirebilirsiniz. Olay aboneliğinin Olay Aboneliği sayfasında, seçeneği görmek için Ek Özellikler sekmesine geçin. Bu sayfada, kimliği geçersiz harfe çevirme için de etkinleştirebilirsiniz.

Screenshot that shows how to enable a system-assigned identity on an existing event subscription.

Konu için kullanıcı tarafından atanan kimlikleri etkinleştirdiyseniz, Manged Identity Type açılan listesinde kullanıcı tarafından atanan kimlik seçeneğinin etkinleştirildiğini görürsünüz. Yönetilen Kimlik Türü için Atanan Kullanıcı'yı seçerseniz, olayları teslim etmek için kullanmak istediğiniz kullanıcı tarafından atanan kimliği seçebilirsiniz.

Screenshot that shows how to enable a user-assigned identity on an event subscription.

Azure CLI - Service Bus kuyruğu kullanma

Bu bölümde, Service Bus kuyruğuna olay teslim etmek üzere sistem tarafından atanan kimlik kullanımını etkinleştirmek için Azure CLI'yi kullanmayı öğreneceksiniz. Kimlik, Azure Service Bus Veri Göndereni rolünün bir üyesi olmalıdır. Ayrıca, geçersiz harfe çevirme için kullanılan depolama hesabında Depolama Blob Veri Katkıda Bulunanı rolünün bir üyesi olmalıdır.

Değişkenleri tanımlama

İlk olarak, CLI komutunda kullanılacak aşağıdaki değişkenlerin değerlerini belirtin.

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>" 

Teslim için yönetilen kimlik kullanarak olay aboneliği oluşturma

Bu örnek komut, uç nokta türü Service Bus kuyruğu olarak ayarlanmış bir Event Grid özel konusu için bir olay aboneliği oluşturur.

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 

Teslim ve teslim edilemeyen posta için yönetilen kimlik kullanarak olay aboneliği oluşturma

Bu örnek komut, uç nokta türü Service Bus kuyruğu olarak ayarlanmış bir Event Grid özel konusu için bir olay aboneliği oluşturur. Ayrıca, sistem tarafından yönetilen kimliğin teslim edilemeyen harfleme için kullanılacağını belirtir.

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 

Azure CLI - Event Hubs'ı kullanma

Bu bölümde, olay hub'ına olay teslim etmek üzere sistem tarafından atanan kimlik kullanımını etkinleştirmek için Azure CLI'yi kullanmayı öğreneceksiniz. Kimlik, Azure Event Hubs Veri Göndereni rolünün bir üyesi olmalıdır. Ayrıca, geçersiz harfe çevirme için kullanılan depolama hesabında Depolama Blob Veri Katkıda Bulunanı rolünün bir üyesi olmalıdır.

Değişkenleri tanımlama

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>" 

Teslim için yönetilen kimlik kullanarak olay aboneliği oluşturma

Bu örnek komut, Event Hubs olarak ayarlanmış bir uç nokta türü ile Event Grid özel konusu için bir olay aboneliği oluşturur.

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 

Teslim ve kilitlenme için yönetilen kimlik kullanarak olay aboneliği oluşturma

Bu örnek komut, Event Hubs olarak ayarlanmış bir uç nokta türü ile Event Grid özel konusu için bir olay aboneliği oluşturur. Ayrıca, sistem tarafından yönetilen kimliğin teslim edilemeyen harfleme için kullanılacağını belirtir.

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 

Azure CLI - Azure Depolama kuyruğu kullanma

Bu bölümde, Azure CLI kullanarak azure Depolama kuyruğuna olay teslim etmek üzere sistem tarafından atanan kimlik kullanımını etkinleştirmeyi öğreneceksiniz. Kimlik, depolama hesabındaki Depolama Kuyruk Veri İletisi Gönderen rolünün bir üyesi olmalıdır. Ayrıca, geçersiz harfe çevirme için kullanılan depolama hesabında Depolama Blob Veri Katkıda Bulunanı rolünün bir üyesi olmalıdır.

Değişkenleri tanımlama

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>" 

Teslim için yönetilen kimlik kullanarak olay aboneliği oluşturma

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 

Teslim ve kilitlenme için yönetilen kimlik kullanarak olay aboneliği oluşturma

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 

Özel uç noktalar

Şu anda özel uç noktaları kullanarak olayları teslim etmek mümkün değildir. Başka bir ifadeyle, teslim edilen olay trafiğinizin özel IP alanından ayrılmaması gereken katı ağ yalıtımı gereksinimleriniz varsa destek yoktur.

Ancak gereksinimleriniz, genel IP alanı kullanarak şifrelenmiş bir kanal ve gönderenin bilinen kimliği (bu örnekte Event Grid) kullanarak olayları göndermek için güvenli bir yol arıyorsa, bu makalede gösterildiği gibi Azure Event Grid özel konusunu veya yönetilen kimliği olan bir etki alanını kullanarak Olayları Event Hubs, Service Bus veya Azure Depolama hizmetine teslim edebilirsiniz. Ardından, olayları çekmek için Azure İşlevleri veya sanal ağınızda dağıtılan web kancanızda yapılandırılmış bir özel bağlantı kullanabilirsiniz. Öğreticiye bakın: Azure İşlevleri ile özel uç noktalara Bağlan.

Bu yapılandırma altında, trafik Event Grid'den Event Hubs, Service Bus veya Azure Depolama genel IP/İnternet üzerinden gider, ancak kanal şifrelenebilir ve Event Grid'in yönetilen kimliği kullanılır. Sanal ağınıza dağıtılan Azure İşlevleri veya web kancanızı özel bağlantı üzerinden Event Hubs, Service Bus veya Azure Depolama kullanacak şekilde yapılandırdığınızda trafiğin bu bölümü Azure'da kalır.

Sonraki adımlar

Yönetilen kimlikler hakkında bilgi edinmek için bkz . Azure kaynakları için yönetilen kimlikler nedir?