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

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

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

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

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

これらの設定は元に戻すことができます。必要に応じて、ユーザープールを更新して切り替えることができます。

デフォルトの E メール機能

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

デフォルトのオプションでは、次のいずれかの E メールアドレスを FROM アドレスとして使用できます。

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

  • 所有するカスタム E メールアドレス。独自の E メールアドレスを使用する前に、Amazon SES で検証し、それを使用するためのアクセス権限を Amazon Cognito に付与する必要があります。

Amazon SES E メールの設定

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

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

Amazon SES 設定を使用した場合のユーザープールの E メール配信制限は、AWS アカウントの Amazon SES 検証済みの E メールアドレスに適用する制限と同じになります。

注記

Amazon SES で使用できるリージョンは、米国東部 (バージニア北部) us-east-1、米国西部 (オレゴン) us-west-2、および欧州 (アイルランド) eu-west-1 です。Amazon SES では、アジアパシフィック (ムンバイ)、アジアパシフィック (シドニー)、カナダ (中部)、欧州 (フランクフルト)、欧州 (ロンドン)、南米 (サンパウロ)、および AWS GovCloud (米国) のリージョンでの E メールの受信はサポートされていません。

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

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

注記

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

ステップ 1: Amazon SES での E メールアドレスを検証する

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

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

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

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

この手順のステップについては、Amazon Simple Email Service 開発者ガイドの「E メールアドレスの検証」を参照してください。

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

Amazon SES の使用を始めて開始すると、AWS アカウントが Amazon SES サンドボックスに配置されます。Amazon SES は、サンドボックスを使用して不正使用や悪用を防止します。Amazon SES 設定を使用して E メール配信を処理する場合、Amazon Cognito がユーザーに E メールを送信できるようにするには、事前にサンドボックスから AWS アカウントを移動する必要があります。

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

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

サンドボックスから移動するステップについては、Amazon Simple Email Service 開発者ガイドの「Amazon SES サンドボックスの外への移動」を参照してください。

ステップ 3: Amazon Cognito に E メールのアクセス権限を付与する

Amazon Cognito がユーザーに E メールを送信できるようにするには、事前に特定のアクセス権限の付与が必要になる場合があります。付与するアクセス権限、およびアクセス権限を付与するために使用するプロセスは、デフォルトの E メール機能と Amazon SES 設定のどちらを使用しているかによって異なります。

デフォルトの E メール機能を使用するようにユーザープールを設定する場合、次のいずれかのアドレスを、Amazon Cognito からユーザーへの E メールの送信元となる FROM アドレスとして使用します。

  • デフォルトのアドレス

  • カスタムアドレス (Amazon SES で検証済みのアドレスである必要があります)

デフォルトの E メールアドレスを使用している場合、Amazon Cognito は追加のアクセス権限を必要としないため、このステップを省略できます。

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

詳細については、Amazon Simple Email Service 開発者ガイドで「Amazon SES での送信承認の使用」を参照してください。

例 送信承認ポリシー

次の例は、Amazon SES で検証済みの E メールアドレスを使用して、E メールの送信を Amazon Cognito に許可する送信承認ポリシーを示しています。

{ "Version": "2008-10-17", "Statement": [ { "Sid": "stmnt1234567891234", "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": [ "ses:SendEmail", "ses:SendRawEmail" ], "Resource": "<your SES identity ARN>" } ] }

この例では、「Sid」値はステートメントを一意に識別する任意の文字列です。

ポリシー構文の詳細については、Amazon Simple Email Service 開発者ガイドで「Amazon SES の送信承認ポリシー」を参照してください。

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

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

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

Amazon Cognito がこのロールを作成する前に、ユーザープールの設定に使用する IAM アクセス権限には、iam:CreateServiceLinkedRole アクションが含まれている必要があります。IAM でのアクセス権限の更新の詳細については、IAM ユーザーガイドの「IAM ユーザーのアクセス権限の変更」を参照してください。

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

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

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

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

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

  • Amazon SES の設定

デフォルトの Amazon Cognito E メール機能とアドレスを使用する場合、この手順を完了する必要はありません。

E メールアドレスを設定するには

  1. AWS マネジメントコンソール にサインインして、https://console.aws.amazon.com/cognito で Amazon Cognito コンソールを開きます。

  2. [ユーザープールの管理] を選択します。

  3. [ユーザープール] ページで、設定するユーザープールを選択します。

  4. 左側のナビゲーションメニューで、[メッセージのカスタマイズ] を選択します。

  5. カスタムの FROM アドレスを使用する場合は、[カスタムの FROM アドレスの追加] を選択し、以下の操作を実行します。

    1. [SES リージョン] で、検証済み E メールアドレスが含まれているリージョンを選択します。

    2. [ソース ARN] で、E メールアドレスを選択します。Amazon Cognito コンソールでは、選択したリージョンにおいて Amazon SES で検証済みの E メールアドレスのみを選択できます。

    3. [FROM E メールアドレス] で、E メールアドレスを選択します。E メールアドレスを入力するか、自分の名前で E メールアドレスを指定できます。

  6. [Do you want to send emails through your Amazon SES Configuration? (Amazon SES の設定を通じて E メールを送信しますか?)] で、[Yes - Use Amazon SES (はい - Amazon SES を使用します)] または [No - Use Cognito (いいえ - Cognito を使用します)] (デフォルト) を選択します。

    Amazon SES の使用を選択した場合、Amazon Cognito は変更が保存された後で、サービスにリンクされたロールを作成します。

  7. カスタムの REPLY-TO アドレスを使用する場合は、[カスタムの REPLY-TO アドレスの追加] を選択します。次に、ユーザーが FROM アドレスに送信するメッセージを受信する E メールアドレスを指定します。

  8. E メールアカウントオプションの設定を終了したら、[変更の保存] を選択します。

[Message customizations] ページでは、検証メッセージをカスタマイズするオプションや、招待メッセージをカスタマイズするオプションも用意されています。