TEAM(Temporary Elevated Access Management)ソリューションの通知先についてまとめてみた

TEAM(Temporary Elevated Access Management)ソリューションの通知先についてまとめてみた

Clock Icon2024.07.16

はじめに

こんにちは。AWS事業本部コンサルティング部に所属している和田響です。

この記事では、AWS IAM Identity Center において一時的なアクセス許可を与える仕組みを提供する Temporary Elevated Access Management (TEAM) ソリューションについて、設定可能な通知先についてまとめてみました。

「TEAMとは何か?」については以下のブログを一読いただければと思います。
https://dev.classmethod.jp/articles/deploy-temporary-elevated-access-management/

通知先

TEAMの通知先として設定できるのは以下の3つで、複数選択も可能です。

  • Amazon SES経由のメール通知
  • SlackのDMへの通知
  • Amazon SNS経由のカスタム通知

通知先については以下の公式ドキュメントに詳細が記載されています。
https://aws-samples.github.io/iam-identity-center-team/docs/deployment/configuration/notifications.html

ちなみに、v1.1.0のリリース以前はメール通知のみサポートされていたようです。
https://github.com/aws-samples/iam-identity-center-team/releases/tag/v1.1.0

Amazon SES経由のメール通知

SES経由のメール通知の場合は以下の設定が必要です。

  • SES側の設定
    • メールアドレス検証
    • サンドボックス解除(必要に応じて)
    • 他アカウントの送信承認設定(必要に応じて)
  • TEAM側の設定
    • SESで検証済みの送信元の電子メールアドレスの設定

メールアドレス検証

TEAMからSES経由でメール通知を行う場合は、事前に送信元メールアドレスがSESでの検証済みである必要があります。メールアドレス検証を行ったアカウントがTEAMをデプロイしたアカウントと異なる場合は、後述の「他アカウントの送信承認設定」を行う必要があります。

メールアドレス検証については以下の記事を参考にしてみてください。
https://dev.classmethod.jp/articles/amazon-ses-production-access-request/

サンドボックス解除

SESでは、メール送受信の不正利用や悪用などを防ぐため、新規に作成されたアカウントに一定の制限が設けられています。(サンドボックス)

主な制限内容は以下です。

  • 送信先は、検証済みEメールアドレスおよびドメイン、またはAmazon SESメールボックスシミュレーター
  • 最大で24時間あたり200メッセージの送信
  • 最大で1秒あたり1メッセージの送信

TEAMの検証で検証済みEメールアドレスしか送受信を行わない場合を除いて、サンドボックス解除を行う必要があります。

サンドボックス解除については以下の記事を参考にしてみてください。
https://dev.classmethod.jp/articles/ses-guided-onboarding/

他アカウントの送信承認設定

TEAMをデプロイしたアカウント以外のアカウントから通知用のメールを送信したい場合は、他アカウントの送信承認設定を行う必要があります。

他アカウントの送信承認設定については以下の記事を参考にしてみてください。
https://dev.classmethod.jp/articles/amazon-simple-email-service-sending-auth/

SESで検証済みの送信元の電子メールアドレスの設定

SES側の設定が終われば、あとはTEAM側で送信元の電子メールアドレスを指定するだけです。

TEAMの管理者ユーザーでログインして、サイドタブから「Setting」をクリックします。
スクリーンショット 2024-07-16 10.23.29

「Notification settings」の「Send email notifications」を有効にし、「Source email」に送信元のメールアドレスを記載します。
TEAMをデプロイしたアカウント以外のアカウントから通知用のメールを送信したい場合は「Source ARN (Optional, for cross-account SES identities)」送信承認設定を実施済みのARNを入力します。
スクリーンショット 2024-07-16 10.26.37

設定後、権限申請を行うと承認者のメールアドレスに以下の通知が来ていました。
かなりシンプルでみやすいですね!
スクリーンショット 2024-07-16 10.32.28

SlackのDMへの通知

TEAMの通知をSlackのDMに通知する場合は、SlackにTEAM通知用のアプリケーションをダウンロードし、トークンをTEAM側に設定するだけで実装できます。

具体的な手順は以下を参考にしてみてください。
https://dev.classmethod.jp/articles/team-slack-notification/

Amazon SNS経由のカスタム通知

Amazon SNSに通知を送る場合は、TEAM側の数クリックの設定で実装できます。

TEAMの管理者ユーザーでログインして、サイドタブから「Setting」をクリックします。
スクリーンショット 2024-07-16 10.23.29

「SNS notifications」を有効にして、「Submit」をクリックします。
スクリーンショット 2024-07-16 10.46.37

これを設定すると、TeamNotifications-mainというSNSトピックが作成され、ここに通知が送信されます。
スクリーンショット 2024-07-16 10.45.27

このトピックにサブスクリプション(メールアドレス)を設定し、権限申請を行うと以下の通知が来ていました。(モザイクの中はJSON形式で20行ほどの文字列です。)
スクリーンショット 2024-07-16 10.54.48

そもそもメールアドレスへの通知であれば、前述のSESの設定で良いわけなので、SNSを使うユースケースとしては、通知の文章を見やすく変えたり、チャットアプリに通知を送信したい場合などになりそうです。

最後に

今回は、TEAMという便利な権限管理ソリューションでの通知先についてまとめてみました。

個人的にはSNSへの通知が行えることで、通知先や通知方法のバリエーションが増えたことが嬉しい点です。

この記事がどなたかのお役に立てれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.