Event Grid kaynaklarına erişimi yetkilendirme

Azure Event Grid, olay aboneliklerini listeleme, yenilerini oluşturma ve anahtar oluşturma gibi çeşitli yönetim işlemlerini gerçekleştirmek için farklı kullanıcılara verilen erişim düzeyini denetlemenize olanak tanır. Event Grid, Azure rol tabanlı erişim denetimini (Azure RBAC) kullanır.

İşlem türleri

Azure Event Grid tarafından desteklenen işlemin 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şlemlerinden filtrelenen olası gizli dizi bilgilerini döndürür. Bu işlemlere erişimi kısıtlamanızı öneririz.

  • 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.

Rol Açıklama
EventGrid EventSubscription Reader Event Grid olay aboneliklerini okumanızı sağlar.
EventGrid EventSubscription Contributor Event Grid olay aboneliği işlemlerini yönetmenize olanak tanır.
EventGrid Contributor Event Grid kaynaklarını oluşturmanıza ve yönetmenize olanak tanır.
EventGrid Data Sender Event Grid konularına olay göndermenizi sağlar.

Event Grid Abonelik Okuyucusu ve Event Grid Aboneliği Katkıda Bulunanı rolleri, olay aboneliklerini yönetmeye yöneliktir. Kullanıcılara olay etki alanınızdaki konulara abone olmaları için gereken izinleri verdikleri için olay etki alanlarını uygularken önemlidirler. Bu roller olay aboneliklerine odaklanır ve konu oluşturma gibi eylemlere erişim izni vermez.

Event Grid Katılımcısı rolü, Event Grid kaynaklarını oluşturmanıza ve yönetmenize olanak tanır.

Dekont

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ı izinleri belirtmeniz gerekiyorsa özel roller oluşturun.

Aşağıda, kullanıcıların farklı eylemler gerçekleştirmesine olanak sağlayan örnek Event Grid rol tanımları verilmiştir. Bu özel roller, yalnızca olay aboneliklerinden daha geniş erişim sağladığından yerleşik rollerden farklıdır.

EventGridReadOnlyRole.json: Yalnızca salt okunur işlemlere izin verin.

{
  "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.json: Kısıtlı gönderi eylemlerine izin verin, 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.json: Tüm Event Grid 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 CLI ve 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 bekleme durumunda şifrelendiğinden emin olur. Buna ek olarak, olayların veya verilerin tuttuğu en uzun süre Event Grid yeniden deneme ilkesine bağlı kalarak 24 saattir. Event Grid, 24 saat sonra tüm olayları veya verileri ya da etkinlik yaşam süresini (hangisi daha azsa) otomatik olarak siler.

Olay abonelikleri için izinler

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

Olay kaynağı olan kaynakta Microsoft.EventGrid/EventSubscriptions/Write iznine sahip olmanız gerekir. Kaynak kapsamında yeni bir abonelik yazdığınız için bu izne ihtiyacınız vardır. Gerekli kaynak, bir sistem konusuna mı yoksa özel konuya mı abone olmanıza bağlı olarak 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 konuları için, kaynak kaynağın sahibi veya katkıda bulunanı değilseniz, olayı yayımlayarak kaynak kapsamında yeni bir olay aboneliği yazma izniniz olmalıdır. Kaynağın biçimi: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}

Örneğin, myacct adlı bir depolama hesabındaki bir olaya abone olmak için şu konuda Microsoft.EventGrid/EventSubscriptions/Write iznine sahip olmanız gerekir:/subscriptions/####/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/myacct

Özel konular

Özel konular için, Event Grid konusu kapsamında yeni bir olay aboneliği yazma izniniz olmalıdır. Kaynağın biçimi: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.EventGrid/topics/{topic-name}

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

Sonraki adımlar