Create User Pool
cognitoidentityprovider_create_user_pool | R Documentation |
This action might generate an SMS text message¶
Description¶
This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.
If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Services service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode , you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.
Creates a new Amazon Cognito user pool. This operation sets basic and
advanced configuration options. You can create a user pool in the Amazon
Cognito console to your preferences and use the output of
describe_user_pool
to generate requests from that baseline.
If you don't provide a value for an attribute, Amazon Cognito sets it to its default value.
Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.
Learn more
Usage¶
cognitoidentityprovider_create_user_pool(PoolName, Policies,
DeletionProtection, LambdaConfig, AutoVerifiedAttributes,
AliasAttributes, UsernameAttributes, SmsVerificationMessage,
EmailVerificationMessage, EmailVerificationSubject,
VerificationMessageTemplate, SmsAuthenticationMessage, MfaConfiguration,
UserAttributeUpdateSettings, DeviceConfiguration, EmailConfiguration,
SmsConfiguration, UserPoolTags, AdminCreateUserConfig, Schema,
UserPoolAddOns, UsernameConfiguration, AccountRecoverySetting,
UserPoolTier)
Arguments¶
PoolName |
[required] A friendlhy name for your user pool. |
Policies |
The password policy and sign-in policy in the user pool. The password policy sets options like password complexity requirements and password history. The sign-in policy sets the options available to applications in choice-based authentication. |
DeletionProtection |
When active, When you try to delete a protected user pool in a
|
LambdaConfig |
A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them. |
AutoVerifiedAttributes |
The attributes that you want your user pool to automatically verify. Possible values: email, phone_number. For more information see Verifying contact information at sign-up. |
AliasAttributes |
Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username. For more information about alias attributes, see Customizing sign-in attributes. |
UsernameAttributes |
Specifies whether a user can use an email address or phone number as a username when they sign up. For more information, see Customizing sign-in attributes. |
SmsVerificationMessage |
This parameter is no longer used. See VerificationMessageTemplateType. |
EmailVerificationMessage |
This parameter is no longer used. See VerificationMessageTemplateType. |
EmailVerificationSubject |
This parameter is no longer used. See VerificationMessageTemplateType. |
VerificationMessageTemplate |
The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. Set the email message type that corresponds to your
|
SmsAuthenticationMessage |
A string representing the SMS authentication message. |
MfaConfiguration |
Sets multi-factor authentication (MFA) to be on, off, or
optional. When |
UserAttributeUpdateSettings |
The settings for updates to user attributes. These settings
include the property
|
DeviceConfiguration |
The device-remembering configuration for a user pool. Device remembering or device tracking is a "Remember me on this device" option for user pools that perform authentication with the device key of a trusted device in the back end, instead of a user-provided MFA code. For more information about device authentication, see Working with user devices in your user pool. A null value indicates that you have deactivated device remembering in your user pool. When you provide a value for any |
EmailConfiguration |
The email configuration of your user pool. The email configuration type sets your preferred sending method, Amazon Web Services Region, and sender for messages from your user pool. |
SmsConfiguration |
The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your Amazon Web Services account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the Amazon Web Services Region that you want, the Amazon Cognito user pool uses an Identity and Access Management (IAM) role in your Amazon Web Services account. For more information see SMS message settings. |
UserPoolTags |
The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria. |
AdminCreateUserConfig |
The configuration for |
Schema |
An array of attributes for the new user pool. You can add custom attributes and modify the properties of default attributes. The specifications in this parameter set the required attributes in your user pool. For more information, see Working with user attributes. |
UserPoolAddOns |
User pool add-ons. Contains settings for activation of advanced
security features. To log user security information but take no action,
set to For more information, see Adding advanced security to a user pool. |
UsernameConfiguration |
Sets the case sensitivity option for sign-in usernames. When
When This configuration is immutable after you set it. |
AccountRecoverySetting |
The available verified method a user can use to recover their
password when they call |
UserPoolTier |
The user pool feature
plan, or tier. This parameter determines the eligibility of the user
pool for features like managed login, access-token customization, and
threat protection. Defaults to |
Value¶
A list with the following syntax:
list(
UserPool = list(
Id = "string",
Name = "string",
Policies = list(
PasswordPolicy = list(
MinimumLength = 123,
RequireUppercase = TRUE|FALSE,
RequireLowercase = TRUE|FALSE,
RequireNumbers = TRUE|FALSE,
RequireSymbols = TRUE|FALSE,
PasswordHistorySize = 123,
TemporaryPasswordValidityDays = 123
),
SignInPolicy = list(
AllowedFirstAuthFactors = list(
"PASSWORD"|"EMAIL_OTP"|"SMS_OTP"|"WEB_AUTHN"
)
)
),
DeletionProtection = "ACTIVE"|"INACTIVE",
LambdaConfig = list(
PreSignUp = "string",
CustomMessage = "string",
PostConfirmation = "string",
PreAuthentication = "string",
PostAuthentication = "string",
DefineAuthChallenge = "string",
CreateAuthChallenge = "string",
VerifyAuthChallengeResponse = "string",
PreTokenGeneration = "string",
UserMigration = "string",
PreTokenGenerationConfig = list(
LambdaVersion = "V1_0"|"V2_0",
LambdaArn = "string"
),
CustomSMSSender = list(
LambdaVersion = "V1_0",
LambdaArn = "string"
),
CustomEmailSender = list(
LambdaVersion = "V1_0",
LambdaArn = "string"
),
KMSKeyID = "string"
),
Status = "Enabled"|"Disabled",
LastModifiedDate = as.POSIXct(
"2015-01-01"
),
CreationDate = as.POSIXct(
"2015-01-01"
),
SchemaAttributes = list(
list(
Name = "string",
AttributeDataType = "String"|"Number"|"DateTime"|"Boolean",
DeveloperOnlyAttribute = TRUE|FALSE,
Mutable = TRUE|FALSE,
Required = TRUE|FALSE,
NumberAttributeConstraints = list(
MinValue = "string",
MaxValue = "string"
),
StringAttributeConstraints = list(
MinLength = "string",
MaxLength = "string"
)
)
),
AutoVerifiedAttributes = list(
"phone_number"|"email"
),
AliasAttributes = list(
"phone_number"|"email"|"preferred_username"
),
UsernameAttributes = list(
"phone_number"|"email"
),
SmsVerificationMessage = "string",
EmailVerificationMessage = "string",
EmailVerificationSubject = "string",
VerificationMessageTemplate = list(
SmsMessage = "string",
EmailMessage = "string",
EmailSubject = "string",
EmailMessageByLink = "string",
EmailSubjectByLink = "string",
DefaultEmailOption = "CONFIRM_WITH_LINK"|"CONFIRM_WITH_CODE"
),
SmsAuthenticationMessage = "string",
UserAttributeUpdateSettings = list(
AttributesRequireVerificationBeforeUpdate = list(
"phone_number"|"email"
)
),
MfaConfiguration = "OFF"|"ON"|"OPTIONAL",
DeviceConfiguration = list(
ChallengeRequiredOnNewDevice = TRUE|FALSE,
DeviceOnlyRememberedOnUserPrompt = TRUE|FALSE
),
EstimatedNumberOfUsers = 123,
EmailConfiguration = list(
SourceArn = "string",
ReplyToEmailAddress = "string",
EmailSendingAccount = "COGNITO_DEFAULT"|"DEVELOPER",
From = "string",
ConfigurationSet = "string"
),
SmsConfiguration = list(
SnsCallerArn = "string",
ExternalId = "string",
SnsRegion = "string"
),
UserPoolTags = list(
"string"
),
SmsConfigurationFailure = "string",
EmailConfigurationFailure = "string",
Domain = "string",
CustomDomain = "string",
AdminCreateUserConfig = list(
AllowAdminCreateUserOnly = TRUE|FALSE,
UnusedAccountValidityDays = 123,
InviteMessageTemplate = list(
SMSMessage = "string",
EmailMessage = "string",
EmailSubject = "string"
)
),
UserPoolAddOns = list(
AdvancedSecurityMode = "OFF"|"AUDIT"|"ENFORCED",
AdvancedSecurityAdditionalFlows = list(
CustomAuthMode = "AUDIT"|"ENFORCED"
)
),
UsernameConfiguration = list(
CaseSensitive = TRUE|FALSE
),
Arn = "string",
AccountRecoverySetting = list(
RecoveryMechanisms = list(
list(
Priority = 123,
Name = "verified_email"|"verified_phone_number"|"admin_only"
)
)
),
UserPoolTier = "LITE"|"ESSENTIALS"|"PLUS"
)
)
Request syntax¶
svc$create_user_pool(
PoolName = "string",
Policies = list(
PasswordPolicy = list(
MinimumLength = 123,
RequireUppercase = TRUE|FALSE,
RequireLowercase = TRUE|FALSE,
RequireNumbers = TRUE|FALSE,
RequireSymbols = TRUE|FALSE,
PasswordHistorySize = 123,
TemporaryPasswordValidityDays = 123
),
SignInPolicy = list(
AllowedFirstAuthFactors = list(
"PASSWORD"|"EMAIL_OTP"|"SMS_OTP"|"WEB_AUTHN"
)
)
),
DeletionProtection = "ACTIVE"|"INACTIVE",
LambdaConfig = list(
PreSignUp = "string",
CustomMessage = "string",
PostConfirmation = "string",
PreAuthentication = "string",
PostAuthentication = "string",
DefineAuthChallenge = "string",
CreateAuthChallenge = "string",
VerifyAuthChallengeResponse = "string",
PreTokenGeneration = "string",
UserMigration = "string",
PreTokenGenerationConfig = list(
LambdaVersion = "V1_0"|"V2_0",
LambdaArn = "string"
),
CustomSMSSender = list(
LambdaVersion = "V1_0",
LambdaArn = "string"
),
CustomEmailSender = list(
LambdaVersion = "V1_0",
LambdaArn = "string"
),
KMSKeyID = "string"
),
AutoVerifiedAttributes = list(
"phone_number"|"email"
),
AliasAttributes = list(
"phone_number"|"email"|"preferred_username"
),
UsernameAttributes = list(
"phone_number"|"email"
),
SmsVerificationMessage = "string",
EmailVerificationMessage = "string",
EmailVerificationSubject = "string",
VerificationMessageTemplate = list(
SmsMessage = "string",
EmailMessage = "string",
EmailSubject = "string",
EmailMessageByLink = "string",
EmailSubjectByLink = "string",
DefaultEmailOption = "CONFIRM_WITH_LINK"|"CONFIRM_WITH_CODE"
),
SmsAuthenticationMessage = "string",
MfaConfiguration = "OFF"|"ON"|"OPTIONAL",
UserAttributeUpdateSettings = list(
AttributesRequireVerificationBeforeUpdate = list(
"phone_number"|"email"
)
),
DeviceConfiguration = list(
ChallengeRequiredOnNewDevice = TRUE|FALSE,
DeviceOnlyRememberedOnUserPrompt = TRUE|FALSE
),
EmailConfiguration = list(
SourceArn = "string",
ReplyToEmailAddress = "string",
EmailSendingAccount = "COGNITO_DEFAULT"|"DEVELOPER",
From = "string",
ConfigurationSet = "string"
),
SmsConfiguration = list(
SnsCallerArn = "string",
ExternalId = "string",
SnsRegion = "string"
),
UserPoolTags = list(
"string"
),
AdminCreateUserConfig = list(
AllowAdminCreateUserOnly = TRUE|FALSE,
UnusedAccountValidityDays = 123,
InviteMessageTemplate = list(
SMSMessage = "string",
EmailMessage = "string",
EmailSubject = "string"
)
),
Schema = list(
list(
Name = "string",
AttributeDataType = "String"|"Number"|"DateTime"|"Boolean",
DeveloperOnlyAttribute = TRUE|FALSE,
Mutable = TRUE|FALSE,
Required = TRUE|FALSE,
NumberAttributeConstraints = list(
MinValue = "string",
MaxValue = "string"
),
StringAttributeConstraints = list(
MinLength = "string",
MaxLength = "string"
)
)
),
UserPoolAddOns = list(
AdvancedSecurityMode = "OFF"|"AUDIT"|"ENFORCED",
AdvancedSecurityAdditionalFlows = list(
CustomAuthMode = "AUDIT"|"ENFORCED"
)
),
UsernameConfiguration = list(
CaseSensitive = TRUE|FALSE
),
AccountRecoverySetting = list(
RecoveryMechanisms = list(
list(
Priority = 123,
Name = "verified_email"|"verified_phone_number"|"admin_only"
)
)
),
UserPoolTier = "LITE"|"ESSENTIALS"|"PLUS"
)