Amazon EventBridge リソースへのアクセス許可の管理
アイデンティティベースまたはリソースベースのポリシーを使用して、ルールやイベントなどの EventBridge リソースへのアクセスを管理します。
EventBridge リソース
Eventbridge のリソースとサブリソースには、一意の Amazon リソースネーム (ARN) が関連付けられています。イベントパターンを作成するには、EventBridge で ARN を使用します。ARN の詳細については、AWSの「Amazon リソースネーム (ARN) および Amazon Web Services 全般のリファレンス サービスの名前空間」を参照してください。
EventBridge がリソースを操作する際のオペレーションのリストについては、「Amazon EventBridge アクセス許可のリファレンス」を参照してください。
注記
AWS のほとんどのサービスでは、ARN 内のコロン (:
) またはスラッシュ (/
) は同じ文字として扱われます。ただし、EventBridge では、イベントパターンおよびルールで完全一致が使用されます。イベントパターンの作成時に正しい ARN 文字を使用して、一致させるイベント内の ARN 構文とそれらの文字が一致するようにしてください。
次の表に、EventBridge のリソースを示します。
リソースタイプ | ARN 形式 |
---|---|
アーカイブ |
|
リプレイ |
|
ルール |
|
イベントバス |
|
全ての EventBridge リソース |
|
特定リージョンの特定アカウントが所有するすべての Eventbridge リソース |
|
次の例では、ARN を使用してステートメント内で特定のルール (myRule
) を指定する方法を示しています。
"Resource": "arn:aws:events:
us-east-1
:123456789012
:rule/myRule
"
特定のアカウントに属するすべてのルールを指定するには、以下のようにアスタリスク (*) ワイルドカードを使用します。
"Resource": "arn:aws:events:
us-east-1
:123456789012
:rule/*
"
すべてのリソースを指定する場合、または特定の API アクションが ARN をサポートしていない場合は、以下のように Resource
要素内でアスタリスク(*) ワイルドカードを使用します。
"Resource": "
*
"
1 つのステートメントで複数のリソースまたは PutTargets
を指定するには、次のように ARN をカンマで区切ります。
"Resource": ["arn1", "arn2"]
リソースの所有権
アカウントは、誰がリソースを作成したかにかかわらず、そのアカウント内のリソースを所有します。リソース所有者は、リソースの作成リクエストを認証するプリンシパルエンティティ、アカウントルートユーザー、IAM ユーザーまたはロールのアカウントです。次の例は、この仕組みを示しています。
-
アカウントのルートユーザー認証情報を使用してルールを作成する場合、アカウントは Eventbridge リソースの所有者です。
-
アカウントでユーザーを作成し、このユーザーに Eventbridge リソースを作成するアクセス許可を付与すると、このユーザーは Eventbridge リソースを作成できるようになります。ただし、ユーザーが属するアカウントが Eventbridge リソースの所有者になります。
-
Eventbridge リソースを作成するためのアクセス許可を持つアカウントに IAM ロールを作成する場合は、ロールを引き受けることのできるいずれのユーザーも Eventbridge リソースを作成できます。ロールが属するアカウントは Eventbridge リソースを所有しているとします。
リソースへのアクセスの管理
アクセスポリシーでは、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス許可ポリシーを作成するために使用可能なオプションについて説明します。
注記
このセクションでは、Eventbridge のコンテキストでの IAM の使用について説明します。これは、IAM サービスに関する詳細情報を取得できません。IAM に関する詳細なドキュメントについては、「IAM ユーザーガイド」の「What is IAM?」(IAM とは?) を参照してください。IAM ポリシー構文の詳細と説明については、「IAM ユーザーガイド」の「 IAM ポリシーリファレンス」を参照してください。
IAM ID にアタッチされたポリシーは ID ベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。EventBridge では、アイデンティティベースのポリシー (IAM ポリシー) とリソースベースのポリシーの両方が使用できます。
ID ベースのポリシー (IAM ポリシー)
ポリシーを IAM アイデンティティにアタッチできます。例えば、次のオペレーションを実行できます。
-
アカウントのユーザーまたはグループにアクセス権限ポリシーをアタッチする – Amazon CloudWatch コンソールでルールを表示するアクセス権限を付与するには、ユーザーが所属するユーザーまたはグループにアクセス許可のポリシーをアタッチします。
-
アクセス権限ポリシーをロールにアタッチする (クロスアカウントの許可を付与) - ID ベースのアクセス権限ポリシーを IAM ロールにアタッチして、クロスアカウントの権限を付与することができます。例えば、アカウント A の管理者は、次のように別のアカウント B または AWS サービスにクロスアカウント許可を付与するロールを作成できます。
-
アカウント A の管理者は、IAM ロールを作成して、アカウント A のリソースに許可を付与するロールに許可ポリシーを添付します。
-
アカウント A の管理者は、アカウント B をそのロールを引き受けるプリンシパルとして識別するロールに、信頼ポリシーをアタッチします。
-
アカウント B の管理者は、アカウント B のユーザーにロールを引き受ける権限を委任できるようになります。これにより、アカウント B のユーザーにアカウント A のリソースの作成とアクセスが許可されます。ロールを引き受けるために必要なアクセス権限を AWS のサービスに付与するには、信頼ポリシー内のプリンシパルも、AWS のサービスのプリンシパルとなることができます。
IAM を使用した許可の委任の詳細については、「IAM ユーザーガイド」の「アクセス管理」を参照してください。
-
アカウントのユーザーがアクセスできる呼び出しやリソースを制限する特定の IAM ポリシーを作成し、これらのポリシーをユーザーにアタッチできます。IAM ロールを作成する方法、および Eventbridge の IAM ポリシーステートメントの例を調べる方法の詳細については、Amazon EventBridge リソースへのアクセス許可の管理 を参照してください。
リソースベースのポリシー (IAM ポリシー)
EventBridge でルールが実行されると、そのルールに関連するすべてのターゲットが呼び出されます。つまり、AWS Lambda 関数の呼び出し、Amazon SNS トピックへの公開、または Amazon Kinesis ストリームへのイベントの中継です。所有するリソースで API をコールするには、EventBridge に適切な許可が必要です。Lambda、Amazon SNS、および Amazon SQS リソースの場合、EventBridge はリソースベースのポリシーを使用します。Kinesis ストリームの場合、EventBridge は IAM ロールを使用します。
IAM ロールの作成方法、および Eventbridge のリソースベースのポリシーステートメント例の活用方法に関する詳細は、「Amazon EventBridge のリソースベースのポリシーを使用する」を参照してください。
ポリシー要素 (アクション、効果、プリンシパル) の指定
EventBridge リソースごとに、EventBridge は一連の API オペレーションを定義します。こうした API オペレーションへのアクセス権限を付与するために、EventBridge は一連のアクションをポリシーに定義します。一部の API オペレーションは、API オペレーションを実行するために複数のアクションに対するアクセス許可を要求します。リソースおよび API オペレーションに関する詳細については、「EventBridge リソース」および「Amazon EventBridge アクセス許可のリファレンス」を参照してください。
以下は、基本的なポリシーの要素です。
-
リソース - Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。詳細については、「EventBridge リソース」を参照してください。
-
アクション – キーワードを使用して、許可または拒否するリソースオペレーションを識別します。例えば、
events:Describe
権限は、Describe
オペレーションの実行をユーザーに許可します。 -
効果— 許可または拒否 のいずれかを指定します。リソースへのアクセスを明示的に許可していない場合、アクセスは拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーがそのリソースにアクセスできるかどうかは不確実になります。
-
プリンシパル - ID ベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、権限 (リソースベースのポリシーにのみ適用)を受け取りたいユーザー、アカウント、サービス、またはその他のエンティティを指定します。
IAM ポリシー構文の詳細と説明については、IAM ユーザーガイドの「IAM JSON ポリシーリファレンス」を参照してください。
EventBridge API アクションとそれらが適用されるリソースの詳細については、「Amazon EventBridge アクセス許可のリファレンス」を参照してください。
ポリシーでの条件の指定
アクセス権限を付与するとき、アクセスポリシー言語を使用して、ポリシーが有効になる必要がある条件を指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語での条件の指定の詳細については、「IAM ユーザーガイド」の「条件」を参照してください。
条件を定義には、条件キーを使用します。AWS 条件キーと EventBridge 固有のキーがあり、必要に応じて使用できます。AWS キーの完全な一覧については、IAM ユーザーガイドの条件に利用可能なキーを参照してください。EventBridge 固有のキーの一覧については、「Amazon EventBridge での IAM ポリシー条件の使用」を参照してください。