事件匯流排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/*"
}
]
}