Amazon SES に SMTP認証設定で自動作成された IAMユーザーのアクセスキーを無効化した際の影響範囲を確認してみた
Amazon SES にマネジメントコンソールから SMTP認証設定を追加するとSMTP認証のユーザー・パスワード発行されます。その実態はIAMユーザーとしてSMTP認証用のユーザーが作成されます。そして、そのIAMユーザーにはアクセスキーが発行されており、何に使われているのか確認しました。
Amazon SES に SMTP認証の追加設定は以下のリンクで紹介しております
確認結果
- SMTP認証設定追加した時点でIAMユーザーが作成されると同時にアクセスキーも発行される
- 自動発行されたアクセスキーを直接ユーザーが利用する機会はない
- アクセスキーとシークレットアクセスキーのペアの代りに SMTP認証ユーザーとパスワードが発行される
- アクセスキーと、SMTP認証ユーザーは同じ値である
- SMTPパスワードはシークレットアクセスキーを元に生成された値である
- SMTPユーザーのアクセスキーを削除・無効化すると、SMTP認証は失敗してメール送信ができない
確認してみた
SMTP認証設定のドキュメントを確認していると、既存のAWSクレデンシャルを変換してSMTPクレデンシャルにする方法が説明されています。
そして、シークレットアクセスキーをSMTPパスワードに変換するPythonスクリプトが掲載されています。
SMTPパスワードはシークレットアクセスキーから生成されていることはわかりました。
マネジメントコンソールからSMTP認証設定を追加すると、以下の一連の作業をよしなにやってくれていることになります。
- SMTP用のIAMユーザーを作成
- アクセスキーを発行
- シークレットアクセスキーからSMTPパスワードへ変換
- SMTP認証情報をCSVでダウンロードできる状態にして提供
自動的に発行され見に覚えのないアクセスキーを無効化するとどういった影響がでるのか確認します。
アクセスキーの無効化
SMTP認証設定追加で作成されたIAMユーザーはこちらです。
自動発行されたアクセスキーを無効化してみます。
確認画面へて無効化します。
無効化されました。
メール送信テスト
メールクライアントは Thunderbird を使い、SMTPサーバーの設定で SES の情報を入力して動作確認を行います。
アクセスキー無効化したとき
送信してみます。
SMTP認証に失敗しました。大本のアクセスキーが無効化されると認証できませんでした。SMTP認証情報をおさらいすると以下です。
- SMTPユーザーはアクセスキーと同じ値
- SMTPパスワードはシークレットアクセスキーから生成された値
アクセスキーを有効化に戻したとき
有効化しました。
送信します。エラーなく完了しました。
受信できました。
まとめ
- マネジメントコンソールからSMTP認証設定を追加すると、IAMユーザーの作成とアクセスキーの発行が行われている
- SMTPユーザーのアクセスキーを削除・無効化すると、SMTP認証は失敗してメール送信ができない
おわりに
SMTP認証で該当ユーザーからのメール送信を停止したいときはアクセスキーの無効化で良いかもしれませんね。IAMユーザーまたはアクセスキーを削除すると、SMTP認証のユーザー、パスワードを新規に作り直すしかないため、SMTP認証設定している機器は再設定が必要になりますのでご注意ください。