EventBridgeでは、RAM (Resource Access Management) を使用して権限を管理できます。 RAMを使用する場合、Alibaba CloudアカウントのAccessKeyペアを他のユーザーと共有する必要はありません。 最低限必要な権限のみをユーザーに付与できます。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 このトピックでは、EventBridgeのRAMポリシーについて説明し、サンプルのカスタムポリシーを提供します。
背景情報
RAMでは、ポリシーは、ポリシーの構文と構造を使用して記述される一連の権限です。 ポリシーを使用して、許可されたリソースセット、許可されたアクションセット、および許可条件を記述できます。 詳細については、「ポリシーの構造と構文」をご参照ください。
EventBridgeは、次の種類のRAMポリシーをサポートしています。
使用上の注意
リソースの作成、削除、更新、およびクエリを行うために呼び出されるAPI操作に対する権限は、1つのリソースに対して1つのアクションでチェックされます。
認証中、システムはリソースに対してアクションを実行するためのアクセス許可をチェックします。 たとえば、UpdateRule操作を呼び出すと、システムは
eventbus/$eventbusに対してUpdateRule操作を実行する権限があるかどうかを確認します。
システムポリシー
次の表に、EventBridgeに提供されるデフォルトのポリシーを示します。
ポリシー | 説明 |
AliyunEventBridgeFullAccess | EventBridgeを管理するための権限。 このような権限は、Alibaba Cloudアカウントが持つ権限と同等です。 このポリシーがアタッチされているRAMユーザーは、イベントを公開し、EventBridgeコンソールのすべての機能を使用できます。 |
AliyunEventBridgeReadOnlyAccess | EventBridgeの読み取り専用権限。 このポリシーがアタッチされているRAMユーザーは、EventBridgeコンソールまたはAPI操作を呼び出すことによってのみリソース情報を読み取ることができます。 |
AliyunEventBridgeResourceCreatePolicy | EventBridgeでリソースを作成する権限。 このポリシーがアタッチされているRAMユーザーは、EventBridgeコンソールまたはAPI操作を呼び出してリソースを作成できます。 |
AliyunEventBridgeResourceUpdatePolicy | EventBridgeでリソースを変更する権限。 このポリシーがアタッチされているRAMユーザーは、EventBridgeコンソールまたはAPI操作を呼び出してリソースを変更できます。 |
AliyunEventBridgeResourceDeletePolicy | EventBridgeからリソースを削除する権限。 このポリシーがアタッチされているRAMユーザーは、EventBridgeコンソールまたはAPI操作を呼び出してリソースを削除できます。 |
AliyunEventBridgePutEventsPolicy | EventBridgeでイベントを公開する権限。 このポリシーがアタッチされているRAMユーザーは、EventBridgeコンソールまたはAPI操作を呼び出してイベントを発行できます。 |
カスタムポリシー
カスタムポリシーを定義して、RAMユーザーにきめ細かい権限を付与できます。 次の表に、EventBridgeのカスタムポリシーの定義に使用できるアクションとリソースを示します。
API操作 | Action | リソース |
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/* |
サンプルカスタムポリシー
次のコードを使用して、RAMユーザーにイベントバスの管理を許可するカスタムポリシーを定義できます。
{
"ステートメント":[
{
"効果":"許可" 、
"Action":[
"eventbridge:CreateEventBus" 、
"eventbridge:GetEventBus" 、
"eventbridge:DeleteEventBus" 、
"eventbridge:ListEventBuses"
],
"Resource":"acs:eventbridge:*:*:eventbus/*"
}
],
"バージョン":"1"
} 次のコードを使用して、RAMユーザーにイベントストリームの管理を許可するカスタムポリシーを定義できます。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eventbridge:CreateEventStreaming" 、
"eventbridge:StartEventStreaming" 、
"eventbridge:GetEventStreaming" 、
"eventbridge:DeleteEventStreaming" 、
"eventbridge:ListEventStreamings" 、
"eventbridge:UpdateEventStreaming" 、
"eventbridge:PauseEventStreaming"
],
"Resource": "acs:eventbridge:*:*:eventstreaming/*"
}
]
}