🐰

EventBridge Ruleを使ったAWSコンソールへのログイン検知 with SAML

2024/02/05に公開

概要

  • AWSコンソールへのログインはGoogleWorkSpaceをIdPとしたSAMLログインとしている環境で、特定のRoleでログインがあった際にSlack通知を行いたい
  • 通知までの流れは、EventBridge→SNS→AWSChatBotを想定している
  • 今回はEventBridgeのみ記載

イベントパターン

{
  "detail": {
    "eventName": ["AssumeRoleWithSAML"],
    "requestParameters": {
      "roleArn": ["arn:aws:iam::12345678912:role/AdministratorRole"]
    }
  },
  "source": ["aws.sts"]
}

解説

  • SAMLを用いたログインはバージニア(us-east-1)のCloudTrailに出力される
    • EventBridgeもバージニアに設定する必要がある
  • マネジメントコンソールへのログイン以外に、AWS CLIでのログインも検知したいので、"source":["aws.signin"] ではなく["aws.sts"]とした

備考

  • AWS Chatbot経由の場合、通知内容が微妙なのでメールやLambdaで整形などを検討してもいいかも

参考

https://dev.classmethod.jp/articles/notify-aws-switchrole/
https://tech.revcomm.co.jp/2022/04/22/notify-aws-console-login/
https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html
https://blog.serverworks.co.jp/how-to-set-up-eventbridge-for-switchrole-notifications

Discussion