

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

# 管理者としてのユーザーアカウントの作成
<a name="how-to-create-user-accounts"></a>

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

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

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

管理者がユーザープール内のユーザーを管理する方法の例を以下に示します。
+ Amazon Cognito コンソールまたは `AdminCreateUser` API オペレーションを使用して新しいユーザープロファイルを作成します。
+ ユーザー名パスワード、パスワードなし、パスキー、カスタム[認証フロー](amazon-cognito-user-pools-authentication-flow-methods.md)を、ユーザープールとアプリケーションクライアントで利用できるようにします。
+ ユーザー属性値を設定します。
+ カスタム属性を作成します。
+ `AdminCreateUser` API リクエストに、イミュータブルな[カスタム属性](user-pool-settings-attributes.md#user-pool-settings-custom-attributes)の値を設定します。この機能は Amazon Cognito コンソールでは利用できません。
+ 仮パスワードを指定するか、パスワードなしでユーザーを作成するか、または Amazon Cognito にパスワードの自動生成を許可します。
+ 新しいユーザーを作成し、アカウントの確認、E メールアドレスの検証、または電話番号の検証を自動的に行います。
+ またはカスタムメッセージ、カスタム SMS 送信者、カスタム E メール送信者などの AWS マネジメントコンソール Lambda トリガーを使用して、新規ユーザーのカスタム SMS および [E メール](user-pool-lambda-custom-email-sender.md)招待[メッセージ](user-pool-lambda-custom-message.md)を指定します。 [カスタム SMS 送信者の Lambda トリガー](user-pool-lambda-custom-sms-sender.md)
+ 招待メッセージが SMS、E メール、その両方のいずれで送信されるかを指定する。
+ `AdminCreateUser` パラメータに `RESEND` を指定して、`MessageAction` API を呼び出すことで、既存のユーザーにウェルカムメッセージを再送信する。
+ ユーザー作成時の招待メッセージの送信を[抑制](#admincreateuserwalkthrough-step-invitationmessage)します。
+ 新規ユーザーアカウントの有効期限を最大 90 日に指定します。
+ ユーザーに自己サインアップを許可したり、管理者にのみ新しいユーザーの追加を許可したりする。

管理者は、サーバー側のアプリケーションで AWS 認証情報を使用してユーザーにサインインすることもできます。詳細については、「[API 認証と SDK 認証の認可モデル](authentication-flows-public-server-side.md)」を参照してください。

## ユーザー認証フローとユーザーの作成
<a name="how-to-create-user-accounts-flows"></a>

管理者がユーザーを作成する場合、ユーザープールの設定に応じて異なるオプションを使用できます。*認証フロー* (ユーザーがサインインと MFA に使用できる方法) に応じて、ユーザーの作成方法とユーザーへの送信メッセージが変わる場合があります。ユーザープールで使用できる認証フローをいくつか以下に示します。
+ ユーザー名とパスワード
+ パスキー
+ サードパーティの IdP によるサインイン
+ E メールおよび SMS ワンタイムパスワード (OTP) によるパスワードなしのサインイン
+ E メール、SMS、Authenticator アプリケーション OTP による多要素認証
+ Lambda トリガーによるカスタム認証

これらのサインイン要素の設定方法の詳細については、「[Amazon Cognito ユーザープールによる認証](authentication.md)」を参照してください。

## パスワードなしでユーザーを作成する
<a name="how-to-create-user-accounts-thingstoknow-passwordless"></a>

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

**パスワードなしの新規ユーザーを作成するには**
+ Amazon Cognito コンソールで **[パスワードを設定しない]** を選択します。
+ `AdminCreateUser` API リクエストの `TemporaryPassword` パラメータを省略するか、空白のままにします。

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

**パスワードなしのユーザーの場合、招待メッセージは変更される**  
デフォルトでは、Amazon Cognito から新規ユーザーに送信される[招待メッセージ](cognito-user-pool-settings-message-customizations.md#cognito-user-pool-settings-user-invitation-message-customization)は、「`Your username is {userName} and your password is {####}.`」という内容です。パスワードなしのユーザーを作成すると、メッセージの内容は「`Your username is {userName}.`」となります。ユーザーのパスワードを設定するかどうかを反映するには、招待メッセージをカスタマイズします。パスワードなしの認証モデルで `{####}` パスワード変数を省略します。

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

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

## 後で必須属性の値を提供するユーザーを作成する
<a name="how-to-create-user-accounts-thingstoknow-password-restrictions"></a>

ユーザープールで属性を必須に設定できますが、管理者によるユーザーの作成後に、アプリケーション内でユーザーとやり取りしながら、これらの属性を収集することもできます。管理者は、*仮パスワードを使用*してユーザーを作成するときに、必須属性の値を省略できます。パスワードなしのユーザーの場合、必須属性の値を省略することはできません。

ユーザーが必須属性の値が不足したまま仮パスワードを使用すると、初回サインイン時に [NEW\$1PASSWORD\$1REQUIRED](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html#CognitoUserPools-RespondToAuthChallenge-request-ChallengeResponses) チャレンジを受け取ります。この場合、不足している必須属性の値を `requiredAttributes` パラメータで指定できます。すべての必須属性が[変更可能](user-pool-settings-attributes.md#user-pool-settings-custom-attributes)である場合にのみ、パスワードを持つが必須属性を持たないユーザーを作成できます。ユーザーは、サインインに使用したアプリケーションクライアントから必須属性が[書き込み可能](user-pool-settings-client-apps.md#cognito-user-pools-app-idp-settings-about)である場合に限り、`NEW_PASSWORD_REQUIRED` チャレンジと必須属性の値を使用してサインインを完了できます。

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

## で新しいユーザーを作成する AWS マネジメントコンソール
<a name="creating-a-new-user-using-the-console"></a>

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

### パスワードポリシーを設定し、自己登録を有効にする
<a name="set-user-password-policy"></a>

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

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

1. [[Amazon Cognito console]](https://console.aws.amazon.com/cognito/home) (Amazon Cognito コンソール) に移動し、**[User Pools]** (ユーザープール) を選択します。

1. リストから既存のユーザープールを選択するか、[ユーザープールを作成](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html)します。

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

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

1. **[Password minimum length]** (パスワードの最小長) を選択します。パスワード長要件の制限については、「[ユーザープールのリソースクォータ](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html#limits-hard)」を参照してください。

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

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

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

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

1. [[Amazon Cognito console]](https://console.aws.amazon.com/cognito/home) (Amazon Cognito コンソール) に移動し、**[User Pools]** (ユーザープール) を選択します。

1. リストから既存のユーザープールを選択するか、[ユーザープールを作成](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html)します。

1. **[サインアップ]** メニューを選択し、**[セルフサービスのサインアップ]** を見つけます。**[Edit]** (編集) を選択します。

1. **[Enable self-registration]** (自己登録を有効化) するかどうかを選択します。自己登録は通常、クライアントシークレットまたは AWS Identity and Access Management (IAM) API 認証情報を配布せずにユーザープールに新しいユーザーを登録する必要があるパブリックアプリケーションクライアントで使用されます。
**自己登録の無効化**  
自己登録を有効にしない場合は、IAM API 認証情報、またはフェデレーションプロバイダーとのサインインを使用して管理 API アクションで新しいユーザーを作成する必要があります。

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

### E メールメッセージと SMS メッセージのカスタマイズ
<a name="creating-a-new-user-customize-messages"></a>

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

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]](https://console.aws.amazon.com/cognito/home) (Amazon Cognito コンソール) に移動し、**[User Pools]** (ユーザープール) を選択します。

1. リストから既存のユーザープールを選択するか、[ユーザープールを作成](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html)します。

1. **[メッセージテンプレート]** メニューを選択して、**[検証メッセージ]**、**[招待メッセージ]**、または **[MFA メッセージ]** を選択し、**[編集]** を選択します。

1. 選択したメッセージタイプのメッセージをカスタマイズします。
**注記**  
メッセージをカスタマイズするときは、メッセージテンプレート内のすべての変数を含める必要があります。例えば、変数の場合 **\$1\$1\$1\$1\$1\$1** は含まれません。ユーザーにはメッセージアクションを完了するのに十分な情報がありません。  
詳細については、「[メッセージテンプレート](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-templates.html)」を参照してください。

1. 

   1. **検証メッセージ**

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

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

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

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

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

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

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

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

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

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

   1. **MFA メッセージ**

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

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

### ユーザーの作成
<a name="creating-a-new-user-using-the-users-tab"></a>

**ユーザーの作成**

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

1. [[Amazon Cognito console]](https://console.aws.amazon.com/cognito/home) (Amazon Cognito コンソール) に移動し、**[User Pools]** (ユーザープール) を選択します。

1. リストから既存のユーザープールを選択するか、[ユーザープールを作成](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html)します。

1. **[ユーザー]** メニュー、**[ユーザーを作成]** の順に選択します。

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

1. <a name="admincreateuserwalkthrough-step-invitationmessage"></a>**招待メッセージ**の送信方法を選択します。SMS メッセージ、E メールメッセージ、または両方を選択します。招待メッセージを抑制するには、**[招待を送信しない]** を選択します。
**注記**  
招待メッセージを送信する前に、ユーザープールの **[認証方法]** メニューで、Amazon Simple Notification Service および Amazon Simple Email Service により、送信者と AWS リージョン を設定します。受信者メッセージとデータレートが適用されます。Amazon SES は、メールメッセージの請求を別途請求し、Amazon SNS は SMS メッセージについて別途請求します。

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

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

1. **[作成]** を選択します。

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