Amazon Cognito ユーザープールの E メール設定 - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Cognito ユーザープールの E メール設定

アプリケーション内の特定のイベントにより、Amazon Cognito がユーザーに E メールを送信する可能性があります。例えば、E メールの検証を必須とするようにユーザープールを設定している場合、ユーザーがアプリの新しいアカウントにサインアップする、またはパスワードをリセットする場合に Amazon Cognito が E メールを送信します。E メールを開始するアクションに応じて、検証コードまたは仮パスワードが含まれます。

E メール配信を処理するには、次のいずれかのオプションを使用できます。

ユーザープールを作成した後に、配信オプションを変更できます。

Amazon Cognito は、ユーザーが入力できるコードまたはユーザーが選択できるURLリンクを使用して E メールメッセージを送信します。次の表は、E メールメッセージを生成できるイベントを示しています。

メッセージオプション

アクティビティ API オペレーション 配信オプション 形式オプション カスタマイズ可能 メッセージテンプレート
パスワードを忘れてしまった ForgotPassword, AdminResetUserPassword E メール、 SMS コード 不可 該当なし
招待 AdminCreateUser E メール、 SMS コード 可能 招待メッセージ
自己登録 SignUp, ResendConfirmationCode E メール、 SMS コード、リンク 可能 検証メッセージ
E メールアドレスまたは電話番号の検証 UpdateUserAttributes, AdminUpdateUserAttributes, GetUserAttributeVerificationCode E メール、 SMS コード 可能 検証メッセージ
多要素認証 (MFA) AdminInitiateAuth, InitiateAuth Email1、SMS、認証アプリ コード Yes² MFA メッセージ

1 高度なセキュリティ機能と Amazon E SESメール設定が必要です。

2 SMSおよび E メールメッセージ用。

Amazon は E メールメッセージに対してSES料金を請求します。詳細については、「Amazon SESの料金」を参照してください。

E メール の詳細についてはMFA、「」を参照してください SMS および E メールメッセージ MFA

デフォルトの E メール設定

Amazon Cognito は、デフォルトの E メール設定を使用して E メール配信を処理できます。デフォルトのオプションを使用すると、Amazon Cognito は、ユーザープールに毎日送信するメールの数を制限します。サービスの制限に関する詳細については、「Amazon Cognito のクォータ」を参照してください。一般的な実稼働環境では、デフォルトの E メール制限は必要な配信ボリュームを下回っています。配信ボリュームを増やすには、Amazon E SESメール設定を使用します。

デフォルト設定を使用する場合、 AWS によって管理されている Amazon SESリソースを使用して E メールメッセージを送信します。Amazon は、https://docs.aws.amazon.com/ses/latest/dg/sending-email-suppression-list.htmlアカウントレベルのサプレッションリスト またはグローバルサプレッションリスト にハードバウンスを返す E メールアドレスSESを追加します。 https://docs.aws.amazon.com/ses/latest/dg/send-email-concepts-deliverability.html#send-email-concepts-deliverability-suppression-list配信不可能な E メールアドレスが後で配信可能になった場合、ユーザープールがデフォルト設定を使用するように設定されている場合、サプレッションリストからの削除を制御できません。E メールアドレスは、 AWSマネージドサプレッションリストに無期限に残すことができます。配信不可能な E メールアドレスを管理するには、次のセクションで説明するように、アカウントレベルのサプレッションリストで Amazon E SESメール設定を使用します。

デフォルトの E メール設定を使用する場合、次のいずれかの E メールアドレスをFROMアドレスとして使用できます。

  • デフォルトの E メールアドレス (no-reply@verificationemail.com)。

  • カスタム E メールアドレス。独自の E メールアドレスを使用する前に、Amazon で確認SESして、このアドレスを使用するアクセス許可を Amazon Cognito に付与する必要があります。

Amazon E SESメール設定

アプリケーションは、デフォルトのオプションで利用できるよりも大きいボリュームを必要とする可能性があります。可能な配信量を増やすには、ユーザープールで Amazon SESリソースを使用してユーザーに E メールを送信します。独自の Amazon SES設定で E メールを送信するときに、E メール送信アクティビティをモニタリングすることもできます。

Amazon SES設定を使用する前に、Amazon で 1 つ以上の E メールアドレスまたはドメインを検証する必要がありますSES。ユーザープールに割り当てる E メールアドレスとして、検証済み E メールアドレス、または検証済みドメインのFROMアドレスを使用します。Amazon Cognito がユーザーに E メールを送信すると、Amazon SES を呼び出し、E メールアドレスを使用します。

