權(quán)限策略和示例
事件總線EventBridge的權(quán)限管理是通過阿里云的訪問控制RAM(Resource Access Management)產(chǎn)品實現(xiàn)的。使用RAM可以讓您避免與其他用戶共享云賬號密鑰,即AccessKey(包含AccessKey ID和AccessKey Secret),按需為用戶分配最小權(quán)限。本文介紹事件總線EventBridge在RAM中的權(quán)限策略和示例。
背景信息
在RAM中,權(quán)限策略是用權(quán)限策略語法和結(jié)構(gòu)描述的一組權(quán)限的集合,可以精確地描述被授權(quán)的Resource(資源集)、Action(操作集)以及授權(quán)條件。更多信息,請參見權(quán)限策略語法和結(jié)構(gòu)。
事件總線EventBridge支持的RAM的權(quán)限策略有以下類型:
系統(tǒng)策略統(tǒng)一由阿里云創(chuàng)建,您只能使用不能修改,策略的版本更新由阿里云維護。
自定義策略可由您自主創(chuàng)建、更新和刪除,策略的版本更新由您自己維護。您需到RAM控制臺編輯相應(yīng)權(quán)限策略,再給相應(yīng)用戶授予該權(quán)限。
注意事項
對資源進行增刪改查操作的API是一對一(One Action over One Resource)的權(quán)限校驗。
在執(zhí)行鑒權(quán)的時候需要對資源進行Action校驗。例如UpdateRule API需要驗證訪問者具備
eventbus/$eventbus
的UpdateRule Action權(quán)限。
系統(tǒng)策略
事件總線EventBridge提供以下系統(tǒng)默認的權(quán)限策略。
權(quán)限策略名稱 | 說明 |
AliyunEventBridgeFullAccess | 事件總線EventBridge的管理權(quán)限,等同于阿里云賬號的權(quán)限,被授予該權(quán)限的RAM用戶可執(zhí)行發(fā)布事件和控制臺所有操作。 |
AliyunEventBridgeReadOnlyAccess | 事件總線EventBridge的只讀權(quán)限,被授予該權(quán)限的RAM用戶僅可通過訪問控制臺或調(diào)用API讀取資源信息。 |
AliyunEventBridgeResourceCreatePolicy | 事件總線EventBridge的創(chuàng)建資源權(quán)限,被授予該權(quán)限的RAM用戶可通過訪問控制臺或調(diào)用API創(chuàng)建資源。 |
AliyunEventBridgeResourceUpdatePolicy | 事件總線EventBridge的編輯資源權(quán)限,被授予該權(quán)限的RAM用戶僅可通過訪問控制臺或調(diào)用API編輯資源。 |
AliyunEventBridgeResourceDeletePolicy | 事件總線EventBridge的刪除資源權(quán)限,被授予該權(quán)限的RAM用戶僅可通過訪問控制臺或調(diào)用API刪除資源。 |
AliyunEventBridgePutEventsPolicy | 事件總線EventBridge的發(fā)布事件權(quán)限,被授予該權(quán)限的RAM用戶僅可通過訪問控制臺或調(diào)用API發(fā)布事件。 |
自定義策略
自定義策略可以滿足您更細粒度的授權(quán)需求。事件總線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/* |
自定義策略示例
授權(quán)管理事件總線權(quán)限策略,請按以下示例設(shè)置。
{
"Statement":[
{
"Effect":"Allow",
"Action":[
"eventbridge:CreateEventBus",
"eventbridge:GetEventBus",
"eventbridge:DeleteEventBus",
"eventbridge:ListEventBuses"
],
"Resource":"acs:eventbridge:*:*:eventbus/*"
}
],
"Version":"1"
}
授權(quán)管理事件流權(quán)限策略,請按以下示例設(shè)置。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eventbridge:CreateEventStreaming",
"eventbridge:StartEventStreaming",
"eventbridge:GetEventStreaming",
"eventbridge:DeleteEventStreaming",
"eventbridge:ListEventStreamings",
"eventbridge:UpdateEventStreaming",
"eventbridge:PauseEventStreaming"
],
"Resource": "acs:eventbridge:*:*:eventstreaming/*"
}
]
}