Amazon EventBridge でのアイデンティティベースのポリシー (IAM ポリシー) の使用
アイデンティティベースのポリシーは、IAM アイデンティティにアタッチできるアクセス許可ポリシーです。
EventBridge の AWS 管理ポリシー
AWS は、AWSによって作成され管理されるスタンドアロンの IAM ポリシーを提供することで、多くの一般的ユースケースに対応します。管理ポリシー、つまり事前定義ポリシーは、一般的ユースケースに必要なアクセス許可を付与するため、どの許可が必要なのかをユーザーが調査する必要はありません。詳細については、「IAM ユーザーガイド」の「AWS 管理ポリシー」を参照してください。
アカウントのユーザーにアタッチできる以下の AWS 管理ポリシーは、EventBridge に固有のものです。
-
[AmazonEventBridgeFullAccess] — EventBridge Pipes、EventBridge スキーマ、EventBridge スケジューラを含む EventBridge へのフルアクセスを許可します。
-
[AmazonEventBridgeReadOnlyAccess] — EventBridge Pipes、EventBridge スキーマ、EventBridge スケジューラを含む EventBridge への読み取り専用アクセスを許可します。
AmazonEventBridgeFullAccess ポリシー
AmazonEventBridgeFullAccess ポリシーは、すべての EventBridge アクションを使用するアクセス許可と、以下のアクセス許可を付与します。
-
iam:CreateServiceLinkedRole
- EventBridge では、API 送信先のためのサービスロールをアカウントに作成するために、このアクセス許可が必要です。このアクセス許可は、API 送信先専用のロールをアカウントに作成するための IAM サービスアクセス許可のみを付与します。 -
iam:PassRole
- EventBridge では、ルールのターゲットを呼び出す目的で EventBridge に呼び出しロールを渡すために、このアクセス許可が必要です。 -
Secrets Manager のアクセス許可 - API 送信先を認可するために接続リソースを通じて認証情報を提供するときに、アカウントでシークレットを管理するために、EventBridge はこれらのアクセス許可を必要とします。
以下の JSON は、AmazonEventBridgeFullAccess ポリシーを示しています。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EventBridgeActions", "Effect": "Allow", "Action": [ "events:*", "schemas:*", "scheduler:*", "pipes:*" ], "Resource": "*" }, { "Sid": "IAMCreateServiceLinkedRoleForApiDestinations", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/AmazonEventBridgeApiDestinationsServiceRolePolicy", "Condition": { "StringEquals": { "iam:AWSServiceName": "apidestinations.events.amazonaws.com" } } }, { "Sid": "SecretsManagerAccessForApiDestinations", "Effect": "Allow", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DeleteSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": "arn:aws:secretsmanager:*:*:secret:events!*" }, { "Sid": "IAMPassRoleAccessForEventBridge", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "events.amazonaws.com" } } }, { "Sid": "IAMPassRoleAccessForScheduler", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } }, { "Sid": "IAMPassRoleAccessForPipes", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "pipes.amazonaws.com" } } } ] }
注記
このセクションの情報は CloudWatchEventsFullAccess
ポリシーにも適用されます。ただし、 Amazon CloudWatch Events の代わりに Amazon EventBridge を使用することを強くお勧めします。
AmazonEventBridgeReadOnlyAccess ポリシー
AmazonEventBridgeFullAccess ポリシーは、すべての読み取り EventBridge アクションを使用するアクセス許可を付与します。
以下の JSON は、AmazonEventBridgeFullAccess ポリシーを示しています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "events:DescribeRule", "events:DescribeEventBus", "events:DescribeEventSource", "events:ListEventBuses", "events:ListEventSources", "events:ListRuleNamesByTarget", "events:ListRules", "events:ListTargetsByRule", "events:TestEventPattern", "events:DescribeArchive", "events:ListArchives", "events:DescribeReplay", "events:ListReplays", "events:DescribeConnection", "events:ListConnections", "events:DescribeApiDestination", "events:ListApiDestinations", "events:DescribeEndpoint", "events:ListEndpoints", "schemas:DescribeCodeBinding", "schemas:DescribeDiscoverer", "schemas:DescribeRegistry", "schemas:DescribeSchema", "schemas:ExportSchema", "schemas:GetCodeBindingSource", "schemas:GetDiscoveredSchema", "schemas:GetResourcePolicy", "schemas:ListDiscoverers", "schemas:ListRegistries", "schemas:ListSchemas", "schemas:ListSchemaVersions", "schemas:ListTagsForResource", "schemas:SearchSchemas", "scheduler:GetSchedule", "scheduler:GetScheduleGroup", "scheduler:ListSchedules", "scheduler:ListScheduleGroups", "scheduler:ListTagsForResource", "pipes:DescribePipe", "pipes:ListPipes", "pipes:ListTagsForResource" ], "Resource": "*" } ] }
注記
このセクションの情報は CloudWatchEventsReadOnlyAccess
ポリシーにも適用されます。ただし、Amazon CloudWatch Events の代わりに Amazon EventBridge を使用することを強くお勧めします。
EventBridge スキーマ固有のマネージドポリシー
スキーマは、EventBridge に送信されるイベントの構造を定義します。EventBridge は、AWS サービスによって生成されるすべてのイベントにスキーマを提供します。EventBridge スキーマに固有の以下の AWS マネージドポリシーを使用できます。
EventBridge スケジューラ固有のマネージドポリシー
Amazon EventBridge スケジューラはサーバーレススケジューラで、一元化されたマネージドサービスからタスクを作成、実行、管理できます。EventBridge スケジューラ固有の AWS マネージドポリシーについては、「EventBridge スケジューラユーザーガイド」の「AWS managed policies for EventBridge Scheduler」を参照してください。
EventBridge Pipes 固有のマネージドポリシー
Amazon EventBridge Pipes はイベントソースをターゲットに接続します。パイプを使用すると、イベント駆動型アーキテクチャを開発する際に専門知識や統合コードが不要になります。これにより、会社のアプリケーション全体の一貫性が確保されます。EventBridge Pipesに固有の以下の AWS マネージドポリシーを使用できます。
AmazonEventBridgePipesFullAccess
Amazon EventBridge Pipes へのフルアクセス権を付与します。
注記
このポリシーでは
iam:PassRole
を提供します。EventBridge Pipes は、呼び出しロールを EventBridge 渡してパイプを作成するために、このアクセス許可が必要です。AmazonEventBridgePipesReadOnlyAccess
Amazon EventBridge Pipes に読み取り専用アクセスを提供します。
AmazonEventBridgePipesOperatorAccess
Amazon EventBridge Pipes への読み取り専用アクセス権とオペレーターアクセス権 (つまり、Pipes の実行を停止および開始する機能) を提供します。
イベントを送信する IAM ロール
イベントをターゲットに中継するには、EventBridge に IAM ロールが必要です。
EventBridge にイベントを送信するために IAM ロールを作成するには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
IAM ロールを作成するには、「IAM ユーザーガイド」の「AWS サービスにアクセス許可を委任するロールの作成」の手順に従います。その手順で、次のように実行します。
-
[Role Name] (ロール名) で、アカウント内で一意の名前を使用します。
-
[Select Role Type] (ロールタイプの選択) で [AWS Service Roles] (AWS サービスロール) を選択し、[Amazon EventBridge] を選択します。これで、ロールを引き受けるための Eventbridge アクセス許可が付与されます。
-
[Attach Policy] (ポリシーのアタッチ) で、[AmazonEventBridgeFullAccess] を選択します。
-
独自のカスタム IAM ポリシーを作成して、Eventbridge アクションとリソースのための権限を許可することもできます。これらのカスタムポリシーは、それらのアクセス許可が必要な IAM ユーザーまたはグループにアタッチできます。IAM ポリシーの詳細については、「IAM ユーザーガイド」の「IAM ポリシーの概要」を参照してください。カスタム IAM ポリシーの管理と作成の詳細については、『IAM ユーザーガイド』の「IAM ポリシーの管理」を参照してください。
IAM ロールを使用してターゲットにアクセスするために EventBridge に必要なアクセス許可
EventBridge ターゲットには通常、ターゲットを呼び出すためのアクセス許可を EventBridge に付与する IAM ロールが必要です。さまざまな AWS サービスとターゲットのいくつかの例を次に示します。それ以外の場合は、EventBridge コンソールを使用してルールを作成し、新しいロールを作成します。この新しいロールは、対象範囲の広いアクセス許可があらかじめ設定されたポリシーで作成されます。
Amazon SQS、Amazon SNS、Lambda、CloudWatch Logs、および EventBridge バスターゲットはロールを使用しないため、EventBridge へのアクセス許可はリソースポリシーを介して付与する必要があります。API Gateway ターゲットは、リソースポリシーまたは IAM ロールのいずれかを使用できます。
ターゲットが API 送信先の場合、指定するロールには次のポリシーを含める必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "events:InvokeApiDestination" ], "Resource": [ "arn:aws:events:::api-destination/*" ] } ] }
ターゲットが Kinesis ストリームの場合、そのターゲットにイベントデータを送信するために使用されるロールは、次のポリシーを含める必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecord" ], "Resource": "*" } ] }
ターゲットが Systems Manager Run Command で、コマンドに 1 つ以上の InstanceIds
値を指定する場合は、指定するロールに次のポリシーを含める必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Action": "ssm:SendCommand", "Effect": "Allow", "Resource": [ "arn:aws:ec2:
region
:accountId
:instance/instanceIds
", "arn:aws:ssm:region
:*:document/documentName
" ] } ] }
ターゲットが Systems Manager Run Command で、コマンドに 1 つ以上のタグを指定する場合は、指定するロールに次のポリシーを含める必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Action": "ssm:SendCommand", "Effect": "Allow", "Resource": [ "arn:aws:ec2:
region
:accountId
:instance/*" ], "Condition": { "StringEquals": { "ec2:ResourceTag/*": [ "[[tagValues]]" ] } } }, { "Action": "ssm:SendCommand", "Effect": "Allow", "Resource": [ "arn:aws:ssm:region
:*:document/documentName
" ] } ] }
ターゲットが AWS Step Functions ステートマシンの場合、指定するロールには次のポリシーを含む必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:*:*:stateMachine:*" ] } ] }
ターゲットが Amazon ECS タスクの場合は、指定するロールに次のポリシーを含める必要があります。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ecs:RunTask" ], "Resource": [ "arn:aws:ecs:*:
account-id
:task-definition/task-definition-name
" ], "Condition": { "ArnLike": { "ecs:cluster": "arn:aws:ecs:*:account-id
:cluster/cluster-name
" } } }, { "Effect": "Allow", "Action":"iam:PassRole", "Resource": [ "*" ], "Condition": { "StringLike": { "iam:PassedToService": "ecs-tasks.amazonaws.com" } } }] }
次のポリシーでは、Eventbridge の組み込みターゲットに対して、お客様に代わって Amazon EC2 アクションを実行することを許可します。組み込みのターゲットにルールを作成するには、AWS Management Console を使用する必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TargetInvocationAccess", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:RebootInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:CreateSnapshot" ], "Resource": "*" } ] }
次のポリシーでは、Eventbridge に対して、お客様のアカウントの Kinesis ストリームにイベントを中継することを許可します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KinesisAccess", "Effect": "Allow", "Action": [ "kinesis:PutRecord" ], "Resource": "*" } ] }
カスタマー管理ポリシーの例 : タグ付けを使用してルールへのアクセスを制御する
次の例は EventBridge アクションのアクセス許可を付与するユーザーポリシーを示しています。このポリシーは、Eventbridge API、AWS SDK、または AWS CLI を使用しているときに機能します。
ユーザーによる特定の Eventbridge ルールへのアクセスを許可し、それ以外のルールへのアクセスを禁止することができます。そのためには、両方のルールにタグ付けし、そのタグを参照する IAM ポリシーを使用します。Eventbridge リソースのタグ付けの詳細については、Amazon EventBridge でのリソースのタグ付け を参照してください。
特定のタグでそのルールにのみアクセスを許可する IAM ポリシーをユーザーに付与することができます。アクセスを許可するルールは、その特定のタグでタグ付けすることで選択します。例えば次のポリシーでは、タグキー Stack
の値が Prod
のルールにユーザーアクセス権が付与されます。
{ "Statement": [ { "Effect": "Allow", "Action": "events:*", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Stack": "Prod" } } } ] }
IAM ポリシーステートメントの詳細については、『IAM ユーザーガイド』の「ポリシーを使用したアクセス制御」を参照してください。
Amazon EventBridge の AWS マネージドポリシーへの更新
このサービスがこれらの変更の追跡を開始してからの、EventBridge の AWS マネージドポリシーへの更新に関する詳細を確認してください。このページの変更に関する自動アラートについては、 [Document history] (ドキュメントの履歴) ページの RSS フィードをサブスクライブしてください。
変更 | 説明 | 日付 |
---|---|---|
AmazonEventBridgeFullAccess – ポリシーの更新 |
AWS GovCloud (US) Regions のみ 次のアクセス許可は使用されないため、含まれません。
|
2024 年 5 月 9 日 |
AmazonEventBridgeSchemasFullAccess – ポリシーの更新 |
AWS GovCloud (US) Regions のみ 次のアクセス許可は使用されないため、含まれません。
|
2024 年 5 月 9 日 |
AmazonEventBridgePipesFullAccess — 新しいポリシーの追加 |
EventBridge は、EventBridge Pipes を使用するためのフルアクセス許可のマネージドポリシーを追加しました。 |
2022 年 12 月 1 日 |
AmazonEventBridgePipesReadOnlyAccess — 新しいポリシーの追加 |
EventBridge は、EventBridge Pipes の情報リソースを閲覧するアクセス許可に関するマネージドポリシーを追加しました。 |
2022 年 12 月 1 日 |
AmazonEventBridgePipesOperatorAccess — 新しいポリシーの追加 |
EventBridge は、EventBridge Pipes の情報を表示したり、実行中のパイプを起動または停止したりするアクセス許可に関するマネージドポリシーを追加しました。 |
2022 年 12 月 1 日 |
AmazonEventBridgeFullAccess — 既存のポリシーへの更新 |
EventBridge は、EventBridge Pipes の機能を使用するのに必要なアクセス許可を含むようにポリシーを更新しました。 |
2022 年 12 月 1 日 |
AmazonEventBridgeReadOnlyAccess — 既存のポリシーへの更新 |
EventBridge は、EventBridge Pipes の情報リソースを閲覧するのに必要なアクセス許可を追加しました。 以下のアクションが追加されました。
|
2022 年 12 月 1 日 |
CloudWatchEventsReadOnlyAccess — 既存のポリシーの更新 |
AmazonEventBridgeReadOnlyAccess に一致するように更新されました。 |
2022 年 12 月 1 日 |
CloudWatchEventsFullAccess — 既存のポリシーの更新 |
AmazonEventBridgeFullAccess に一致するように更新されました。 |
2022 年 12 月 1 日 |
AmazonEventBridgeFullAccess — 既存のポリシーへの更新 |
EventBridge は、スキーマとスケジューラの機能を使用するのに必要なアクセス許可を含むようにポリシーを更新しました。 次のアクセス許可が追加されました。
|
2022 年 11 月 10 日 |
AmazonEventBridgeReadOnlyAccess — 既存のポリシーへの更新 |
EventBridge は、スキーマとスケジューラの情報リソースを閲覧するのに必要なアクセス許可を追加しました。 以下のアクションが追加されました。
|
2022 年 11 月 10 日 |
AmazonEventBridgeReadOnlyAccess — 既存のポリシーへの更新 |
EventBridge では、エンドポイント情報の表示に必要な許可が追加されました。 以下のアクションが追加されました。
|
2022 年 4 月 7 日 |
AmazonEventBridgeReadOnlyAccess — 既存のポリシーへの更新 |
EventBridge では、接続および API 宛先情報の表示に必要な許可が追加されました。 以下のアクションが追加されました。
|
2021 年 3 月 4 日 |
AmazonEventBridgeFullAccess — 既存のポリシーへの更新 |
EventBridge では、API 送信先の使用に必要な 以下のアクションが追加されました。
|
2021 年 3 月 4 日 |
EventBridge が変更の追跡を開始 |
EventBridge が AWS マネージドポリシーの変更の追跡を開始しました。 |
2021 年 3 月 4 日 |