管理者としてのユーザーアカウントの作成 - Amazon Cognito

管理者としてのユーザーアカウントの作成

ユーザープールを作成したら、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 はこれらのユーザーに固有のものです。

  1. ユーザーは、提供されたユーザー名とパスワードを送信することで、初回のログインを開始します。

  2. SDK が InitiateAuth(Username, USER_SRP_AUTH) を呼び出します。

  3. Amazon Cognito が Salt & Secret ブロックで PASSWORD_VERIFIER チャレンジを返します。

  4. SDK が SRP 計算を実行し、RespondToAuthChallenge(Username, <SRP variables>, PASSWORD_VERIFIER) を呼び出します。

  5. Amazon Cognito は NEW_PASSWORD_REQUIRED チャレンジを返します。このチャレンジの本文には、ユーザーの現在の属性、およびユーザーのプロファイル内で現時点で値がないユーザープールの必須属性が含まれます。詳細については、「RespondToAuthChallenge」を参照してください。

  6. ユーザーは新しいパスワードと必須の属性の未設定値を入力するように求められます。

  7. SDK が RespondToAuthChallenge(Username, <New password>, <User attributes>) を呼び出します。

  8. ユーザーに MFA の 2 番目の要素が必要な場合、Amazon Cognito が SMS_MFA チャレンジを返し、コードが送信されます。

  9. ユーザーが正常に自分のパスワードを変更し、必要に応じて属性の値を指定するか MFA を完了すると、ユーザーがサインインされ、トークンが発行されます。

ユーザーがすべてのチャレンジに合格すると、Amazon Cognito サービスがユーザーを確認済みとマークし、ユーザーに ID トークン、アクセストークン、および更新トークンを発行します。詳細については、「ユーザープールでのトークンの使用」を参照してください。

AWS Management Console での新しいユーザーの作成

Amazon Cognito コンソールを使用して、ユーザーパスワードの要件を設定し、ユーザーに送信される招待メッセージと確認メッセージを設定し、新しいユーザーを追加できます。

パスワードポリシーを設定し、自己登録を有効にする

Original console

[ポリシー] タブには、以下の関連する設定があります。

  • 必要なパスワードの強度を指定します。

    
                    必要なパスワードの強度を指定します。
  • ユーザーに自己サインアップを許可するかどうかを指定する。このオプションはデフォルトで設定されています。

    
                    ユーザーに自己サインアップを許可するかどうかを指定する。このオプションはデフォルト選択。
  • 新しいアカウントのユーザーアカウントの有効期限 (日数) の指定。デフォルト設定は、ユーザーアカウントが作成された日から 7 日です。最大の設定値は 90 日です。アカウントの有効期限が切れた後は、管理者がユーザーのプロファイルを更新するまで、ユーザーはそのアカウントにログインできません。

    注記

    ユーザーが 1 回ログインすれば、そのアカウントの有効期限が切れることはありません。

    
                    ユーザーアカウントの有効期限 (日数) を指定する。デフォルト設定は 10 日間。
New console

パスワードの複雑さを最小限に抑え、ユーザープールでパブリック API を使用してユーザーがサインアップできるかどうかを設定できます。

