set setting reset

脂肪と糖にはたらくやつ

SES で利用するアクセスキー

smtp ユーザ用キーを使用して api 経由のメール送信ができないことを知らず大ハマリしました。

SES を利用してメール送信する方法は2種類あります。

  1. smtp 認証経由でメール送信
  2. AWS SDK を使って api 経由でメール送信

SES のコンソールで生成した smtp 用 IAM ユーザのアクセスキー、シークレットアクセスキーは、
smtp 経由でのメール送信専用で、api 経由でのメール送信には使用できません。

smtp 認証に使うシークレットアクセスキー(smtpパスワード)は、
シークレットアクセスキーにHMAC-SHAによる署名が施されている必要がありますが、
SES のコンソールで生成したアクセスキー、シークレットアクセスキーはその部分がAmazonによって自動化されています。

api 経由でメール送信したい場合、このキーは使用できません。
api 経由でのメール送信には IAM コンソールで新規で払い出した通常のユーザのアクセスキー、シークレットアクセスキーを使う必要があります。

smtp経由で使うキー api経由で使うキー
SESコンソールで生成 IAMコンソールで生成
smtp 認証専用 普通のIAMユーザ
HMAC-SHA による署名が施されている HMAC-SHAによる署名が施されていない

ドキュメントちゃんと嫁ってお話ですね。。。

docs.aws.amazon.com

docs.aws.amazon.com