ユーザー作成ポリシーの設定 - Amazon Cognito

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

ユーザー作成ポリシーの設定

ユーザープールでは、ユーザーにサインアップを許可するか、ユーザーを管理者として作成できます。また、サインアップ後の検証と確認のプロセスを、どの程度ユーザーに委ねるかを制御できます。例えば、サインアップを確認して、外部の検証プロセスに基づいてサインアップを承認できます。この設定 (管理者作成ユーザーポリシー) では、ユーザーが自分のユーザーアカウントを確認できなくなるまでの時間も設定します。

Amazon Cognito は、ソフトウェアのカスタマー ID およびアクセス管理 (CIAM) プラットフォームとして、一般顧客のニーズに応えることができます。サインアップを受け入れるユーザープールにアプリケーションクライアントがある場合は、ホストされた UI の有無にかかわらず、一般に検出可能なアプリケーションクライアント ID を使用してインターネットからサインアップをリクエストしたすべてのユーザーに対してユーザープロファイルを作成します。サインアップしたユーザープロファイルは、アクセストークンと ID トークンを受け取り、アプリケーション用に承認されたリソースにアクセスできます。ユーザープールでサインアップを有効にする前に、オプションを確認し、設定がセキュリティ基準に準拠していることを確認してください。[自己登録を有効化]AllowAdminCreateUserOnly を、以下の手順で説明するように注意して設定します。

AWS Management Console

ユーザープールの [サインアップエクスペリエンス] タブと、ユーザープール作成ウィザードの [サインアップエクスペリエンスを設定] ステップには、ユーザープール内のユーザーのサインアップと管理作成に関する設定の一部が含まれています。

サインアップエクスペリエンスを設定するには
  1. [Cognito による検証と確認] で、[Cognito が検証と確認のためのメッセージを自動的に送信することを許可] するかどうかを選択します。この設定を有効にすると、Amazon Cognito はユーザープールに提示する必要があるコードを含む E メールまたは SMS メッセージを新規ユーザーに送信します。これにより、E メールアドレスまたは電話番号の所有権が確認され、同等の属性が検証済みとして設定され、ユーザーアカウントのサインインが確認されます。選択した [検証する属性] により、検証メッセージの配信方法と送信先が決まります。

  2. [属性変更の確認] は、ユーザーの作成時には重要ではありませんが、属性の検証に関係します。[サインイン属性] を変更したが、まだ検証していないユーザーに対して、新しい属性値または元の属性値を使用して引き続きサインインすることを許可できます。詳細については、「ユーザーが E メールまたは電話番号を変更するときに確認する」を参照してください。

  3. [必須の属性] には、ユーザーのサインアップやユーザーの作成前に値を指定する必要がある属性が表示されます。必須の属性は、ユーザープールの作成ウィザードでのみ設定できます。

  4. カスタム属性は、ユーザーの作成とサインアップのプロセスにとって重要です。イミュータブルなカスタム属性の値を設定できるのは、ユーザーの初回作成時のみであるためです。カスタム属性の詳細については、「カスタム属性」を参照してください。

  5. 認証されていない SignUp API を使用して新しいアカウントを生成することをユーザーに許可する場合は、[セルフサービスのサインアップ] で、[自己登録を有効化] を設定します。自己登録を無効にした場合は、Amazon Cognito コンソールまたは AdminCreateUser API リクエストで新しいユーザーを管理者としてのみ作成できます。自己登録が非アクティブなユーザープールでは、SignUp API リクエストが NotAuthorizedException を返し、ホストされた UI に [サインアップ] リンクが表示されません。

管理者としてのユーザーを作成する予定のユーザープールでは、[サインインエクスペリエンス] タブの [管理者が設定した一時パスワードの有効期限] で一時パスワードの有効期間を設定できます。

管理者としてのユーザーを作成する場合の別の重要な要素は、招待メッセージです。新しいユーザーを作成すると、Amazon Cognito はアプリへのリンクを含むメッセージをユーザーに送信し、初回のサインインができるようにします。このメッセージテンプレートを [メッセージング][メッセージテンプレート] でカスタマイズします。

[機密アプリクライアント] (通常はウェブアプリケーション) には、アプリクライアントシークレットがないとサインアップできないようにするクライアントシークレットを設定できます。セキュリティ上のベストプラクティスとして、パブリックアプリクライアント (通常はモバイルアプリ) にはアプリクライアントシークレットを配布しないでください。クライアントシークレットを使用したアプリケーションクライアントは、Amazon Cognito コンソールの [アプリケーションの統合] タブで作成できます。

Amazon Cognito user pools API

ユーザープールのユーザーを作成するためのパラメータは、CreateUserPool または UpdateUserPool API リクエストを使用してプログラムで設定できます。

AdminCreateUserConfig 要素は、ユーザープールの以下のプロパティの値を設定します。

  1. セルフサービスのサインアップの有効化

  2. 管理者が新規作成したユーザーに送信する招待メッセージ

次の例を API リクエスト本文全体に追加すると、セルフサービスのサインアップが無効なユーザープールと、基本的な招待メールが設定されます。

"AdminCreateUserConfig": { "AllowAdminCreateUserOnly": true, "InviteMessageTemplate": { "EmailMessage": "Your username is {username} and temporary password is {####}.", "EmailSubject": "Welcome to ExampleApp", "SMSMessage": "Your username is {username} and temporary password is {####}." } }

CreateUserPool または UpdateUserPool API リクエストの以下の追加パラメータは、新規ユーザーの作成を制御します。

AutoVerifiedAttributes

新しいユーザーを登録するときに自動的にメッセージを送信する先の属性、メールアドレス、または電話番号。

ポリシー

ユーザープールのパスワードポリシー

Schema

ユーザープールのカスタム属性。イミュータブルなカスタム属性の値を設定できるのはユーザーの初回作成時のみであるため、カスタム属性はユーザーの作成とサインアップのプロセスにとって重要です。

このパラメータでは、ユーザープールの必須の属性も設定します。次のテキストを API リクエスト本文全体の Schema 要素に挿入すると、email 属性が必要に応じて設定されます。

{ "Name": "email", "Required": true }