管理者としてのユーザーアカウントの作成
ユーザープールを作成したら、AWS Management Console、AWS Command Line Interface または Amazon Cognito API を使用してユーザーを作成できます。ユーザープールで新しいユーザーのプロファイルを作成し、サインアップ手順を含めたウェルカムメッセージをそのユーザーに SMS または E メールで送信できます。
デベロッパーと管理者は以下のタスクを実行できます。
-
AWS Management Console を使用するか、AdminCreateUser
API を呼び出すことで、新しいユーザープロファイルを作成します。
-
一時パスワードを指定する、または Amazon Cognito が一時パスワードを自動生成できるようにする。
-
提供された E メールアドレスと電話番号が新しいユーザーに対して確認済みとマークされているかどうかを指定する。
-
AWS Management Console またはカスタムメッセージ Lambda トリガーを使用して、新しいユーザー向けのカスタム SMS および E メール招待メッセージを指定する。詳細については、「Lambda トリガーを使用したユーザープールワークフローのカスタマイズ」を参照してください。
-
招待メッセージが SMS、E メール、その両方のいずれで送信されるかを指定する。
-
AdminCreateUser
パラメータに RESEND
を指定して、MessageAction
API を呼び出すことで、既存のユーザーにウェルカムメッセージを再送信する。
このアクションは現在、AWS Management Console を使用して実行することはできません。
-
ユーザー作成時の招待メッセージが送信されないようにする。
-
ユーザーアカウントの有効期限を指定する (最大 90 日)。
-
ユーザーに自己サインアップを許可したり、管理者にのみ新しいユーザーの追加を許可したりする。
管理者またはデベロッパーによって作成されるユーザーの認証フロー
これらのユーザーの認証フローには、新しいパスワードを送信するためや、必須の属性の未設定値を指定するための、追加の手順が含まれます。これらの手順は以下に説明しており、手順 5、6、7 はこれらのユーザーに固有のものです。
-
ユーザーは、提供されたユーザー名とパスワードを送信することで、初回のログインを開始します。
-
SDK が InitiateAuth(Username, USER_SRP_AUTH)
を呼び出します。
-
Amazon Cognito が Salt & Secret ブロックで PASSWORD_VERIFIER
チャレンジを返します。
-
SDK が SRP 計算を実行し、RespondToAuthChallenge(Username,
<SRP variables>
, PASSWORD_VERIFIER)
を呼び出します。
-
Amazon Cognito は NEW_PASSWORD_REQUIRED
チャレンジを返します。このチャレンジの本文には、ユーザーの現在の属性、およびユーザーのプロファイル内で現時点で値がないユーザープールの必須属性が含まれます。詳細については、「RespondToAuthChallenge」を参照してください。
-
ユーザーは新しいパスワードと必須の属性の未設定値を入力するように求められます。
-
SDK が RespondToAuthChallenge(Username, <New
password>
, <User
attributes>
)
を呼び出します。
-
ユーザーに MFA の 2 番目の要素が必要な場合、Amazon Cognito が SMS_MFA チャレンジを返し、コードが送信されます。
-
ユーザーが正常に自分のパスワードを変更し、必要に応じて属性の値を指定するか MFA を完了すると、ユーザーがサインインされ、トークンが発行されます。
ユーザーがすべてのチャレンジに合格すると、Amazon Cognito サービスがユーザーを確認済みとマークし、ユーザーに ID トークン、アクセストークン、および更新トークンを発行します。詳細については、「ユーザープールでのトークンの使用」を参照してください。
AWS Management Console での新しいユーザーの作成
Amazon Cognito コンソールを使用して、ユーザーパスワードの要件を設定し、ユーザーに送信される招待メッセージと確認メッセージを設定し、新しいユーザーを追加できます。
パスワードポリシーを設定し、自己登録を有効にする
- Original console
-
[ポリシー] タブには、以下の関連する設定があります。
- New console
-
パスワードの複雑さを最小限に抑え、ユーザープールでパブリック API を使用してユーザーがサインアップできるかどうかを設定できます。
パスワードポリシーの設定
-
[Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。
-
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
[Sign-in experience] (サインインエクスペリエンス) タブを選択して、[Password policy] (パスワードポリシー) を検索します。[Edit] を選択します。
-
[Custom] (カスタム) の [Password policy mode] (パスワードポリシーモード) を選択します。
-
[Password minimum length] (パスワードの最小長) を選択します。パスワード長要件の制限については、「ユーザープールのリソースクォータ」を参照してください。
-
[Password complexity] (パスワードの複雑さ) 要件を選択してください。
-
管理者が設定したパスワードの有効期間を選択します。
-
[Save changes] (変更の保存) をクリックします。
セルフサービスサインアップを許可する
-
[Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。
-
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
[Sign-up experience] (サインアップエクスペリエンス) タブを選択して、[Self-service sign-up] (セルフサービスサインアップ) を検索します。[Edit] (編集) を選択します。
-
[Enable self-registration] (自己登録を有効化) するかどうかを選択します。自己登録は、通常、クライアントシークレット、または AWS Identity and Access Management (IAM) API 認証情報を配布せずにユーザープールに新しいユーザーを登録する必要があるパブリックアプリケーションクライアントで使用されます。
自己登録を有効にしない場合は、IAM API 認証情報、またはフェデレーションプロバイダーとのサインインを使用して管理 API アクションで新しいユーザーを作成する必要があります。
-
[Save changes] (変更の保存) をクリックします。
E メールメッセージと SMS メッセージのカスタマイズ
- Original console
-
[Message Customizations] (メッセージのカスタマイズ) タブには、カスタム E メール確認とユーザーの招待メッセージを指定するためのテンプレートがあります。
E メール検証またはユーザー招待メッセージの場合、メッセージの最大長は検証コードまたは一時パスワードを含めて UTF-8 で 2048 文字です。SMS 認証またはユーザー招待メッセージの場合、最大長は検証コードまたは一時パスワードを含めて UTF-8 で 140 文字です。
検証コードは 24 時間有効です。
- New console
-
ユーザーメッセージのカスタマイズ
Amazon Cognito がユーザーにサインインするように招待したとき、ユーザーがユーザーアカウントへのサインアップ、またはサインインして多要素認証 (MFA) を要求される際に Amazon Cognito はユーザーに送信するメッセージをカスタマイズできます。
[Invitation message] (招待メッセージ) はユーザープールにユーザーを作成し、サインインに招待すると送信されます。Amazon Cognito はユーザーの E メールアドレスまたは電話番号に初期サインイン情報を送信します。
検証メッセージは、ユーザーがユーザープールのユーザーアカウントに登録したときに送信されます。Amazon Cognito はユーザーにコードを送信します。ユーザーが Amazon Cognito にコードを提供すると、連絡先情報を確認し、サインインのためにアカウントを確認します。検証コードは 24 時間有効です。
[MFA message] (MFA メッセージ)は、ユーザープールで SMS MFA を有効にし、SMS MFA を構成したユーザーがサインインして MFA を要求されたときに送信されます。
-
[Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。
-
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
[Messaging] (メッセージング) タブで、[Message templates] (メッセージテンプレート) を検索します。[Verification messages] (検証メッセージ)、[Invitation messages] (招待メッセージ)、または [MFA messages] (MFA メッセージ) を選択して、[Edit] (編集) を選択します。
-
選択したメッセージタイプのメッセージをカスタマイズします。
メッセージをカスタマイズするときは、メッセージテンプレート内のすべての変数を含める必要があります。例えば、変数の場合 {####} は含まれません。ユーザーにはメッセージアクションを完了するのに十分な情報がありません。
詳細については、「メッセージテンプレート」を参照してください。
-
-
検証メッセージ
-
[Email] (E メール) メッセージの [Verification type] (検証タイプ) を選択します。[Code] (コード) 検証は、ユーザーが入力する必要がある数値コードを送信します。[Link] (リンク) 検証は、ユーザーがクリックして連絡先情報を検証できるリンクを送信します。変数内のテキスト [Link] (リンク) メッセージはハイパーリンクテキストとして表示されます。例えば、変数 {# #Click here##} を使用したメッセージテンプレートは、E メールメッセージで「Click here (ここをクリックしてください) 」というように表示されます。
-
[Email] (E メール) メッセージの [Email subject] (E メールの件名) を入力します。
-
[Email] (E メール) メッセージのカスタムの [Email message] (E メールメッセージ) のテンプレートを入力します。このテンプレートは HTML でカスタマイズできます。
-
[SMS] メッセージのカスタムの [SMS message] (SMS メッセージ) のテンプレートを入力します。
-
[Save changes] (変更の保存) をクリックします。
-
[Invitation messages] (招待メッセージ)
-
[Email] (E メール) メッセージの [Email subject] (E メールの件名) を入力します。
-
[Email] (E メール) メッセージのカスタムの [Email message] (E メールメッセージ) のテンプレートを入力します。このテンプレートは HTML でカスタマイズできます。
-
[SMS] メッセージのカスタムの [SMS message] (SMS メッセージ) のテンプレートを入力します。
-
[Save changes] (変更の保存) をクリックします。
-
MFA メッセージ
-
[SMS] メッセージのカスタムの [SMS message] (SMS メッセージ) のテンプレートを入力します。
-
[Save changes] (変更の保存) をクリックします。
ユーザーの作成
- Original console
-
[Users and groups] (ユーザーとグループ) タブの [Users] (ユーザー) タブには、[Create user] (ユーザーの作成) ボタンがあります。
[Create user] (ユーザーの作成) を選択すると、新しいユーザーに関する情報の入力に使用できる [Create user] (ユーザーの作成) フォームが表示されます。[ユーザー名] フィールドのみが必須です。
AWS Management Consoleの [Create user] (ユーザーの作成) フォーム使用して作成するユーザーアカウントについては、フォームに表示されている属性のみを AWS Management Consoleで設定できます。その他の属性は、必須属性としてマーク付けした場合でも、AWS Command Line Interface または Amazon Cognito API を使用して設定する必要があります。
- New console
-
ユーザーの作成
Amazon Cognito コンソールからユーザープールの新しいユーザーを作成できます。通常、ユーザーはパスワードを設定した後にサインインできます。E メールアドレスでサインインするには、ユーザーは email
属性を確認する必要があります。電話番号でサインインするには、ユーザーは phone_number
属性を確認する必要があります。管理者としてのアカウントを確認するには、AWS CLI または API を使用するか、フェデレーション ID プロバイダーを使用してユーザープロファイルを作成することもできます。詳細については、「Amazon Cognito API Reference」を参照してください。
-
[Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。
-
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
[Users] (ユーザー) タブを選択して、[Create use] (ユーザーを作成) をクリックします。
-
パスワード要件、使用可能なアカウント回復方法、およびユーザープールのエイリアス属性に関するガイダンスは、「ユーザープールのサインインとセキュリティ要件」を参照してください。
-
招待メッセージの送信方法を選択します。SMS メッセージ、E メールメッセージ、または両方を選択します。
招待メッセージを送信する前に、ユーザープールの [Messaging] (メッセージング) タブで、Amazon Simple Notification Service および Amazon Simple Email Service で送信者と AWS リージョン を設定します。受信者メッセージとデータレートが適用されます。Amazon SES は、メールメッセージの請求を別途請求し、Amazon SNS は SMS メッセージについて別途請求します。
-
新規ユーザー用に [Username] (ユーザー名) を選択します。
-
[Create a password] (パスワードを作成する) または、Amazon Cognito にユーザーの [Generate a password] (パスワードを生成する) を許可するかどうかを選択してください。一時パスワードは、ユーザープールのパスワードポリシーに準拠する必要があります。
-
[Create] を選択します。
-
[Users] (ユーザー) タブを選択し、ユーザーの [User name] (ユーザー名) エントリを選択します。[User attributes] (ユーザー属性) および [Group memberships] (グループメンバーシップ) を追加して編集します。ユーザーイベント履歴の確認