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 コード あり 検証メッセージ

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

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

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

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

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

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

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

Amazon SES E メール設定

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

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

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

  • ユーザープールの E メール配信制限は、 の Amazon SES検証済み E メールアドレスに適用される制限と同じです AWS アカウント。

  • グローバルサプレッションリスト を上書きSESする Amazon のアカウントレベルのサプレッションリストを使用して、配信不能な E メールアドレスへのメッセージを管理できます。アカウントレベルのサプレッションリストを使用すると、E メールメッセージのバウンスが送信者としてのアカウントの評価に影響します。詳細については、Amazon Simple Email Service デベロッパーガイドの「Amazon SESアカウントレベルのサプレッションリストの使用」を参照してください。

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

ユーザープール 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}。これにより、ユーザープールは、両方の の で同じ検証済み ID AWS アカウント の 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 SES で Amazon ID AWS リージョン を使用できる を示しています。 Amazon Cognito

ユーザープールリージョン リージョンオプション 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 アカウント間で共有することはできません。例えば、あるアカウントでユーザープールを設定し、別のアカウントの Amazon SES E メールアドレスで使用することはできません。複数のアカウントで 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課します。E メールは、Amazon で検証したアドレスとドメインにのみ送信することも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。

注記

FROM アドレスは、 AWS CLI または Amazon Cognito を使用してのみ、検証済みドメインで設定できます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 SES Cognito AWS リージョン が利用可能なすべてのオプトインで Amazon を利用できるわけではありません。 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、「 ユーザーガイド」の「 AWS リソースのアクセス管理IAM」を参照してください。

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

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

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

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

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

  • Amazon SESの設定

注記

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

デフォルトの 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 メールを送信を選択します。SES リージョン設定セット 、および送信者名はAmazon から E SESメールを送信 を選択した場合にのみカスタマイズできます。 FROM

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

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

    2. FROM E メールアドレス で、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] (変更の保存) をクリックします。

関連トピック