权限策略和示例

事件总线EventBridge的权限管理是通过阿里云的访问控制RAM(Resource Access Management)产品实现的。使用RAM可以让您避免与其他用户共享云账号密钥,即AccessKey(包含AccessKey ID和AccessKey Secret),按需为用户分配最小权限。本文介绍事件总线EventBridge在RAM中的权限策略和示例。

背景信息

在RAM中,权限策略是用权限策略语法和结构描述的一组权限的集合,可以精确地描述被授权的Resource(资源集)、Action(操作集)以及授权条件。更多信息,请参见权限策略语法和结构

事件总线EventBridge支持的RAM的权限策略有以下类型:

  • 系统策略

    系统策略统一由阿里云创建,您只能使用不能修改,策略的版本更新由阿里云维护。

  • 自定义策略

    自定义策略可由您自主创建、更新和删除,策略的版本更新由您自己维护。您需到RAM控制台编辑相应权限策略,再给相应用户授予该权限。

注意事项

  • 对资源进行增删改查操作的API是一对一(One Action over One Resource)的权限校验。

  • 在执行鉴权的时候需要对资源进行Action校验。例如UpdateRule API需要验证访问者具备eventbus/$eventbus的UpdateRule Action权限。

系统策略

事件总线EventBridge提供以下系统默认的权限策略。

权限策略名称

说明

AliyunEventBridgeFullAccess

事件总线EventBridge的管理权限,等同于阿里云账号的权限,被授予该权限的RAM用户可执行发布事件和控制台所有操作。

AliyunEventBridgeReadOnlyAccess

事件总线EventBridge的只读权限,被授予该权限的RAM用户仅可通过访问控制台或调用API读取资源信息。

AliyunEventBridgeResourceCreatePolicy

事件总线EventBridge的创建资源权限,被授予该权限的RAM用户可通过访问控制台或调用API创建资源。

AliyunEventBridgeResourceUpdatePolicy

事件总线EventBridge的编辑资源权限,被授予该权限的RAM用户仅可通过访问控制台或调用API编辑资源。

AliyunEventBridgeResourceDeletePolicy

事件总线EventBridge的删除资源权限,被授予该权限的RAM用户仅可通过访问控制台或调用API删除资源。

AliyunEventBridgePutEventsPolicy

事件总线EventBridge的发布事件权限,被授予该权限的RAM用户仅可通过访问控制台或调用API发布事件。

自定义策略

自定义策略可以满足您更细粒度的授权需求。事件总线EventBridge提供以下自定义策略。

API

Action

Resource

CreateEventBus

eventbridge:CreateEventBus

acs:eventbridge:$regionId:$accountId:eventbus/*

GetEventBus

eventbridge:GetEventBus

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus

DeleteEventBus

eventbridge:DeleteEventBus

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus

ListEventBuses

eventbridge:ListEventBuses

acs:eventbridge:$regionId:$accountId:eventbus/*

CreateRule

eventbridge:CreateRule

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/*

GetRule

eventbridge:GetRule

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

UpdateRule

eventbridge:UpdateRule

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

EnableRule

eventbridge:EnableRule

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

DisableRule

eventbridge:DisableRule

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

DeleteRule

eventbridge:DeleteRule

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

ListRules

eventbridge:ListRules

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/*

UpdateTargets

eventbridge:UpdateTargets

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

DeleteTargets

eventbridge:DeleteTargets

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

ListTargets

eventbridge:ListTargets

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus/rule/$rule

PutEvents

eventbridge:PutEvents

acs:eventbridge:$regionId:$accountId:eventbus/$eventbus

CreateEventStreaming

eventbridge:CreateEventStreaming

acs:eventbridge:$regionId:$accountId:eventstreaming/*

StartEventStreaming

eventbridge:StartEventStreaming

acs:eventbridge:$regionId:$accountId:eventstreaming/$eventstreaming

PauseEventStreaming

eventbridge:PauseEventStreaming

acs:eventbridge:$regionId:$accountId:eventstreaming/$eventstreaming

GetEventStreaming

eventbridge:GetEventStreaming

acs:eventbridge:$regionId:$accountId:eventstreaming/$eventstreaming

UpdateEventStreaming

eventbridge:UpdateEventStreaming

acs:eventbridge:$regionId:$accountId:eventstreaming/$eventstreaming

DeleteEventStreaming

eventbridge:DeleteEventStreaming

acs:eventbridge:$regionId:$accountId:eventstreaming/$eventstreaming

ListEventStreamings

eventbridge:ListEventStreamings

acs:eventbridge:$regionId:$accountId:eventstreaming/*

自定义策略示例

授权管理事件总线权限策略,请按以下示例设置。

{
    "Statement":[
        {
            "Effect":"Allow",
            "Action":[
                "eventbridge:CreateEventBus",
                "eventbridge:GetEventBus",
                "eventbridge:DeleteEventBus",
                "eventbridge:ListEventBuses"
            ],
            "Resource":"acs:eventbridge:*:*:eventbus/*"
        }
    ],
    "Version":"1"
}

授权管理事件流权限策略,请按以下示例设置。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "eventbridge:CreateEventStreaming",
                "eventbridge:StartEventStreaming",
                "eventbridge:GetEventStreaming",
                "eventbridge:DeleteEventStreaming",
                "eventbridge:ListEventStreamings",
                "eventbridge:UpdateEventStreaming",
                "eventbridge:PauseEventStreaming"
            ],
            "Resource": "acs:eventbridge:*:*:eventstreaming/*"
        }
    ]
}