🌉

EventBridge のルールにワイルドカードがサポートされました!

2023/10/29に公開

概要

EventBridge がより便利になるアップデートが行われました!
ルールの中でワイルドカード * が使用できるようになり、より柔軟な条件を簡単に表現することが可能になりました。

公式ページ

https://aws.amazon.com/jp/about-aws/whats-new/2023/10/amazon-eventbridge-wildcard-filters-rules/
https://aws.amazon.com/jp/blogs/news/aws-weekly-20231002/

検証内容

IAM で何かしらのリソースが作成されたら、監査人へ通知する仕組みを作成します。
CloudTrail より iam:create* に該当する API コールを EventBridge で拾い、SNS 経由でメール通知します。

architecture

構築

SNS

まずは SNS トピックを作成します。タイプはスタンダードを選びます。その他の設定はデフォルトで問題ありません。
次にサブスクリプションの作成をします。プロトコルにEMAILを選び、メールアドレスを設定します。
確認メールが届くので、リンクをクリックします。ステータスが確認済みになればOKです。

SNS

EventBridge

次に EventBridge ルールを作成します。イベントバスは default でOKです。

EventBridge

イベントソースは AWS イベントまたは EventBridge パートナーイベントを選択します。

EventBridge

イベントパターンは以下のように設定します。
ここが今回の肝で "eventName": [{"wildcard": "Create*"}] と指定しています。

{
  "source": ["aws.iam"],
  "detail-type": ["AWS API Call via CloudTrail"],
  "detail": {
    "eventSource": ["iam.amazonaws.com"],
    "eventName": [{
      "wildcard": "Create*"
    }]
  }
}

EventBridge

ターゲットは作成済みの SNS トピックを選択します。

EventBridge

以上で構築は完了です!

動作確認

適当な IAM ロールを作成します。信頼されたエンティティに EC2 を選択し、ポリシーのアタッチはしません。

Test

CloudTrail のイベント履歴を確認すると CreateRoleCreateInstanceProfile が呼び出されていることが分かります。
EC2 を信頼関係に選んだため、IntanceProfile も自動的に作成されます。

Test

メールを確認すると Create から始まる API の呼び出しについて 2 件の通知が届いています。成功です!

Test

まとめ

EventBridge のルールでワイルドカードが使えるようになり、より簡単にイベント駆動型システムを組めるようになりそうです。
一方 IAM ポリシーの感覚で * をつけるだけでは期待した動作とならないので注意が必要です。

GitHubで編集を提案

Discussion