AWS::Cognito::UserPoolUser - AWS CloudFormation

AWS::Cognito::UserPoolUser

AWS::Cognito::UserPoolUser リソースによって、Amazon Cognito ユーザープールユーザーが作成されます。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::Cognito::UserPoolUser", "Properties" : { "ClientMetadata" : Json, "DesiredDeliveryMediums" : [ String, ... ], "ForceAliasCreation" : Boolean, "MessageAction" : String, "UserAttributes" : [ AttributeType, ... ], "Username" : String, "UserPoolId" : String, "ValidationData" : [ AttributeType, ... ] } }

YAML

Type: AWS::Cognito::UserPoolUser Properties: ClientMetadata: Json DesiredDeliveryMediums: - String ForceAliasCreation: Boolean MessageAction: String UserAttributes: - AttributeType Username: String UserPoolId: String ValidationData: - AttributeType

プロパティ

ClientMetadata

サインアップ前トリガーによって呼び出されるカスタムワークフローの入力として指定できるカスタムのキーと値のペアのマップ。

カスタムワークフローを作成するには、AWS Lambda 関数をユーザープールトリガーに割り当てます。UserPoolUser リソースを作成して ClientMetadata プロパティを含めると、Amazon Cognito は、サインアップ前トリガーに割り当てられている関数を呼び出します。Amazon Cognito がこの関数を呼び出すと、JSON ペイロードが渡され、関数が入力として受け取ります。このペイロードには、ClientMetadata プロパティに割り当てたデータを提供する clientMetadata 属性が含まれています。AWS Lambda の関数コードでは、clientMetadata 値を処理して、特定のニーズに合わせてワークフローを拡張できます。

詳細については、Amazon Cognito 開発者ガイドの「AWS Lambda トリガーを使用したユーザープールワークフローのカスタマイズ」を参照してください。

注記

ClientMetadata パラメータを使用する場合は、次の制限事項を考慮してください。

  • Amazon Cognito は ClientMetadata 値を保存しません。このデータは、カスタムワークフローをサポートするためにユーザープールに割り当てられた AWS Lambda トリガーでのみ使用できます。ユーザープール設定にトリガーが含まれていない場合、ClientMetadata パラメータは何の意味もありません。

  • Amazon Cognito は、ClientMetadata 値を検証しません。

  • Amazon Cognito は ClientMetadata 値を暗号化しないため、機密情報を提供するために使用しないでください。

必須: いいえ

タイプ: Json

Update requires: Replacement

DesiredDeliveryMediums

E メールを使用してウェルカムメッセージを送信する場合は、"EMAIL" を指定します。電話番号が使用される場合は、"SMS" を指定します。デフォルト値は "SMS" です。複数の値を指定できます。

必須: いいえ

タイプ: 文字列のリスト

Update requires: Replacement

ForceAliasCreation

このパラメータは、phone_number_verified または email_verified 属性が True に設定されている場合にのみ使用されます。それ以外の場合は無視されます。

このパラメータを True に設定した場合、UserAttributes パラメータで指定した E メールアドレスまたは電話番号がすでに別のユーザーのエイリアスとして存在していると、API の呼び出しで以前のユーザーのエイリアスが新しく作成されたユーザーに移行されます。以前のユーザーはそのエイリアスを使用してログインできなくなります。

このパラメータが False に設定されており、エイリアスがすでに存在している場合、API は AliasExistsException エラーをスローします。デフォルト値は False です。

必須: いいえ

タイプ: ブール値

Update requires: Replacement

MessageAction

既存のユーザーに招待メッセージを再送信してそのユーザーのアカウントの有効期限をリセットするには、"RESEND" に設定します。メッセージの送信を抑止するには、"SUPPRESS" に設定します。1 つの値のみを指定できます。

必須: いいえ

タイプ: 文字列

許可された値: RESEND | SUPPRESS

Update requires: Replacement

UserAttributes

作成するユーザーに設定するユーザー属性と属性値。これらは名前と値のペアです。Username 以外の属性を指定せずにユーザーを作成できます。ただし、(https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html、またはコンソールの [属性] タブで) 自分で必須と指定した属性は、(AdminCreateUser の呼び出し時に) 自分で、または (ウェルカムメッセージに応答してサインアップする時に) ユーザーが指定する必要があります。

カスタム属性の場合、属性名に custom: プレフィックスを付加する必要があります。

ユーザーにサインアップを促すメッセージを送信するには、ユーザーのメールアドレスまたは電話番号を指定する必要があります。これは、AdminCreateUser の呼び出し、またはユーザープールを管理するための Amazon Cognito コンソールの [ユーザー] タブで実行できます。

AdminCreateUser への呼び出しで、email_verified 属性を True に設定し、phone_number_verified 属性を True に設定できます。(https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html を呼び出してこれを行うこともできます)

  • email: コードとユーザー名を含むメッセージが送信されるユーザーの E メールアドレス。email_verified 属性が True に設定されている場合、または DesiredDeliveryMediums パラメータで "EMAIL" が指定されている場合に必要です。

  • phone_number: コードとユーザー名を含むメッセージが送信されるユーザーの電話番号。phone_number_verified 属性が True に設定されている場合、または DesiredDeliveryMediums パラメータで "SMS" が指定されている場合に必要です。

必須: いいえ

タイプ: AttributeType のリスト

Update requires: Replacement

Username

ユーザーのユーザー名。ユーザープール内で一意である必要があります。1~128 文字の UTF-8 文字列である必要があります。ユーザーが作成されたら、ユーザー名を変更することはできません。

必須: いいえ

タイプ: 文字列

最小: 1

最大: 128

パターン: [\p{L}\p{M}\p{S}\p{N}\p{P}]+

Update requires: Replacement

UserPoolId

ユーザーが作成されるユーザープールの ID。

必須: はい

タイプ: 文字列

最小: 1

最大: 55

パターン: [\w-]+_[0-9a-zA-Z]+

Update requires: Replacement

ValidationData

ユーザーの検証データ。登録できるユーザーアカウントのタイプを制限するなどのカスタム検証に使用する、ユーザー属性と属性値が格納されている名前と値のペアの配列。たとえば、ユーザードメインに基づき、ユーザーのサインアップを許可または拒否することができます。

カスタム検証を設定するには、「Amazon Cognito 開発者ガイド」の説明に従って、ユーザープールのプレサインアップ Lambda トリガーを作成する必要があります。Lambda トリガーは検証データを受け取り、検証プロセスで使用します。

ユーザーの検証データは保持されません。

必須: いいえ

タイプ: AttributeType のリスト

Update requires: Replacement

戻り値

参照番号

ユーザーの名前 このリソースの論理 ID を組み込みの Ref 関数に渡すと、Ref は次を返します: 。例: admin

For more information about using the Ref function, see Ref.