Amazon SES に SMTP認証設定で自動作成された IAMユーザーのアクセスキーを無効化した際の影響範囲を確認してみた

SMTPユーザー用のアクセスキーを無効化すると、そのユーザーでのSMTP認証ができなくなるのでご注意ください。
2022.02.04

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon SES にマネジメントコンソールから SMTP認証設定を追加するとSMTP認証のユーザー・パスワード発行されます。その実態はIAMユーザーとしてSMTP認証用のユーザーが作成されます。そして、そのIAMユーザーにはアクセスキーが発行されており、何に使われているのか確認しました。

Amazon SES に SMTP認証の追加設定は以下のリンクで紹介しております

確認結果

  • SMTP認証設定追加した時点でIAMユーザーが作成されると同時にアクセスキーも発行される
    • 自動発行されたアクセスキーを直接ユーザーが利用する機会はない
  • アクセスキーとシークレットアクセスキーのペアの代りに SMTP認証ユーザーとパスワードが発行される
    • アクセスキーと、SMTP認証ユーザーは同じ値である
    • SMTPパスワードはシークレットアクセスキーを元に生成された値である
  • SMTPユーザーのアクセスキーを削除・無効化すると、SMTP認証は失敗してメール送信ができない

確認してみた

SMTP認証設定のドキュメントを確認していると、既存のAWSクレデンシャルを変換してSMTPクレデンシャルにする方法が説明されています。

そして、シークレットアクセスキーをSMTPパスワードに変換するPythonスクリプトが掲載されています。

SMTPパスワードはシークレットアクセスキーから生成されていることはわかりました。

マネジメントコンソールからSMTP認証設定を追加すると、以下の一連の作業をよしなにやってくれていることになります。

  1. SMTP用のIAMユーザーを作成
  2. アクセスキーを発行
  3. シークレットアクセスキーからSMTPパスワードへ変換
  4. SMTP認証情報をCSVでダウンロードできる状態にして提供

自動的に発行され見に覚えのないアクセスキーを無効化するとどういった影響がでるのか確認します。

アクセスキーの無効化

SMTP認証設定追加で作成されたIAMユーザーはこちらです。

自動発行されたアクセスキーを無効化してみます。

確認画面へて無効化します。

無効化されました。

メール送信テスト

メールクライアントは Thunderbird を使い、SMTPサーバーの設定で SES の情報を入力して動作確認を行います。

アクセスキー無効化したとき

送信してみます。

SMTP認証に失敗しました。大本のアクセスキーが無効化されると認証できませんでした。SMTP認証情報をおさらいすると以下です。

  • SMTPユーザーはアクセスキーと同じ値
  • SMTPパスワードはシークレットアクセスキーから生成された値

アクセスキーを有効化に戻したとき

有効化しました。

送信します。エラーなく完了しました。

受信できました。

まとめ

  • マネジメントコンソールからSMTP認証設定を追加すると、IAMユーザーの作成とアクセスキーの発行が行われている
  • SMTPユーザーのアクセスキーを削除・無効化すると、SMTP認証は失敗してメール送信ができない

おわりに

SMTP認証で該当ユーザーからのメール送信を停止したいときはアクセスキーの無効化で良いかもしれませんね。IAMユーザーまたはアクセスキーを削除すると、SMTP認証のユーザー、パスワードを新規に作り直すしかないため、SMTP認証設定している機器は再設定が必要になりますのでご注意ください。