Event Grid kaynaklara erişimi yetkilendirme

Azure Event Grid, olay aboneliklerini listele, yeni abonelikler oluşturma ve anahtar oluşturma gibi çeşitli yönetim işlemlerini yapmak için farklı kullanıcılara verilen erişim düzeyini denetlemeye olanak sağlar. Event Grid rol tabanlı erişim denetimi (Azure RBAC) kullanır.

Not

EventGrid, olayları konulara veya etki alanlarına yayımlamak Event Grid Azure RBAC'yi desteklemez. Olay yayımlayan istemcilerin kimliğini doğrulamak için Paylaşılan Erişim İmzası (SAS) anahtarı veya belirteci kullanın. Daha fazla bilgi için bkz. Yayımlama istemcilerinin kimliğini doğrulama.

İşlem türleri

Azure Event Grid tarafından desteklenen işlem listesi için aşağıdaki Azure CLI komutunu çalıştırın:

az provider operation show --namespace Microsoft.EventGrid

Aşağıdaki işlemler, normal okuma işlemleri dışında filtrelenmiş olabilecek gizli bilgileri geri alır. Bu işlemlere erişimi kısıtlamak önerilir.

  • Microsoft.EventGrid/eventSubscriptions/getFullUrl/action
  • Microsoft.EventGrid/topics/listKeys/action
  • Microsoft.EventGrid/topics/regenerateKey/action

Yerleşik roller

Event Grid aşağıdaki üç yerleşik rol sağlar.

Abonelik Event Grid Ve Abonelik Katılımcısı Event Grid rolleri olay aboneliklerini yönetmeye göredir. Kullanıcılara olay etki alanınız içinde konulara abone olmak için gereken izinleri vermeleri nedeniyle olay etki alanlarının uygulanmasında önemlidir. Bu roller olay aboneliklerine odaklanmış ve konu oluşturma gibi eylemler için erişim izni verilmez.

Katkıda Event Grid rolü, kaynaklarınızı oluşturmanıza ve yönetmenize Event Grid sağlar.

Rol Açıklama
Event Grid Aboneliği Okuyucusu Olay aboneliklerini Event Grid sağlar.
Event Grid Katkıda Bulunanı Olay aboneliği Event Grid yönetmenizi sağlar.
Event Grid Katkıda Bulunanı Kaynaklarınızı oluşturmanıza ve yönetmenize Event Grid sağlar.
Event Grid Veri Göndereni Olayları farklı konulara Event Grid sağlar.

Not

Rol hakkında daha fazla ayrıntı sağlayan bir makaleye gitmek için ilk sütundaki bağlantıları seçin. RBAC rollerine kullanıcı veya grup atama yönergeleri için bu makaleye bakın.

Özel roller

Yerleşik rollerden farklı izinler belirtmeniz gerekirse özel roller oluşturabilirsiniz.

Aşağıda, kullanıcıların farklı Event Grid izin vermesine olanak sağlayan rol tanımları için örnek bir uygulama ve açıklama ve açıklama yer almaktadır. Bu özel roller yerleşik rollerden farklıdır çünkü yalnızca olay aboneliklerinden daha geniş erişim sağlarlar.

EventGridReadOnlyRole.js: Yalnızca salt okunur işlemlere izin ver.

{
  "Name": "Event grid read only role",
  "Id": "7C0B6B59-A278-4B62-BA19-411B70753856",
  "IsCustom": true,
  "Description": "Event grid read only role",
  "Actions": [
    "Microsoft.EventGrid/*/read"
  ],
  "NotActions": [
  ],
  "AssignableScopes": [
    "/subscriptions/<Subscription Id>"
  ]
}

EventGridNoDeleteListKeysRole.js: Kısıtlanmış son eylemlere izin ver ancak silme eylemlerine izin verme.

{
  "Name": "Event grid No Delete Listkeys role",
  "Id": "B9170838-5F9D-4103-A1DE-60496F7C9174",
  "IsCustom": true,
  "Description": "Event grid No Delete Listkeys role",
  "Actions": [
    "Microsoft.EventGrid/*/write",
    "Microsoft.EventGrid/eventSubscriptions/getFullUrl/action"
    "Microsoft.EventGrid/topics/listkeys/action",
    "Microsoft.EventGrid/topics/regenerateKey/action"
  ],
  "NotActions": [
    "Microsoft.EventGrid/*/delete"
  ],
  "AssignableScopes": [
    "/subscriptions/<Subscription id>"
  ]
}

EventGridContributorRole.js: Tüm olay kılavuzu eylemlerine izin verir.

{
  "Name": "Event grid contributor role",
  "Id": "4BA6FB33-2955-491B-A74F-53C9126C9514",
  "IsCustom": true,
  "Description": "Event grid contributor role",
  "Actions": [
    "Microsoft.EventGrid/*/write",
    "Microsoft.EventGrid/*/delete",
    "Microsoft.EventGrid/topics/listkeys/action",
    "Microsoft.EventGrid/topics/regenerateKey/action",
    "Microsoft.EventGrid/eventSubscriptions/getFullUrl/action"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/<Subscription id>"
  ]
}

PowerShell, Azure CLIve REST ile özel roller oluşturabilirsiniz.

Bekleme sırasında şifreleme

Event Grid hizmeti tarafından diske yazılan tüm olaylar veya veriler, Microsoft tarafından yönetilen bir anahtarla şifrelenir ve bu anahtar, sabit bir şekilde şifrelenir. Buna ek olarak, olayların veya verilerin en uzun süre, ilkeyi yeniden deneme ilkesine bağlı Event Grid 24 saattir. Event Grid, 24 saat sonra tüm olayları veya verileri ya da yaşam süresi (hangisi daha azsa) otomatik olarak siler.

Olay abonelikleri için izinler

Web Kancası (olay hub'ı veya kuyruk depolama gibi) olmayan bir olay işleyicisi kullanıyorsanız, bu kaynağa yazma erişiminizin vardır. Bu izin denetimi, yetkisiz bir kullanıcının kaynağınıza olay göndermesini önler.

Olay kaynağı olan kaynakta Microsoft.EventGrid/EventSubscriptions/Write iznine sahipsiniz. Kaynak kapsamında yeni bir abonelik yazarken bu izin gerekir. Gerekli kaynak, bir sistem konu başlığına mı yoksa özel konuya mı abone olduğunuz konusunda farklılık gösterir. Her iki tür de bu bölümde açıklanmıştır.

Sistem konuları (Azure hizmet yayımcıları)

Sistem konu başlıkları için, kaynak kaynağın sahibi veya katkıda bulunanı değilseniz, olayı yayımya veren kaynak kapsamında yeni bir olay aboneliği yazma izninizin olması gerekir. Kaynağın biçimi şu şekildedir: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}

Örneğin, myacct adlı bir depolama hesabı üzerinde bir etkinliğe abone olmak için üzerinde Microsoft.EventGrid/EventSubscriptions/Write iznine sahip olmanız gerekir: /subscriptions/####/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/myacct

Özel konu başlıkları

Özel konu başlıkları için, event grid konusu kapsamında yeni bir olay aboneliği yazma iznine ihtiyacınız vardır. Kaynağın biçimi şu şekildedir: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.EventGrid/topics/{topic-name}

Örneğin, mytopic adlı özel bir konuya abone olmak için üzerinde Microsoft.EventGrid/EventSubscriptions/Write iznine sahip olmanız gerekir: /subscriptions/####/resourceGroups/testrg/providers/Microsoft.EventGrid/topics/mytopic

Sonraki adımlar