Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure 事件网格使你能够控制不同用户对各种管理操作的访问级别,例如列出事件订阅、创建新订阅和生成密钥。 事件网格使用Azure基于角色的访问控制(Azure RBAC)。
操作类型
若要查看Azure 事件网格支持的操作列表,请运行以下命令Azure CLI命令:
az provider operation show --namespace Microsoft.EventGrid
以下操作可能返回在常规读取操作中会被筛选掉的机密信息。 限制对这些操作的访问。
- Microsoft.EventGrid/eventSubscriptions/getFullUrl/action
- Microsoft。EventGrid/topics/listKeys/action
- Microsoft.EventGrid/topics/regenerateKey/action
内置角色
事件网格提供以下三种内置角色。
| 角色 | 说明 |
|---|---|
EventGrid EventSubscription Reader |
可以读取 Event Grid 的事件订阅。 |
EventGrid EventSubscription Contributor |
可以管理 Event Grid 事件订阅操作。 |
EventGrid Contributor |
允许你创建和管理事件网格资源。 |
EventGrid Data Sender |
允许将事件发送到事件网格主题。 |
“事件网格订阅读者”和“事件网格订阅参与者”角色用于管理事件订阅。 它们对于实施事件域非常重要,因为它们为用户提供了订阅事件域中主题所需的权限。 这些角色专注于事件订阅,不授予对创建主题等操作的访问权限。
“事件网格参与者”角色允许你创建和管理事件网格资源。
注意
选择第一列中的链接,以导航到介绍有关该角色的更多详细信息的文章。 有关如何向用户或组分配 RBAC 角色的说明,请参阅本文。
自定义角色
如果需要指定不同于内置角色的权限,请创建自定义角色。
以下示例事件网格角色定义向用户授予不同的权限。 这些自定义角色不同于内置角色,因为它们授予更广泛的访问权限,而不仅仅是事件订阅。
- EventGridReadOnlyRole.json:仅授予只读操作。
{
"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:授予有限制的发布操作权限,但不允许删除操作。
{
"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:授予所有事件网格操作。
{
"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 和 REST 创建自定义角色。
静态加密
事件网格服务使用Azure管理的密钥加密写入磁盘的所有事件或数据,确保静态加密。 此外,事件或数据保留的最大时间段为 24 小时,符合 事件网格重试策略。 事件网格(Event Grid)会在 24 小时后或事件生存时间到期时自动删除所有事件或数据,以较短者为准。
事件订阅权限
如果使用不是 WebHook 的事件处理程序(例如事件中心或队列存储),则需要对该资源进行写入访问权限。 此权限检查可防止未经授权的用户向你的资源发送事件。
必须在作为事件源的资源上具有 Microsoft.EventGrid/EventSubscriptions/Write 权限。 因为您在资源范围内创建新订阅,所以需要此权限。 所需资源因是订阅系统主题还是订阅自定义主题而异。 本部分介绍了这两种类型。
系统主题(Azure 服务发布者)
对于系统主题,如果你不是源资源的所有者或贡献者,则需要获得权限,以便在发布事件的资源范围内创建新事件订阅。 该资源的格式为:/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}
例如,若要订阅名为 myacct 的存储帐户上的事件,需要拥有 Microsoft/EventGrid/EventSubscriptions/Write 权限:/subscriptions/####/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/myacct
自定义主题
对于自定义主题,需要在事件网格主题范围内写入新事件订阅的权限。 资源的格式为:/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.EventGrid/topics/{topic-name}
例如,若要订阅名为 mytopic 的自定义主题,需要 Microsoft.EventGrid/EventSubscriptions/Write 权限:/subscriptions/####/resourceGroups/testrg/providers/Microsoft.EventGrid/topics/mytopic
相关内容
- 有关事件网格的介绍,请参阅关于事件网格。