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
Sistem konusuna, özel konuya veya etki alanına sistem tarafından atanan bir kimlik veya kullanıcı tarafından atanan bir kimlik atayın.
- Özel konular ve etki alanları için bkz . Özel konular ve etki alanları için yönetilen kimliği etkinleştirme.
- Sistem konuları için bkz . Sistem konuları için yönetilen kimliği etkinleştirme
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.
Ayrıca, Ek Özellikler sekmesinde, geçersiz harf kullanımı için kullanılacak sistem tarafından atanan bir kimlik kullanmayı da etkinleştirebilirsiniz.
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.
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.
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?