

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

# ユーザー作成ポリシーの設定
<a name="user-pool-settings-admin-create-user-policy"></a>

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

Amazon Cognito は、ソフトウェアのカスタマー ID およびアクセス管理 (CIAM) プラットフォームとして、一般顧客のニーズに応えることができます。サインアップを受け入れてアプリケーションクライアントを持っているユーザープールは、マネージドログインの有無にかかわらず、パブリックに検出可能なアプリクライアント ID を知っていてサインアップをリクエストするインターネット上のすべてのユーザーに対して、ユーザープロファイルを作成します。サインアップしたユーザープロファイルは、アクセストークンと ID トークンを受け取り、アプリケーション用に承認されたリソースにアクセスできます。ユーザープールでサインアップを有効にする前に、オプションを確認し、設定がセキュリティ基準に準拠していることを確認してください。**[自己登録を有効化]** と `AllowAdminCreateUserOnly` を、以下の手順で説明するように注意して設定します。

------
#### [ AWS マネジメントコンソール ]

ユーザープールの **[サインアップ]** メニューには、ユーザープール内のユーザーのサインアップと管理者による作成に関する設定の一部が含まれています。

**サインアップエクスペリエンスを設定するには**

1. **[Cognito による検証と確認]** で、**[Cognito が検証と確認のためのメッセージを自動的に送信することを許可]** するかどうかを選択します。この設定を有効にすると、Amazon Cognito はユーザープールに提示する必要があるコードを含む E メールまたは SMS メッセージを新規ユーザーに送信します。これにより、E メールアドレスまたは電話番号の所有権が確認され、同等の属性が検証済みとして設定され、ユーザーアカウントのサインインが確認されます。選択した **[検証する属性]** により、検証メッセージの配信方法と送信先が決まります。

1. **[属性変更の確認]** は、ユーザーの作成時には重要ではありませんが、属性の検証に関係します。[[サインイン属性]](user-pool-settings-attributes.md#user-pool-settings-aliases.title) を変更したが、まだ検証していないユーザーに対して、新しい属性値または元の属性値を使用して引き続きサインインすることを許可できます。詳細については、「[ユーザーが E メールまたは電話番号を変更するときに確認する](signing-up-users-in-your-app.md#verifying-when-users-change-their-email-or-phone-number)」を参照してください。

1. **[必須の属性]** には、ユーザーのサインアップやユーザーの作成前に値を指定する必要がある属性が表示されます。必須属性は、ユーザープールの作成時にのみ設定できます。

1. **カスタム属性**は、ユーザーの作成とサインアップのプロセスにとって重要です。イミュータブルなカスタム属性の値を設定できるのは、ユーザーの初回作成時のみであるためです。**カスタム属性の詳細については、「[カスタム属性](user-pool-settings-attributes.md#user-pool-settings-custom-attributes)」を参照してください。

1. [認証されていない](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html#user-pool-apis-auth-unauth) `SignUp` API を使用して新しいアカウントを生成することをユーザーに許可する場合は、**[セルフサービスのサインアップ]** で、**[自己登録を有効化]** を設定します。自己登録を無効にした場合は、Amazon Cognito コンソールまたは [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html) API リクエストで新しいユーザーを管理者としてのみ作成できます。自己登録が非アクティブなユーザープールでは、[SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) API リクエストが `NotAuthorizedException` を返し、マネージドログインに **[サインアップ]** リンクが表示されません。

管理者としてユーザーを作成する予定のユーザープールでは、**[認証方法]** メニューの **[管理者が設定した仮パスワードの有効期限]** で仮パスワードの有効期間を設定できます。

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

[[機密アプリクライアント]](user-pool-settings-client-apps.md#user-pool-settings-client-app-client-types.title) (通常はウェブアプリケーション) には、アプリクライアントシークレットがないとサインアップできないようにするクライアントシークレットを設定できます。セキュリティ上のベストプラクティスとして、パブリックアプリクライアント (通常はモバイルアプリ) にはアプリクライアントシークレットを配布しないでください。クライアントシークレットを持つアプリケーションクライアントは、Amazon Cognito コンソールの **[アプリケーションクライアント]** メニューで作成できます。

------
#### [ Amazon Cognito user pools API ]

ユーザープールのユーザーを作成するためのパラメータは、[CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) または [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) API リクエストを使用してプログラムで設定できます。

[AdminCreateUserConfig](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-AdminCreateUserConfig) 要素は、ユーザープールの以下のプロパティの値を設定します。

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

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

次の例を API リクエスト本文全体に追加すると、セルフサービスのサインアップが無効なユーザープールと、基本的な招待メールが設定されます。

```
"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](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) または [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) API リクエストの以下の追加パラメータは、新規ユーザーの作成を制御します。

[AutoVerifiedAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-AutoVerifiedAttributes)  
新しいユーザーを登録するときに[自動的にメッセージを送信](user-pool-settings-email-phone-verification.md#user-pool-settings-email-phone-verification.title)する先の属性、メールアドレス、または電話番号。

[ポリシー](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Policies)  
ユーザープールの[パスワードポリシー](managing-users-passwords.md#user-pool-settings-policies.title)。

[Schema](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Schema)  
ユーザープールの[カスタム属性](user-pool-settings-attributes.md#user-pool-settings-custom-attributes.title)。イミュータブルなカスタム属性の値を設定できるのはユーザーの初回作成時のみであるため、カスタム属性はユーザーの作成とサインアップのプロセスにとって重要です。**  
このパラメータでは、ユーザープールの必須の属性も設定します。次のテキストを API リクエスト本文全体の `Schema` 要素に挿入すると、`email` 属性が必要に応じて設定されます。  

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

------