Amazon EventBridge のターゲットにイベントを送信するための IAM ロール - Amazon EventBridge

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EventBridge のターゲットにイベントを送信するための IAM ロール

イベントをターゲットに中継するには、EventBridge に IAM ロールが必要です。

EventBridge にイベントを送信するために IAM ロールを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. 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 送信先

ターゲットが API 送信先である場合、指定するロールには、次のステートメントを含むポリシーを含める必要があります。

  • 効果: Allow

  • アクション:events:InvokeApiDestination

  • リソース: arn:aws:events:*:*:api-destination/*

Kinesis Streams

ターゲットが Kinesis ストリームの場合、そのターゲットにイベントデータを送信するために使用されるロールには、次のステートメントを含むポリシーが含まれている必要があります。

  • 効果: Allow

  • アクション:kinesis:PutRecord

  • リソース: *

Systems Manager 実行コマンド

ターゲットが Systems Manager 実行コマンドで、コマンドに 1 つ以上のInstanceIds値を指定する場合、指定するロールには、次のステートメントを含むポリシーを含める必要があります。

  • 効果: Allow

  • アクション:ssm:SendCommand

  • リソース: arn:aws:ec2:us-east-1:accountId:instance/instanceIds, arn:aws:ssm:us-east-1:*:document/documentName

ターゲットが Systems Manager 実行コマンドで、コマンドに 1 つ以上のタグを指定する場合、指定するロールには、次の 2 つのアクションを含むポリシーを含める必要があります。

  • 効果: Allow

  • アクション:ssm:SendCommand

  • リソース: arn:aws:ec2::accountId:instance/*

  • 条件:

    "StringEquals": { "ec2:ResourceTag/*": [ "[[tagValues]]" ] }

および:

  • 効果: Allow

  • アクション:ssm:SendCommand

  • リソース: arn:aws:ssm:us-east-1:*:document/documentName

Step Functions ステートマシン

ターゲットが AWS Step Functions ステートマシンの場合、指定するロールには、次のポリシーが含まれている必要があります。

  • 効果: Allow

  • アクション:states:StartExecution

  • リソース: arn:aws:states:*:*:stateMachine:*

Amazon ECS タスク

ターゲットが Amazon ECS タスクの場合は、指定するロールに次のポリシーを含める必要があります。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask" ], "Resource": [ "arn:aws:ecs:*:111122223333:task-definition/task-definition-name" ], "Condition": { "ArnLike": { "ecs:cluster": "arn:aws:ecs:*:111122223333:cluster/cluster-name" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "*" ], "Condition": { "StringLike": { "iam:PassedToService": "ecs-tasks.amazonaws.com" } } } ] }

次のポリシーでは、Eventbridge の組み込みターゲットに対して、お客様に代わって Amazon EC2 アクションを実行することを許可します。組み込みターゲットでルールを作成するには AWS Management Console 、 を使用する必要があります。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TargetInvocationAccess", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:RebootInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:CreateSnapshot" ], "Resource": "*" } ] }

次のポリシーでは、Eventbridge に対して、お客様のアカウントの Kinesis ストリームにイベントを中継することを許可します。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KinesisAccess", "Effect": "Allow", "Action": [ "kinesis:PutRecord" ], "Resource": "*" } ] }

カスタマー管理ポリシーの例 : タグ付けを使用してルールへのアクセスを制御する

次の例は EventBridge アクションのアクセス許可を付与するユーザーポリシーを示しています。このポリシーは、EventBridge API、 AWS SDKs、または を使用する場合に機能します AWS CLI。

ユーザーによる特定の Eventbridge ルールへのアクセスを許可し、それ以外のルールへのアクセスを禁止することができます。そのためには、両方のルールにタグ付けし、そのタグを参照する IAM ポリシーを使用します。Eventbridge リソースのタグ付けの詳細については、Amazon EventBridge でのリソースのタグ付け を参照してください。

特定のタグでそのルールにのみアクセスを許可する IAM ポリシーをユーザーに付与することができます。アクセスを許可するルールは、その特定のタグでタグ付けすることで選択します。例えば次のポリシーでは、タグキー Stack の値が Prod のルールにユーザーアクセス権が付与されます。

{ "Statement": [ { "Effect": "Allow", "Action": "events:*", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Stack": "Prod" } } } ] }

IAM ポリシーステートメントの詳細については、『IAM ユーザーガイド』の「ポリシーを使用したアクセス制御」を参照してください。