Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
以管理员身份创建用户账户
创建用户池之后,您可以使用Amazon Web Services Management Console以及 Amazon Command Line Interface 或 Amazon Cognito API 创建用户。您可以为用户池中的新用户创建配置文件,并通过 SMS 或电子邮件向用户发送带有注册说明的欢迎消息。
开发人员和管理员可以执行以下任务:
-
通过使用 Amazon Web Services Management Console或调用 AdminCreateUser
API 来创建新的用户配置文件。
-
指定临时密码或允许 Amazon Cognito 自动生成一个密码。
-
指定是否将提供的电子邮件地址和电话号码标记已针对新用户进行验证。
-
通过 Amazon Web Services Management Console或自定义消息 Lambda 触发器为新用户指定自定义 SMS 和电子邮件邀请消息。有关更多信息,请参阅使用 Lambda 触发器自定义用户池工作流。
-
指定是否通过 SMS、电子邮件或两者发送邀请消息。
-
通过调用 AdminCreateUser
API,并为 RESEND
参数指定 MessageAction
,向现有用户重新发送欢迎消息。
目前,无法使用 Amazon Web Services Management Console执行此操作。
-
创建用户时禁止发送邀请消息。
-
为用户账户指定到期时间限制(最多 90 天)。
-
允许用户自行注册或要求只能由管理员添加新用户。
针对由管理员或开发人员创建的用户的身份验证流程
针对这些用户的身份验证流程包括提交新密码并提供必须属性的任何缺失值的额外步骤。下面列出了相关步骤;步骤 5、6 和 7 特定于这些用户。
-
用户通过提交其用户名和密码首次开始登录。
-
开发工具包调用 InitiateAuth(Username, USER_SRP_AUTH)
。
-
Amazon Cognito 返回具有加密盐和私有密钥块的 PASSWORD_VERIFIER
质询。
-
开发工具包执行 SRP 计算并调用 RespondToAuthChallenge(Username,
<SRP variables>
, PASSWORD_VERIFIER)
。
-
Amazon Cognito 返回 NEW_PASSWORD_REQUIRED
质询。此质询的主体包括用户的当前属性,以及用户池中当前在用户配置文件中没有值的任何必需属性。有关更多信息,请参阅 RespondToAuthChallenge。
-
系统提示用户输入新密码和必需属性的任何缺失值。
-
开发工具包调用 RespondToAuthChallenge(Username, <New
password>
, <User
attributes>
)
。
-
如果用户需要 MFA 的第二安全要素,则 Amazon Cognito 将返回 SMS_MFA 质询并提交代码。
-
用户成功更改自己的密码并选择性地提供属性值或完成 MFA 之后,用户将登录,并且系统将发出令牌。
用户满足所有质询后,Amazon Cognito 服务会将用户标记为已确认,并为用户发出 ID 令牌、访问令牌和刷新令牌。有关更多信息,请参阅将令牌与用户池结合使用。
在 Amazon Web Services Management Console 中创建新用户
您可以设置用户密码要求、配置发送给用户的邀请和验证消息,以及使用 Amazon Cognito 控制台添加新用户。
设置密码策略并启用自行注册
- Original console
-
Policies(策略)选项卡包含以下相关设置:
- New console
-
您可以配置设置来降低密码复杂性,以及用户是否可以在用户池中使用公有 API 进行注册。
配置密码策略
-
导航到 Amazon Cognito 控制台,选择 User Pools(用户池)。
-
从列表中选择一个现有用户池,或创建一个用户池。
-
选择 Sign-in experience(登录体验)选项卡,然后查找 Password policy(密码策略)。选择 Edit(编辑)。
-
选择 Custom(自定义)的 Password policy mode(密码策略模式)。
-
选择 Password minimum length(密码最小长度)。有关密码长度要求的限制,请参阅用户池资源配额。
-
选择 Password complexity(密码复杂性)要求。
-
选择管理员设置的密码应在多长时间内有效。
-
选择 Save changes(保存更改)。
允许自助注册
-
导航到 Amazon Cognito 控制台,选择 User Pools(用户池)。
-
从列表中选择一个现有用户池,或创建一个用户池。
-
选择 Sign-up experience(注册体验)选项卡,然后查找 Self-service sign-up(自助注册)。选择 Edit(编辑)。
-
选择是否 Enable self-registration(启用自助注册)。自助注册通常用于需要在用户池中注册新用户而不分发客户端密钥或 Amazon Identity and Access Management (IAM) API 凭证的公有应用程序客户端。
如果您不启用自助注册,则必须通过使用 IAM API 凭证的管理 API 操作或通过联合提供商登录来创建新用户。
-
选择 Save changes(保存更改)。
自定义电子邮件和 SMS 消息
- Original console
-
Message Customizations(消息自定义)选项卡包含用于指定自定义电子邮件验证和用户邀请消息的模板。
对于电子邮件验证消息或用户邀请消息,消息的最大长度为 2048 个 UTF-8 字符,包括验证代码或临时密码。对于 SMS 验证消息或用户邀请消息,消息的最大长度为 140 个 UTF-8 字符,包括验证代码或临时密码。
验证代码的有效期为 24 小时。
- New console
-
自定义用户消息
当您邀请用户登录、注册用户账户或登录并提示用户进行多重身份验证(MFA)时,您可以自定义 Amazon Cognito 发送给用户的消息。
当您在用户池中创建用户并邀请他们登录时将发送 Invitation message(邀请消息)。Amazon Cognito 将初始登录信息发送到用户的电子邮件地址或电话号码。
当用户在您的用户池中注册用户账户时将发送 Verification message(验证消息)。Amazon Cognito 向用户发送代码。当用户向 Amazon Cognito 提供代码时,他们会验证自己的联系人信息并确认自己的账户以进行登录。验证代码的有效期为 24 小时。
当您在用户池中启用 SMS MFA,并且已配置 SMS MFA 的用户登录并提示输入 MFA 时,将发送 MFA message(MFA 消息)。
-
导航到 Amazon Cognito 控制台,选择 User Pools(用户池)。
-
从列表中选择一个现有用户池,或创建一个用户池。
-
选择 Messaging(消息收发)选项卡,然后查找 Message templates(消息模板)。选择 Verification messages(验证消息)、Invitation messages(邀请消息)或 MFA messages(MFA 消息),然后选择 Edit(编辑)。
-
自定义所选消息类型的消息。
自定义消息时,必须包括消息模板中的所有变量。如果变量(例如,{####})不包括在内,您的用户将没有足够的信息来完成消息操作。
有关更多信息,请参阅消息模板。
-
-
Verification messages(验证消息)
-
选择用于 Email(电子邮件)消息的 Verification type(验证类型)。Code(代码)验证将发送用户必须输入的数字代码。Link(链接)验证将发送一个链接,用户可以点击该链接以验证其联系人信息。用于 Link(链接)消息变量中的文本显示为超链接文本。例如,使用变量 {##Click here##} 的消息模板在电子邮件中显示为单击此处。
-
输入用于 Email(电子邮件)消息的 Email subject(电子邮件主题)。
-
输入用于 Email(电子邮件)消息的自定义 Email message(电子邮件消息)模板。您可以使用 HTML 自定义此模板。
-
输入用于 SMS 消息的自定义 SMS message(SMS 消息)模板。
-
选择 Save changes(保存更改)。
-
Invitation messages(邀请消息)
-
输入用于 Email(电子邮件)消息的 Email subject(电子邮件主题)。
-
输入用于 Email(电子邮件)消息的自定义 Email message(电子邮件消息)模板。您可以使用 HTML 自定义此模板。
-
输入用于 SMS 消息的自定义 SMS message(SMS 消息)模板。
-
选择 Save changes(保存更改)。
-
MFA messages(MFA 消息)
-
输入用于 SMS 消息的自定义 SMS message(SMS 消息)模板。
-
选择 Save changes(保存更改)。
创建用户
- Original console
-
Users and groups(用户和组)选项卡中的 Users(用户)选项卡具有一个 Create user(创建用户)按钮。
选择 Create user(创建用户)后,系统将会显示一个 Create user(创建用户)对话框,在此对话框中可以输入关于新用户的信息。仅 Username(用户名)字段为必填字段。
对于您在 中使用 Create userAmazon Web Services Management Console(创建用户)表单创建的用户账户,只能在 Amazon Web Services Management Console中设置表单中显示的属性。其他属性必须使用 Amazon Command Line Interface 或 Amazon Cognito API 进行设置,即使您已将它们标记为必需属性。
- New console
-
创建用户
您可以从 Amazon Cognito 控制台为用户池创建新用户。通常,用户可以在设置密码后登录。要使用电子邮件地址登录,用户必须验证 email
属性。要使用电话号码登录,用户必须验证 phone_number
属性。要以管理员身份确认账户,您还可以使用 Amazon CLI 或 API 或者使用联合身份提供商创建用户配置文件。有关更多信息,请参阅 Amazon Cognito API 参考。
-
导航到 Amazon Cognito 控制台,选择 User Pools(用户池)。
-
从列表中选择一个现有用户池,或创建一个用户池。
-
选择 Users(用户)选项卡,然后选择 Create user(创建用户)。
-
检查 User pool sign-in and security requirements(用户池登录和安全要求)以获取有关密码要求、可用的账户恢复方法和用户池的别名属性的指导。
-
选择您希望如何发送 Invitation message(邀请消息)。选择 SMS 消息和/或电子邮件消息。
在您可以发送邀请消息之前,请在用户池的 Messaging(消息)选项卡中使用 Amazon Simple Notification Service 和 Amazon Simple Email Service 配置发件人和 Amazon Web Services 区域。收件人消息和数据费率适用。Amazon SES 单独向您收取电子邮件消息费用,Amazon SNS 单独向您收取 SMS 消息费用。
-
选择用于新用户的 Username(用户名)。
-
选择您是要为用户 Create a password(创建密码),还是让 Amazon Cognito Generate a password(生成密码)。任何临时密码都必须遵守用户池密码策略。
-
选择 Create(创建)。
-
选择 Users(用户)选项卡,然后选择用户的 User name(用户名)条目。添加和编辑 User attributes(用户属性)和 Group memberships(组成员资格)。查看 User event history(用户事件历史记录)。