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

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

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

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

Amazon Cognito は、ソフトウェアのカスタマーアイデンティティとアクセス管理 (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 コンソールで、またはAdminCreateUserAPIリクエストを使用してのみ、新しいユーザーを作成できます。自己登録が非アクティブなユーザープールでは、 SignUp API リクエストは戻りNotAuthorizedException、ホストされた UI にはサインアップリンクが表示されません。

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

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

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

Amazon Cognito user pools API

CreateUserPool または UpdateUserPoolAPIリクエストのユーザープールにユーザーを作成するためのパラメータをプログラムで設定できます。

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

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

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

次の例では、APIリクエスト本文全体に を追加すると、セルフサービスサインアップが非アクティブで、基本的な招待 E メールを含むユーザープールを設定します。

"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 または UpdateUserPoolAPIリクエストの以下の追加パラメータは、新しいユーザーの作成を管理します。

AutoVerifiedAttributes

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

ポリシー

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

Schema

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

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

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