Amazon SES設定を使用する場合、以下の条件が適用されます。

Amazon E SESメール設定リージョン

ユーザープール AWS リージョン を作成する には、Amazon での E メールメッセージの設定に関する 3 つの要件のいずれかがありますSES。ユーザープールと同じリージョン、同じリージョンを含む複数のリージョン、または 1 つ以上のリモートリージョンSESの Amazon から E メールメッセージを送信できます。最高のパフォーマンスを得るには、 オプションがある場合は、ユーザープールと同じリージョンで Amazon SES検証済み ID の E メールメッセージを送信します。

Amazon SES検証済み ID のリージョン要件のカテゴリ
リージョン内のみ

ユーザープールは、ユーザープール AWS リージョン と同じ で検証された ID を持つ E メールメッセージを送信できます。カスタム E メールアドレスのないデフォルトの FROM E メール設定では、Amazon Cognito は同じリージョンでno-reply@verificationemail.com検証された ID を使用します。

下位互換性

ユーザープールは、同じリージョン AWS リージョン または次のいずれかの代替リージョンで、検証済みの ID を含む E メールメッセージを送信できます。

  • 米国東部 (バージニア北部)

  • 米国西部 (オレゴン)

  • 欧州 (アイルランド)

この機能は、サービスの起動時に Amazon Cognito の要件に合わせて作成した可能性のあるユーザープールリソースの継続性をサポートします。その期間のユーザープールは、限られた数の で検証された ID を持つ E メールメッセージを送信することしかできませんでした AWS リージョン。カスタム E メールアドレスのないデフォルトの FROM E メール設定では、Amazon Cognito は同じリージョンでno-reply@verificationemail.com検証された ID を使用します。

代替リージョン

ユーザープールは、ユーザープールリージョン外の代替で、検証 AWS リージョン された ID を含む E メールメッセージを送信できます。この設定SESは、Amazon Cognito が利用可能なリージョンで Amazon が利用できない場合に発生します。

代替リージョンで検証された ID の Amazon SES送信承認ポリシーは、発信元のリージョンの Amazon Cognito サービスプリンシパルを信頼する必要があります。詳細については、「デフォルトの E メール設定を使用するアクセス許可を付与するには」を参照してください。

これらのリージョンの一部では、Amazon Cognito は のデフォルトの E メール設定のために、E メールメッセージを 2 つの代替リージョンに分割しますCOGNITO_DEFAULT。このような場合、カスタム FROM E メールアドレスを使用するには、各代替リージョンで検証された ID の Amazon SES送信承認ポリシーが、発信元のリージョンの Amazon Cognito サービスプリンシパルを信頼する必要があります。詳細については、「デフォルトの E メール設定を使用するアクセス許可を付与するには」を参照してください。これらのリージョンDEVELOPERの の Amazon E SESメール設定では、最初にリストされたリージョンで検証された ID を使用し、ユーザープールリージョンの Amazon Cognito サービスプリンシパルを信頼するように設定する必要があります。例えば、中東のユーザープール (UAE) では、 を信頼するように欧州 (フランクフルト) で検証された ID を設定しますcognito-idp.me-central-1.amazonaws.com。カスタム E メールアドレスのないデフォルトの FROM E メール設定では、Amazon Cognito は各リージョンでno-reply@verificationemail.com検証済み ID を使用します。

注記

以下の条件の組み合わせでは、リージョン要素のワイルドカードEmailConfigurationで の SourceArnパラメータを 形式で指定する必要がありますarn:${Partition}:ses:*:${Account}:identity/${IdentityName}。これにより、ユーザープールは、両方の AWS アカウント の で同じ検証済み ID を持つ E メールメッセージを送信できます AWS リージョン。

  • は EmailSendingAccount ですCOGNITO_DEFAULT

  • カスタムFROMアドレスを使用します。

  • ユーザープールは代替リージョン で E メールを送信します。

  • ユーザープールには、次の Amazon でサポートされているリージョンの表で指定されている 21 番目の代替リージョンがあります。 SES

を使用してプログラムでユーザープールを作成する場合 AWS SDK、Amazon Cognito APIまたは CLI、、または AWS CloudFormation- ユーザープールは AWS CDK、 の SourceArnパラメータがユーザープールにEmailConfiguration指定する Amazon SES ID を含む E メールメッセージを送信します。Amazon ID は、サポートされている を占有SESする必要があります AWS リージョン。EmailSendingAccountCOGNITO_DEFAULTSourceArn パラメータを指定しない場合、Amazon Cognito はユーザープールを作成したリージョン内のリソースを使用して no-reply@verificationemail.com から E メールメッセージを送信します。

