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

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

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

ユーザープールは、インターネット上の誰でもアプリケーション内のユーザープロファイルにサインアップできるという、Customer Identity and Access Management (CIAM) のユーザーディレクトリであるだけでありません。セルフサービスサインアップを無効にすることができます。顧客の本人確認が済んでいる場合に、事前に認可された顧客のみを認めることをお勧めします。プライベート SAML 2.0 または OIDC ID プロバイダーを使用して、アプリケーションの周囲に手動認証ガードレールを配置するには、ユーザーをインポートするか、サインアップ時にユーザーをスクリーニングするか、または、管理 API オペレーションを使用してユーザーを作成します。ユーザーの管理作成ワークフローは、プログラムによることでも、別のシステムに登録した後にユーザーをプロビジョニングすることでも、Amazon Cognito コンソールでケースバイケースやテストベースで作成することでも可能です。

ユーザーを管理者として作成すると、Amazon Cognito は、ユーザーの一時的なパスワードを設定し、ウェルカムメッセージまたは招待メッセージを送信します。招待メッセージのリンクに従って初回のサインインを行い、パスワードを設定し、アカウントを確認できます。次のページでは、新しいユーザーを作成し、ウェルカムメッセージを設定する方法について説明します。ユーザープール API と AWS SDK または CDK を使用したユーザー作成の詳細については、AdminCreateUser」を参照してください。

ユーザープールを作成したら、 AWS Management Console、、 AWS Command Line Interface または Amazon Cognito API を使用してユーザーを作成できます。ユーザープールで新しいユーザーのプロファイルを作成し、サインアップ手順を含めたウェルカムメッセージをそのユーザーに SMS または E メールで送信できます。

以下は、管理者がユーザープール内のユーザーを管理する方法の例です。

  • Amazon Cognito コンソールまたは AdminCreateUser API オペレーションを使用して、新しいユーザープロファイルを作成します。

  • ユーザープールとアプリケーションクライアントで、username-and-password、パスワードレス、パスキー、カスタム認証フローを利用できるようにします。

  • ユーザー属性値を設定します。

  • カスタム属性を作成します。

  • AdminCreateUser API リクエストのイミュータブルなカスタム属性の値を設定します。この機能は Amazon Cognito コンソールでは利用できません。

  • 一時パスワードを指定するか、パスワードなしでユーザーを作成するか、Amazon Cognito がパスワードを自動的に生成できるようにします。

  • 新しいユーザーを作成し、自動的にアカウントの確認、E メールアドレスの確認、電話番号の確認を行います。

  • カスタムメッセージ、カスタム SMS 送信者、カスタム E メール送信者などの AWS Management Console または Lambda トリガーを使用して、新規ユーザーのカスタム SMS および E メール招待メッセージを指定します。 カスタム SMS 送信者の Lambda トリガー

  • 招待メッセージが SMS、E メール、その両方のいずれで送信されるかを指定する。

  • AdminCreateUser パラメータに RESEND を指定して、MessageAction API を呼び出すことで、既存のユーザーにウェルカムメッセージを再送信する。

  • ユーザーの作成時に招待メッセージの送信を抑制します。

  • 新しいユーザーアカウントの有効期限を最大 90 日間に指定します。

  • ユーザーに自己サインアップを許可したり、管理者にのみ新しいユーザーの追加を許可したりする。

管理者は、サーバー側のアプリケーションで AWS 認証情報を使用してユーザーにサインインすることもできます。詳細については、「API および SDK 認証の承認モデル」を参照してください。

ユーザー認証フローとユーザーの作成

ユーザーの管理作成には、ユーザープールの設定に応じて異なるオプションがあります。認証フロー、またはユーザーがサインインと MFA に使用できるメソッドは、ユーザーの作成方法とユーザーに送信するメッセージを変更することができます。ユーザープールで使用できる認証フローを次に示します。

  • ユーザー名とパスワード

  • パスキー

  • サードパーティーの IdPs

  • E メールと SMS ワンタイムパスワード (OTPs) を使用したパスワードレス

  • E メール、SMS、認証アプリ OTPs による多要素認証

  • Lambda トリガーによるカスタム認証

これらのサインイン要因を設定する方法の詳細については、「」を参照してくださいAmazon Cognito ユーザープールによる認証

パスワードなしでユーザーを作成する

ユーザープールでパスワードレスサインインを有効にしている場合は、パスワードなしでユーザーを作成できます。パスワードなしでユーザーを作成するには、使用可能なパスワードレスサインイン係数の属性値を指定する必要があります。例えば、E メール OTP パスワードレスサインインがユーザープールで利用可能な場合は、パスワードと E メールアドレス属性なしでユーザーを作成できます。新しいユーザーが使用できる唯一の認証フローで、パスキーやユーザー名パスワードなどのパスワードが必要な場合は、新しいユーザーごとに一時パスワードを作成または生成する必要があります。

