事件总线EventBridge的权限管理是通过阿里云的访问控制RAM(Resource Access Management)产品实现的。使用RAM可以让您避免与其他用户共享云账号密钥,即AccessKey(包含AccessKey ID和AccessKey Secret),按需为用户分配最小权限。本文介绍事件总线EventBridge在RAM中的权限策略和示例。
背景信息
在RAM中,权限策略是用权限策略语法和结构描述的一组权限的集合,可以精确地描述被授权的Resource(资源集)、Action(操作集)以及授权条件。更多信息,请参见权限策略语法和结构。
事件总线EventBridge支持的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/*"
}
]
}