次の表は、Amazon Cognito で Amazon SES ID を AWS リージョン 使用できる を示しています。

ユーザープールリージョン リージョンオプション Amazon SESでサポートされているリージョン

米国東部 (バージニア北部)

下位互換性

米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

米国東部 (オハイオ)

下位互換性

米国東部 (オハイオ)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

米国西部 (北カリフォルニア)

リージョン内のみ

米国西部 (北カリフォルニア)

米国西部 (オレゴン)

下位互換性

米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

カナダ (中部)

下位互換性

カナダ (中部)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

カナダ西部 (カルガリー)

代替リージョン

カナダ (中部)、米国西部 (北カリフォルニア)1

アジアパシフィック (東京)

下位互換性

アジアパシフィック (東京)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

アジアパシフィック (香港)

代替リージョン

アジアパシフィック (シンガポール)、アジアパシフィック (東京)1

アジアパシフィック (ソウル)

下位互換性

アジアパシフィック (ソウル)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

アジアパシフィック (ムンバイ)

下位互換性

アジアパシフィック (ムンバイ)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

アジアパシフィック (ハイデラバード)

代替リージョン

アジアパシフィック (ムンバイ)、アジアパシフィック (シンガポール)1

アジアパシフィック (シンガポール)

下位互換性

アジアパシフィック (シンガポール)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

アジアパシフィック (シドニー)

下位互換性

アジアパシフィック (シドニー)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

アジアパシフィック (大阪)

リージョン内のみ

アジアパシフィック (大阪)

アジアパシフィック (ジャカルタ)

リージョン内のみ

アジアパシフィック (ジャカルタ)

アジアパシフィック (メルボルン)

代替リージョン

アジアパシフィック (シドニー)、アジアパシフィック (シンガポール)1

欧州 (アイルランド)

下位互換性

米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

欧州 (ロンドン)

下位互換性

欧州 (ロンドン)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

欧州 (パリ)

リージョン内のみ

欧州 (パリ)

欧州 (フランクフルト)

下位互換性

欧州 (フランクフルト)、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (アイルランド)

欧州 (チューリッヒ)

代替リージョン

欧州 (フランクフルト)、欧州 (ロンドン)1

欧州 (ストックホルム)

リージョン内のみ

欧州 (ストックホルム)

欧州 (ミラノ)

リージョン内のみ

欧州 (ミラノ)
欧州 (スペイン)

代替リージョン

欧州 (パリ)、欧州 (ストックホルム)1

中東 (バーレーン)

リージョン内のみ

中東 (バーレーン)

中東 (UAE)

代替リージョン

欧州 (フランクフルト)、欧州 (ロンドン)1

南米 (サンパウロ)

リージョン内のみ

南米 (サンパウロ)

イスラエル (テルアビブ)

リージョン内のみ

イスラエル (テルアビブ)

アフリカ (ケープタウン)

リージョン内のみ

アフリカ (ケープタウン)

1 デフォルトの E メール設定を持つユーザープールで使用されます。Amazon Cognito は、各リージョンで同じ E メールアドレスを持つ検証済み ID に E メールメッセージを配信します。カスタムFROMアドレスを使用するには、 形式の SourceArnパラメータEmailConfigurationを使用して を設定しますarn:${Partition}:ses:*:${Account}:identity/${IdentityName}

ユーザープールの E メールの設定

ユーザープールの E メール設定を指定するには、以下のステップを完了します。使用する設定によっては、Amazon 、 AWS Identity and Access Management (IAM)SES、および Amazon Cognito でIAMアクセス許可が必要になる場合があります。

注記

これらのステップで作成したリソースを AWS アカウント間で共有することはできません。例えば、1 つのアカウントでユーザープールを設定し、別のアカウントの Amazon SES メールアドレスで使用することはできません。複数のアカウントで Amazon Cognito を使用する場合は、それぞれのアカウントでこれらのステップを繰り返すようにしてください。

ステップ 1: Amazon で E メールアドレスまたはドメインを検証する SES

ユーザープールを設定する前に、次のいずれかを実行するSES場合は、Amazon で 1 つ以上のドメインまたは E メールアドレスを確認する必要があります。

  • 自分の E メールアドレスをFROMアドレスとして使用する

  • Amazon SES設定を使用して E メール配信を処理する

E メールアドレスを検証することにより、そのアドレスを所有していることを確認する (不正使用の防止に役立ちます)