パスワードなしで新しいユーザーを作成するには
  • Amazon Cognito コンソールでパスワードを設定しないを選択する

  • AdminCreateUser API リクエストの TemporaryPasswordパラメータを省略するか、空白のままにします。

パスワードのないユーザーは自動的に確認されます

通常、新しいユーザーは一時的なパスワードを取得し、作成時に FORCE_CHANGE_PASSWORD ステータスになります。パスワードなしでユーザーを作成すると、すぐに CONFIRMED状態になります。CONFIRMED 状態のこれらのユーザーには確認コードを再送信できません。

招待メッセージは、パスワードのないユーザーに対して変更されます。

デフォルトでは、Amazon Cognito Your username is {userName} and your password is {####}. は、パスワードなしでユーザーを作成すると、ユーザーのパスワードを設定するかどうかを反映するように招待メッセージYour username is {userName}.をカスタマイズするという招待メッセージを新しいユーザーに送信します。{####} パスワードレス認証モデルでパスワード変数を省略します。

パスワードレス要素が利用可能な場合、パスワードを自動生成することはできません

E メールまたは電話の OTP パスワードレスサインインをサポートするようにユーザープールを設定している場合、パスワードを自動的に生成することはできません。パスワードを持つユーザーごとに、プロファイルの作成時に一時パスワードを設定する必要があります。

パスワードレスユーザーには、すべての必須属性の値が必要です

パスワードなしでユーザーを作成する場合、リクエストは、ユーザーがユーザープールで必須としてマークしたすべての属性の値を提供する場合にのみ成功します。これは、OTP 配信に必要な電話番号と E メール属性だけでなく、必要な属性にも適用されます。

後で必須属性値を指定するユーザーの作成

ユーザープールに属性を要求しても、アプリケーション内でのユーザー操作中に、管理的にユーザーを作成した後にこれらの属性を収集することもできます。管理者は、一時的なパスワードでユーザーを作成するときに、必要な属性の値を省略できます。パスワードレスユーザーの必須属性値を省略することはできません。

必須属性と一時パスワードの値が欠落しているユーザーは、初回サインイン時に NEW_PASSWORD_REQUIRED チャレンジを受け取ります。その後、 requiredAttributesパラメータで欠落している必須属性の値を指定できます。すべての必須属性が変更可能な場合にのみ、パスワードと必須属性のないユーザーを作成できます。ユーザーは、必要な属性がサインインするアプリケーションクライアントから書き込み可能な場合にのみ、NEW_PASSWORD_REQUIREDチャレンジと必須属性値でサインインを完了できます。

管理者が作成したユーザーに永続的なパスワードを設定するCONFIRMEDと、ステータスは に変わり、ユーザープールは最初のサインイン時に新しいパスワード必須属性の入力を求めません。

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

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

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

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

パスワードポリシーの設定
  1. [Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。

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

  3. 認証方法メニューを選択し、パスワードポリシーを見つけます。[編集] を選択します。

  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. サインアップメニューを選択し、セルフサービスサインアップを見つけます。[Edit] (編集) を選択します。

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

    自己登録の無効化

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

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

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

ユーザーメッセージのカスタマイズ

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. メッセージテンプレートメニューを選択し、検証メッセージ招待メッセージ、または MFA メッセージを選択して編集を選択します。

  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] (変更の保存) をクリックします。

ユーザーの作成

ユーザーの作成

Amazon Cognito コンソールからユーザープールの新しいユーザーを作成できます。通常、ユーザーはパスワードを設定した後にサインインできます。E メールアドレスでサインインするには、ユーザーは email 属性を確認する必要があります。電話番号でサインインするには、ユーザーは phone_number 属性を確認する必要があります。アカウントを管理者として確認するには、 AWS CLI または API を使用するか、フェデレーティッド ID プロバイダーでユーザープロファイルを作成することもできます。詳細については、「Amazon Cognito API Reference」を参照してください。

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

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

  3. ユーザーメニューを選択し、ユーザーの作成を選択します。

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

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

    注記

    招待メッセージを送信する前に、ユーザープール の認証方法メニューで送信者と AWS リージョン Amazon Simple Notification Service と Amazon Simple Email Service を使用して を設定します。受信者メッセージとデータレートが適用されます。Amazon SES は、メールメッセージの請求を別途請求し、Amazon SNS は SMS メッセージについて別途請求します。

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

  7. [Create a password] (パスワードを作成する) または、Amazon Cognito にユーザーの [Generate a password] (パスワードを生成する) を許可するかどうかを選択してください。パスワードレスサインインがユーザープールで利用可能な場合、パスワードを生成するオプションは使用できません。一時パスワードは、ユーザープールのパスワードポリシーに準拠する必要があります。

  8. [Create] (作成) を選択します。

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