Yönetilen kimliğe Event Grid hedefine erişim verme

Bu bölümde bir Azure rolüne sistem konunuzun, özel konunuzun veya etki alanınızın kimliğinin nasıl ekleneceği açıklanmaktadır.

Önkoşullar

Aşağıdaki makalelerde verilen yönergeleri kullanarak sistem tarafından atanan bir yönetilen kimlik atayın:

Desteklenen hedefler ve Azure rolleri

Event Grid özel konunuz veya etki alanınız için kimliği etkinleştirdikten sonra Azure, Microsoft Entra Id'de otomatik olarak bir kimlik oluşturur. Özel konu veya etki alanının olayları desteklenen hedeflere iletebilmesi için bu kimliği uygun Azure rollerine ekleyin. Örneğin, Event Grid özel konusunun olayları söz konusu ad alanındaki olay hub'larına iletebilmesi için kimliği bir Azure Event Hubs ad alanı için Azure Event Hubs Veri Gönderen rolüne ekleyin.

Şu anda Azure Event Grid, olayları aşağıdaki hedeflere iletmek için sistem tarafından atanan yönetilen kimlikle yapılandırılmış özel konuları veya etki alanlarını destekler. Bu tablo ayrıca özel konunun olayları iletebilmesi için kimliğin içinde olması gereken rolleri de sağlar.

Hedef Azure rolü
Service Bus kuyrukları ve konuları Azure Service Bus Veri Göndereni
Azure Event Hubs Azure Event Hubs Veri Göndereni
Azure Blob Depolama Depolama Blobu Veri Katılımcısı
Azure Kuyruk Depolama Kuyruk Veri İletisi Göndereni Depolama

Azure portal’ı kullanma

Özel konu başlığını veya etki alanı kimliğini uygun bir role atamak için Azure portalını kullanabilirsiniz, böylece özel konu veya etki alanı olayları hedefe iletebilir.

Aşağıdaki örnek, kuyruk veya konu kaynağı içeren bir Service Bus ad alanı için Azure Service Bus Veri Göndereni rolüne msitesttopic adlı bir Event Grid özel konusu için yönetilen kimlik ekler. Role ad alanı düzeyinde eklediğinizde, Event Grid özel konusu olayları ad alanındaki tüm varlıklara iletebilir.

  1. Azure portalında Service Bus ad alanınıza gidin.

  2. Sol bölmede Erişim Denetimi'ni seçin.

  3. Rol ataması ekle (Önizleme) bölümünde Ekle'yi seçin.

    Image showing the selection of Add role assignment (Preview) menu

  4. Rol ataması ekle sayfasında Azure Service Bus Veri Göndereni'ni ve ardından İleri'yi seçin.

    Image showing the selection of the Azure Service Bus Data Sender role

  5. Üyeler sekmesinde şu adımları izleyin:

    1. Kullan, gruplandır veya hizmet sorumlusu'nun seçin ve + Üye seç'e tıklayın. Yönetilen kimlik seçeneği henüz Event Grid kimliklerini desteklemez.

    2. Üye seç penceresinde, özel konu başlığınızla aynı ada sahip hizmet sorumlusunu arayın ve seçin. Aşağıdaki örnekte spcustomtopic0728 verilmiştir.

      Image showing the selection of the User, group, or service principal option

    3. Üye seç penceresinde Seç'e tıklayın.

      Image showing the selection of the Managed identity option

  6. Şimdi Üyeler sekmesine dönüp İleri'yi seçin.

    Image showing the selection of the Next button on the Members page

  7. Gözden geçir ve ata sayfasında, ayarları gözden geçirdikten sonra Gözden Geçir + ata'yı seçin.

Adımlar, tabloda bahsedilen diğer rollere kimlik eklemeye benzer.

Azure CLI'yi kullanma

Bu bölümdeki örnekte, Azure rolüne kimlik eklemek için Azure CLI'nin nasıl kullanılacağı gösterilmektedir. Örnek komutlar Event Grid özel konuları içindir. Event Grid etki alanları için komutlar benzerdir.

Özel konunun sistem kimliği için asıl kimliği alma

İlk olarak, özel konunun sistem tarafından yönetilen kimliğinin asıl kimliğini alın ve kimliği uygun rollere atayın.

topic_pid=$(az ad sp list --display-name "$<TOPIC NAME>" --query [].objectId -o tsv)

Çeşitli kapsamlarda olay hub'ları için rol ataması oluşturma

Aşağıdaki CLI örneğinde, ad alanı düzeyinde veya olay hub'ı düzeyinde Azure Event Hubs Veri Gönderen rolüne özel bir konunun kimliğinin nasıl ekleneceği gösterilmektedir. Rol atamasını ad alanı düzeyinde oluşturursanız, özel konu başlığı olayları söz konusu ad alanındaki tüm olay hub'larına iletebilir. Olay hub'ı düzeyinde bir rol ataması oluşturursanız, özel konu olayları yalnızca söz konusu olay hub'ına iletebilir.

role="Azure Event Hubs Data Sender" 
namespaceresourceid=$(az eventhubs namespace show -n $<EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 
eventhubresourceid=$(az eventhubs eventhub show -n <EVENT HUB NAME> --namespace-name <EVENT HUBS NAMESPACE NAME> -g <RESOURCE GROUP of EVENT HUB> --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one event hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$eventhubresourceid" 

Çeşitli kapsamlarda Service Bus konusu için rol ataması oluşturma

Aşağıdaki CLI örneğinde, ad alanı düzeyinde veya Service Bus konu düzeyinde Azure Service Bus Veri Gönderen rolüne Event Grid özel konu başlığının kimliğinin nasıl ekleneceği gösterilmektedir. Rol atamasını ad alanı düzeyinde oluşturursanız, Event Grid konusu olayları söz konusu ad alanındaki tüm varlıklara (Service Bus kuyrukları veya konuları) iletebilir. Service Bus kuyruğunda veya konu düzeyinde bir rol ataması oluşturursanız, Event Grid özel konusu olayları yalnızca ilgili Service Bus kuyruğuna veya konusuna iletebilir.

role="Azure Service Bus Data Sender" 
namespaceresourceid=$(az servicebus namespace show -n $RG\SB -g "$RG" --query "{I:id}" -o tsv 
sbustopicresourceid=$(az servicebus topic show -n topic1 --namespace-name $RG\SB -g "$RG" --query "{I:id}" -o tsv) 

# create role assignment for the whole namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$namespaceresourceid" 

# create role assignment scoped to just one hub inside the namespace 
az role assignment create --role "$role" --assignee "$topic_pid" --scope "$sbustopicresourceid" 

Sonraki adımlar

Sistem konunuza, özel konu başlığınıza veya etki alanınıza sistem tarafından atanan bir kimlik atadığınıza ve kimliği hedeflerdeki uygun rollere eklediğinize göre, bkz . Kimliği kullanarak hedeflere olay teslim etme konusunda yönetilen kimliği kullanarak olayları teslim etme.