パスワードポリシーの設定

  1. [Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。

  2. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  3. [Sign-in experience] (サインインエクスペリエンス) タブを選択して、[Password policy] (パスワードポリシー) を検索します。[Edit] を選択します。

  4. [Custom] (カスタム) の [Password policy mode] (パスワードポリシーモード) を選択します。

  5. [Password minimum length] (パスワードの最小長) を選択します。パスワード長要件の制限については、「ユーザープールのリソースクォータ」を参照してください。

  6. [Password complexity] (パスワードの複雑さ) 要件を選択してください。

  7. 管理者が設定したパスワードの有効期間を選択します。

  8. [Save changes] (変更の保存) をクリックします。

セルフサービスサインアップを許可する

  1. [Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。

  2. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  3. [Sign-up experience] (サインアップエクスペリエンス) タブを選択して、[Self-service sign-up] (セルフサービスサインアップ) を検索します。[Edit] (編集) を選択します。

  4. [Enable self-registration] (自己登録を有効化) するかどうかを選択します。自己登録は、通常、クライアントシークレット、または AWS Identity and Access Management (IAM) API 認証情報を配布せずにユーザープールに新しいユーザーを登録する必要があるパブリックアプリケーションクライアントで使用されます。

    自己登録の無効化

    自己登録を有効にしない場合は、IAM API 認証情報、またはフェデレーションプロバイダーとのサインインを使用して管理 API アクションで新しいユーザーを作成する必要があります。

  5. [Save changes] (変更の保存) をクリックします。

E メールメッセージと SMS メッセージのカスタマイズ

Original console

[Message Customizations] (メッセージのカスタマイズ) タブには、カスタム E メール確認とユーザーの招待メッセージを指定するためのテンプレートがあります。

E メール検証またはユーザー招待メッセージの場合、メッセージの最大長は検証コードまたは一時パスワードを含めて UTF-8 で 2048 文字です。SMS 認証またはユーザー招待メッセージの場合、最大長は検証コードまたは一時パスワードを含めて UTF-8 で 140 文字です。

検証コードは 24 時間有効です。


                ユーザーに送信される E メール認証をカスタマイズします。

                新しいユーザーに送信される招待メッセージのカスタマイズ
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 を要求されたときに送信されます。

  1. [Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。

  2. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  3. [Messaging] (メッセージング) タブで、[Message templates] (メッセージテンプレート) を検索します。[Verification messages] (検証メッセージ)、[Invitation messages] (招待メッセージ)、または [MFA messages] (MFA メッセージ) を選択して、[Edit] (編集) を選択します。

  4. 選択したメッセージタイプのメッセージをカスタマイズします。

    注記

    メッセージをカスタマイズするときは、メッセージテンプレート内のすべての変数を含める必要があります。例えば、変数の場合 {####} は含まれません。ユーザーにはメッセージアクションを完了するのに十分な情報がありません。

    詳細については、「メッセージテンプレート」を参照してください。

    1. 検証メッセージ

      1. [Email] (E メール) メッセージの [Verification type] (検証タイプ) を選択します。[Code] (コード) 検証は、ユーザーが入力する必要がある数値コードを送信します。[Link] (リンク) 検証は、ユーザーがクリックして連絡先情報を検証できるリンクを送信します。変数内のテキスト [Link] (リンク) メッセージはハイパーリンクテキストとして表示されます。例えば、変数 {# #Click here##} を使用したメッセージテンプレートは、E メールメッセージで「Click here (ここをクリックしてください) 」というように表示されます。

      2. [Email] (E メール) メッセージの [Email subject] (E メールの件名) を入力します。

      3. [Email] (E メール) メッセージのカスタムの [Email message] (E メールメッセージ) のテンプレートを入力します。このテンプレートは HTML でカスタマイズできます。

      4. [SMS] メッセージのカスタムの [SMS message] (SMS メッセージ) のテンプレートを入力します。

      5. [Save changes] (変更の保存) をクリックします。

    2. [Invitation messages] (招待メッセージ)

      1. [Email] (E メール) メッセージの [Email subject] (E メールの件名) を入力します。

      2. [Email] (E メール) メッセージのカスタムの [Email message] (E メールメッセージ) のテンプレートを入力します。このテンプレートは HTML でカスタマイズできます。

      3. [SMS] メッセージのカスタムの [SMS message] (SMS メッセージ) のテンプレートを入力します。

      4. [Save changes] (変更の保存) をクリックします。

    3. MFA メッセージ

      1. [SMS] メッセージのカスタムの [SMS message] (SMS メッセージ) のテンプレートを入力します。

      2. [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」を参照してください。

  1. [Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。

  2. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  3. [Users] (ユーザー) タブを選択して、[Create use] (ユーザーを作成) をクリックします。

  4. パスワード要件、使用可能なアカウント回復方法、およびユーザープールのエイリアス属性に関するガイダンスは、「ユーザープールのサインインとセキュリティ要件」を参照してください。

  5. 招待メッセージの送信方法を選択します。SMS メッセージ、E メールメッセージ、または両方を選択します。

    注記

    招待メッセージを送信する前に、ユーザープールの [Messaging] (メッセージング) タブで、Amazon Simple Notification Service および Amazon Simple Email Service で送信者と AWS リージョン を設定します。受信者メッセージとデータレートが適用されます。Amazon SES は、メールメッセージの請求を別途請求し、Amazon SNS は SMS メッセージについて別途請求します。

  6. 新規ユーザー用に [Username] (ユーザー名) を選択します。

  7. [Create a password] (パスワードを作成する) または、Amazon Cognito にユーザーの [Generate a password] (パスワードを生成する) を許可するかどうかを選択してください。一時パスワードは、ユーザープールのパスワードポリシーに準拠する必要があります。

  8. [Create] を選択します。

  9. [Users] (ユーザー) タブを選択し、ユーザーの [User name] (ユーザー名) エントリを選択します。[User attributes] (ユーザー属性) および [Group memberships] (グループメンバーシップ) を追加して編集します。ユーザーイベント履歴の確認