翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SESSMTP認証情報の取得
SES SMTP インターフェイスにアクセスするには Amazon SESSMTP認証情報が必要です。
SES SMTP インターフェイスを介して E メールを送信するために使用する認証情報は、各 AWS リージョンに固有です。SES SMTP インターフェイスを使用して複数のリージョンで E メールを送信する場合は、使用するリージョンごとに一連のSMTP認証情報を生成する必要があります。
SMTP パスワードはシー AWS クレットアクセスキーとは異なります。認証情報の詳細については、「Amazon SES 認証情報の種類」を参照してください。
注記
SMTP エンドポイントは現在、アフリカ (ケープタウン)、アジアパシフィック (ジャカルタ)、欧州 (ミラノ)、イスラエル (テルアビブ)、中東 (バーレーン) では利用できません。
SES コンソールを使用したSESSMTP認証情報の取得
要件
IAM ユーザーはSESSMTP認証情報を作成できますが、SESSMTP認証情報は を使用して作成されるため、ユーザーのポリシーはそれIAM自体を使用するアクセス許可を付与する必要がありますIAM。IAM ポリシーでは、iam:ListUsers
、、iam:CreateUser
、iam:CreateAccessKey
および のIAMアクションを実行できるようにする必要がありますiam:PutUserPolicy
。コンソールを使用してSESSMTP認証情報を作成しようとしたときに、IAMユーザーにこれらのアクセス許可がない場合、アカウントが「iam: を実行する権限がない」というエラーが表示されますListUsers。
SMTP 認証情報を作成するには
-
にサインイン AWS Management Console し、 で Amazon SESコンソールを開きますhttps://console.aws.amazon.com/ses/
。 -
左側のナビゲーションペインでSMTP設定を選択します。これにより、簡易メール転送プロトコル (SMTP) 設定ページが開きます。
-
右上隅でSMTP認証情報の作成 を選択します。IAMコンソールが開きます。
-
(オプション) 既に作成したSMTPユーザーを表示、編集、または削除する必要がある場合は、右下隅にある既存のSMTP認証情報の管理を選択します。IAMコンソールが開きます。SMTP 認証情報の管理に関する詳細は、以下の手順に従って提供されます。
-
のユーザーを作成するSMTPには、ユーザー名フィールドにSMTPユーザーの名前を入力します。または、このフィールドに提供されているデフォルト値を使用できます。完了したら、右下隅の [ユーザーを作成] を選択します。
-
SMTP パスワードで表示 を選択します。SMTP認証情報が画面に表示されます。
-
[.csv ファイルをダウンロード] を選択してこれらの認証情報をダウンロードし、安全な場所に保管します。このダイアログボックスを閉じると、認証情報の表示や保存はできなくなります。
-
SES コンソールに戻る を選択します。
この手順を使用して作成したSMTP認証情報のリストは、アクセス管理のIAMコンソールでユーザーを選択し、検索バーを使用してSMTP認証情報を割り当てたすべてのユーザーを検索できます。
IAM コンソールを使用して既存のSMTPユーザーを削除することもできます。ユーザーの削除の詳細については、「入門ガイド」のIAM「ユーザーの管理」を参照してください。 IAM
SMTP パスワードを変更する場合は、IAMコンソールで既存のSMTPユーザーを削除します。次に、新しいSMTP認証情報セットを生成するには、前の手順を完了します。
既存のSESSMTP認証情報を変換して AWS 認証情報を取得する
IAM インターフェイスを使用して設定したユーザーがいる場合は、ユーザーのSESSMTP認証情報をその AWS ユーザーの認証情報から取得できます。
重要
一時的な AWS 認証情報を使用してSMTP認証情報を取得しないでください。SES SMTP インターフェイスは、一時的なセキュリティSMTP認証情報から生成された認証情報をサポートしていません。
IAM ユーザーが SESSMTPインターフェイスを使用して E メールを送信できるようにするには
-
これらの手順に従って、このセクションで提供されているアルゴリズムを使用して、ユーザーの AWS 認証情報を認証情報SMTPから取得します。
AWS 認証情報から開始するため、SMTPユーザー名は AWS アクセスキー ID と同じであるため、SMTPパスワードを生成するだけで済みます。
にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/
。 -
アクセス管理 で、ポリシー を選択し、ポリシー を作成します。
-
ポリシーエディタ で、エディタでサンプルコードを選択してJSON削除します。
-
次のアクセス許可ポリシーをエディタに貼り付けます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
-
次へ を選択し、ポリシー名
AmazonSesSendingAccess
フィールドに と入力し、ポリシー を作成します。 -
アクセス管理 で、ユーザーグループ を選択し、次にグループ を作成します。
-
ユーザーグループ名フィールドに
AWSSESSendingGroupDoNotRename
を入力します。 -
SMTP ユーザーをグループテーブルに追加から選択して、グループにユーザーを追加します。
-
以前に作成した
AmazonSesSendingAccess
ポリシーをアタッチするには、アクセス許可ポリシーのアタッチテーブルから選択し、次にユーザーグループを作成します。
SES で を使用する方法の詳細についてはIAM、「」を参照してくださいAmazon SESでの Identity and Access Management。
注記
任意のIAMユーザーのSESSMTP認証情報を生成できますが、SMTP認証情報を生成するときに別のIAMユーザーを作成することをお勧めします。特定の目的でユーザーを作成するのが適切な理由については、IAM「ベストプラクティス」を参照してください。
次の擬似コードは、 AWS シークレットアクセスキーをSESSMTPパスワードに変換するアルゴリズムを示しています。
// Modify this variable to include your AWS secret access key key = "
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
"; // Modify this variable to refer to the AWS Region that you want to use to send email. region = "us-west-2
"; // The values of the following variables should always stay the same. date = "11111111"; service = "ses"; terminal = "aws4_request"; message = "SendRawEmail"; version = 0x04; kDate = HmacSha256(date, "AWS4" + key); kRegion = HmacSha256(region, kDate); kService = HmacSha256(service, kRegion); kTerminal = HmacSha256(terminal, kService); kMessage = HmacSha256(message, kTerminal); signatureAndVersion = Concatenate(version, kMessage); smtpPassword = Base64(signatureAndVersion);
一部のプログラミング言語には、IAMシークレットアクセスキーをSMTPパスワードに変換するために使用できるライブラリが含まれています。このセクションでは、Python を使用して AWS シークレットアクセスキーをSESSMTPパスワードに変換するために使用できるコード例を示します。
注記
次の例では、Python 3.6 で導入されたf 文字列を使用しています。 古いバージョンでは使用できません。
現在、Python SDK (Boto3) は 2.7 および 3.6 (以降) を正式にサポートしています。ただし、2.7 のサポートは廃止され、2021 年 7 月 15 日に削除されるため、少なくとも 3.6 にアップグレードする必要があります。
既存のインラインポリシーからグループポリシーへのSMTPユーザーの移行 (セキュリティに関する推奨事項)
重要
2024 年 9 月 6 日より前にSESSMTP認証情報を作成した場合、インラインポリシーとタグがSMTPユーザーにアタッチされています。SES はインラインポリシーから遠ざかり、セキュリティの推奨事項と同じことをすることをお勧めします。
既存のインラインポリシーからグループポリシーにSMTPユーザーを移行する前に、インラインポリシーの代わりにアクセスSES許可ポリシーを持つIAMユーザーグループを作成する必要があります。このIAMユーザーグループを既に作成している場合、または 2024 年 9 月 6 日以降に作成したSMTP認証情報用に自動的に作成された場合は、以下の手順のステップ 10 に直接スキップできます。
既存のインラインポリシーからマネージドグループに移行するには
にサインイン AWS Management Console し、 でIAMコンソールを開きますhttps://console.aws.amazon.com/iam/
。 -
アクセス管理 で、ポリシー を選択し、ポリシー を作成します。
-
ポリシーエディタ で、エディタでサンプルコードを選択してJSON削除します。
-
次のアクセス許可ポリシーをエディタに貼り付けます。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ses:SendRawEmail", "Resource": "*" } ] }
-
次へ を選択し、ポリシー名
AmazonSesSendingAccess
フィールドに と入力し、ポリシー を作成します。 -
アクセス管理 で、ユーザーグループ を選択し、次にグループ を作成します。
-
ユーザーグループ名フィールドに
AWSSESSendingGroupDoNotRename
を入力します。 -
SMTP ユーザーをグループテーブルに追加から選択して、グループにユーザーを追加します。
-
以前に作成した
AmazonSesSendingAccess
ポリシーをアタッチするには、アクセス許可ポリシーのアタッチ テーブルから選択し、次にユーザーグループの作成 を選択します。アクセスSES許可ポリシーを使用してIAMユーザーグループを作成したら、残りのステップで説明したように、現在のインラインポリシーからこのグループポリシーにSMTPユーザーを移行できます。
-
アクセス管理 で、ユーザーを選択し、移行するSMTPユーザーを選択します。
-
Groups タブを選択し、Add user to groups を選択します。
-
AWSSESSendingGroupDoNotRename
グループを選択し、次にユーザーをグループに追加 (複数可) します。 -
アクセス許可タブを選択し、ポリシー名列に
AmazonSesSendingAccess
と表示された 2 つの行があることを確認します。1 つはインライン、もう 1 つは 経由で添付された列に表示されたグループAWSSESSendingGroupDoNotRename
です。 -
「ポリシー名」列
AmazonSesSendingAccess
と「アタッチされた経由列」の「インライン」列に含まれる行のみを選択し、「削除」と続いて「ポリシーの削除」で確認します。Attached via 列の グループ
AWSSESSendingGroupDoNotRename
を含む行が引き続きあることを確認します。 -
タグタブを選択し、タグの管理 を選択します。
-
キー列とSESConsole値列InvokedByに含まれる行の横にある削除を選択し、変更を保存 を選択します。
重要
送信に影響が及ばないように、AmazonSesSendingAccess
ポリシー (インラインポリシーまたはグループポリシー、またはその両方) はSMTPユーザーにアタッチされたままにする必要があります。インラインポリシーは、グループポリシーがユーザーにアタッチされた後にのみ削除します。