Amazon で E メールアドレスを検証する方法についてはSES、「Amazon Simple Email Service デベロッパーガイド」の「E メールアドレスの検証」を参照してください。Amazon でドメインを検証する方法についてはSES、「ドメインの検証」を参照してください。

ステップ 2: Amazon SESサンドボックスからアカウントを移動する

デフォルトの Amazon Cognito E メール設定を使用している場合は、このステップを省略します。

SES で最初に Amazon を使用すると AWS リージョン、そのリージョン AWS アカウント の Amazon SESサンドボックスに が配置されます。Amazon SESは、サンドボックスを使用して不正や悪用を防ぎます。Amazon SES設定を使用して E メール配信を処理する場合は、Amazon Cognito がユーザーに E メールを送信する前に、 をサンドボックス AWS アカウント の外に移動する必要があります。

サンドボックスでは、Amazon は送信できる E メールの数と送信先に制限をSES課します。Amazon で検証したアドレスとドメインにのみ E メールを送信することもSES、Amazon SESメールボックスシミュレーターアドレスに送信することもできます。がサンドボックスに AWS アカウント 残っている間は、本番稼働中のアプリケーションに Amazon SES設定を使用しないでください。この状況では、Amazon Cognito がユーザーの E メールアドレスにメッセージを送信することができません。

サンドボックス AWS アカウント から を削除するには、「Amazon Simple Email Service デベロッパーガイド」の「Amazon SESサンドボックスからの移動」を参照してください。

ステップ 3: Amazon Cognito に E メール許可を付与する

Amazon Cognito がユーザーに E メールを送信する前に、特定の許可を Amazon Cognito に付与する必要がある場合があります。付与するアクセス許可とその付与に使用するプロセスは、デフォルトの E メール設定を使用しているか、Amazon SES設定を使用しているかによって異なります。

このステップは、Cognito で E メールを送信するようにユーザープールを設定するか、 EmailSendingAccount を に設定している場合にのみ完了しますCOGNITO_DEFAULT

デフォルトの E メール設定では、ユーザープールは次のいずれかのアドレスを使用して E メールメッセージを送信できます。

  • デフォルトのアドレス no-reply@verificationemail.com

  • Amazon で検証済みの E FROM メールアドレスまたはドメインからのカスタムアドレスSES。

カスタムアドレスを使用している場合、Amazon Cognito には、そのアドレスからユーザーに E メールを送信するための追加のアクセス許可が必要です。これらのアクセス許可は、Amazon のアドレスまたはドメインの送信承認ポリシーによって付与されますSES。Amazon Cognito コンソールを使用してユーザープールにカスタムアドレスを追加すると、ポリシーは Amazon SES検証済み E メールアドレスに自動的にアタッチされます。ただし、 AWS CLI や Amazon Cognito を使用するなど、コンソールの外部でユーザープールを設定する場合はAPI、Amazon SESコンソールまたは PutIdentityPolicy を使用してポリシーをアタッチする必要がありますAPI。

注記

アドレスは、 AWS CLI または Amazon Cognito を使用してのみ、検証済みドメインFROMで設定できますAPI。

送信承認ポリシーは、Amazon Cognito を使用して Amazon を呼び出すアカウントリソースに基づいてアクセスを許可または拒否しますSES。リソースベースのポリシーの詳細については、IAM「 ユーザーガイド」を参照してください。リソースベースのポリシーの例は、Amazon SESデベロッパーガイド でも確認できます。

例 送信承認ポリシー

次の送信承認ポリシーの例では、Amazon Cognito に Amazon SES検証済み ID を使用する制限付き機能を付与します。Amazon Cognito は、条件 aws:SourceArn のユーザープールと条件 aws:SourceAccount のアカウントの両方に代わって送信する場合にのみ、E メールメッセージを送信できます。

Regions with Amazon SES

