Autorizace přístupu k prostředkům Event Gridu

Azure Event Grid umožňuje řídit úroveň přístupu udělenou různým uživatelům a provádět různé operace správy, jako jsou výpis odběry událostí, vytváření nových a generování klíčů. Event Grid používá řízení přístupu na základě role v Azure (Azure RBAC).

Typy operace

Seznam operací podporovaných službou Azure Event Grid zobrazíte spuštěním následujícího příkazu Azure CLI:

az provider operation show --namespace Microsoft.EventGrid

Následující operace vrací potenciálně tajné informace, které se odfiltrují z normálních operací čtení. Doporučujeme omezit přístup k těmto operacím.

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

Předdefinované role

Event Grid poskytuje následující tři předdefinované role.

Role Popis
EventGrid EventSubscription Reader Umožňuje číst odběry událostí Event Gridu.
EventGrid EventSubscription Contributor Umožňuje spravovat operace odběru událostí Event Gridu.
EventGrid Contributor Umožňuje vytvářet a spravovat prostředky Event Gridu.
EventGrid Data Sender Umožňuje odesílat události do témat Event Gridu.

Role Čtenář odběru event Gridu a Přispěvatel odběru event Gridu slouží ke správě odběrů událostí. Při implementaci domén událostí jsou důležité, protože uživatelům poskytují oprávnění, která potřebují k odběru témat ve vaší doméně událostí. Tyto role se zaměřují na odběry událostí a neudělují přístup k akcím, jako jsou vytváření témat.

Role Přispěvatel Event Gridu umožňuje vytvářet a spravovat prostředky Event Gridu.

Poznámka:

Výběrem odkazů v prvním sloupci přejděte k článku, který obsahuje další podrobnosti o roli. Pokyny k přiřazení uživatelů nebo skupin k rolím RBAC najdete v tomto článku.

Vlastní role

Pokud potřebujete zadat oprávnění, která se liší od předdefinovaných rolí, vytvořte vlastní role.

Následuje ukázka definic rolí Event Gridu, které uživatelům umožňují provádět různé akce. Tyto vlastní role se liší od předdefinovaných rolí, protože udělují širší přístup než jen odběry událostí.

EventGridReadOnlyRole.json: Povoluje pouze operace jen pro čtení.

{
  "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: Povolí akce omezeného publikování, ale zakáže akce odstranění.

{
  "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: Umožňuje všechny akce Event Gridu.

{
  "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>"
  ]
}

Vlastní role můžete vytvářet pomocí PowerShellu, Azure CLI a REST.

Šifrování neaktivních uložených dat

Všechny události nebo data zapsaná na disk službou Event Grid jsou šifrované klíčem spravovaným Microsoftem, který zajišťuje šifrování neaktivních uložených dat. Kromě toho je maximální doba, po kterou se události nebo data uchovávají, 24 hodin v souladu se zásadami opakování služby Event Grid. Event Grid automaticky odstraní všechny události nebo data po 24 hodinách nebo události, podle toho, co je méně.

Oprávnění pro odběry událostí

Pokud používáte obslužnou rutinu událostí, která není WebHook (například centrum událostí nebo úložiště front), potřebujete k danému prostředku přístup pro zápis. Tato kontrola oprávnění brání neoprávněnému uživateli v odesílání událostí do vašeho prostředku.

U prostředku, který je zdrojem události, musíte mít oprávnění Microsoft.EventGrid/EventSubscriptions/Write . Toto oprávnění potřebujete, protože píšete nové předplatné v oboru prostředku. Požadovaný prostředek se liší podle toho, jestli se přihlašujete k odběru systémového tématu nebo vlastního tématu. Oba typy jsou popsány v této části.

Systémová témata (vydavatelé služeb Azure)

V případě systémových témat, pokud nejste vlastníkem nebo přispěvatelem zdrojového prostředku, potřebujete oprávnění k zápisu nového odběru událostí v oboru publikování události. Formát prostředku: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}

Pokud se například chcete přihlásit k odběru události v účtu úložiště s názvem myacct, potřebujete oprávnění Microsoft.EventGrid/EventSubscriptions/Write: /subscriptions/####/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/myacct

Vlastní témata

Pro vlastní témata potřebujete oprávnění k zápisu nového odběru událostí v oboru tématu Event Gridu. Formát prostředku: /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.EventGrid/topics/{topic-name}

Pokud se například chcete přihlásit k odběru vlastního tématu s názvem mytopic, potřebujete oprávnění Microsoft.EventGrid/EventSubscriptions/Write: /subscriptions/####/resourceGroups/testrg/providers/Microsoft.EventGrid/topics/mytopic

Další kroky