事件總線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/*"
}
]
}