ユーザープールリージョンまたは代替リージョンの送信承認ポリシーでは、Amazon Cognito サービスプリンシパルが E メールメッセージを送信することを許可する必要があります。詳細については、リージョン表を参照してください。ユーザープールリージョンAmazon SESリージョン で少なくとも 1 つの値と一致する場合は、次の例の グローバルサービスプリンシパルを使用して送信承認ポリシーを設定します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "stmnt1234567891234", "Effect": "Allow", "Principal": { "Service": [ "email.cognito-idp.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }
Opt-in Regions without Amazon SES

Amazon Cognito AWS リージョン が利用可能なすべてのオプトインで Amazon を利用できるSESわけではありません。 Amazon Cognito 中東 (UAE) は例であり、欧州 (フランクフルト) () で検証された ID を持つ E メールのみを送信できますeu-central-1。デフォルトの E メール設定を持つユーザープールでは、Amazon Cognito は 2 つのリージョンのそれぞれで検証された ID を含む E メールメッセージも送信します。中東 (UAE) の場合、追加のリージョンは欧州 (ロンドン) です。両方のリージョンの送信承認ポリシーを更新する必要があります。

各代替リージョンの送信承認ポリシーでは、ユーザープールオプトインリージョンの Amazon Cognito サービスプリンシパルが E メールメッセージを送信することを許可する必要があります。詳細については、リージョン表を参照してください。リージョンが代替リージョン としてマークされている場合は、次の例のように、リージョンサービスプリンシパルを使用して送信承認ポリシーを設定します。サンプルリージョン識別子を置き換える me-central-1 必要に応じて、必要なリージョン ID を使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "cognito-idp.me-central-1.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }

ポリシー構文の詳細については、「Amazon Simple Email Service デベロッパーガイド」の「Amazon SES 送信認証ポリシー」を参照してください。

その他の例については、「Amazon Simple Email Service デベロッパーガイド」の「Amazon SES送信承認ポリシーの例」を参照してください。

Amazon SES設定を使用するようにユーザープールを設定する場合、Amazon Cognito はユーザーに E メールを送信するときにSESユーザーに代わって Amazon を呼び出すための追加のアクセス許可が必要です。この認可は IAMサービスで付与されます。

このオプションを使用してユーザープールを設定すると、Amazon Cognito は にロールの一種であるサービスにリンクされたIAMロール を作成します AWS アカウント。このロールには、Amazon Cognito が Amazon にアクセスしSES、お客様のアドレスで E メールを送信することを許可するアクセス許可が含まれています。

Amazon Cognito は、設定を設定するユーザーセッションの AWS 認証情報を使用して、サービスにリンクされたロールを作成します。このセッションのIAMアクセス許可には iam:CreateServiceLinkedRoleアクションを含める必要があります。でのアクセス許可の詳細についてはIAM、 IAM ユーザーガイドの「 AWS リソースのアクセス管理」を参照してください。

Amazon Cognito が作成するサービスリンクロールの詳細については、「Amazon Cognito のサービスリンクロールの使用」を参照してください。

ステップ 4: ユーザープールを設定する

以下のいずれかを使用してユーザープールを設定する場合は、次のステップを完了します。

  • E メール送信者として表示されるカスタムFROMアドレス

  • ユーザーがアドレスに送信するメッセージを受信するカスタム REPLY-TO FROM アドレス

  • Amazon SES設定

注記

検証済みの ID が E メールアドレスの場合、Amazon Cognito はその E メールアドレスをデフォルトで FROMおよび REPLY-TO E メールアドレスとして設定します。ただし、検証済みの ID がドメインの場合は、FROME メールアドレスの値を指定する必要があります。

デフォルトの Amazon Cognito E メール設定とアドレスを使用する場合は、この手順を省略します。

カスタム E メールアドレスを使用するようにユーザープールを設定する方法
  1. Amazon Cognito コンソールに移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。

  2. [User Pools] (ユーザープール) を選択します。

  3. リストから存在するユーザープールを 1 つ選択します。

  4. [Messaging] (メッセージング) タブを選択して、[Email configuration] (E メールの設定) を検索して、[Edit] (編集) をクリックします。

  5. E メール設定の編集ページで、Amazon から E SESメールを送信 または Amazon Cognito で E メールを送信 を選択します。Amazon から E SESメールを送信を選択した場合のみ、SESリージョン 、設定セット 、およびFROM送信者名をカスタマイズできます。

  6. カスタムFROMアドレスを使用するには、次の手順を実行します。

    1. SES リージョン で、検証済みの E メールアドレスを含むリージョンを選択します。

    2. E FROM メールアドレス で、E メールアドレスを選択します。Amazon で検証した E メールアドレスを使用しますSES。

    3. (オプション) 設定セット で、Amazon SESが使用する設定セットを選択します。この変更を行って保存すると、サービスにリンクされたロールが作成されます。

    4. (オプション) FROM 送信者アドレス で、E メールアドレスを入力します。E メールアドレスだけ、または E メールアドレスと分かりやすい名前を Jane Doe <janedoe@example.com> 形式で指定できます。

    5. (オプション) REPLY-TO E メールアドレス で、ユーザーがアドレスに送信するメッセージを受信する E FROM メールアドレスを入力します。

  7. [Save changes] (変更の保存) をクリックします。

関連トピック