以管理员身份创建用户账户 - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以管理员身份创建用户账户

用户池不仅是客户身份和访问管理 (CIAM) 用户目录,互联网上的任何人都可以在您的应用程序中注册用户配置文件。您可以禁用自助注册。你可能已经认识你的客户,只想接纳那些事先获得授权的客户。您可以通过私有 SAML 2.0 或OIDC身份提供商、导入用户、在注册时筛选用户或通过管理操作创建用户,在应用程序周围设置手动身份验证防护栏。API您的用户管理创建工作流程可以是编程的,即在用户在其他系统中注册后对其进行配置,也可以在 Amazon Cognito 控制台中进行 case-by-case或测试。

当您以管理员身份创建用户时,Amazon Cognito 会为他们设置临时密码并发送欢迎或邀请消息。他们可以点击邀请消息中的链接进行首次登录、设置密码并确认其帐户。接下来的页面描述了如何创建新用户和配置欢迎消息。有关使用用户池API和 AWS SDK或创建用户的更多信息CDK,请参阅AdminCreateUser

创建用户池后,您可以使用 AWS Management Console、以及 AWS Command Line Interface 或 Amazon Cognito API 创建用户。您可以在用户池中为新用户创建个人资料,并通过SMS或电子邮件向该用户发送包含注册说明的欢迎消息。

开发人员和管理员可以执行以下任务:

  • 使用 AWS Management Console 或调用,创建新的用户配置文件AdminCreateUserAPI。

  • 设置用户属性值。

  • 创建自定义属性。

  • 在请求中设置不可变的自定义属性的AdminCreateUserAPI值。此功能在 Amazon Cognito 控制台中不可用。

  • 指定临时密码或允许 Amazon Cognito 自动生成一个密码。

  • 指定是否将提供的电子邮件地址和电话号码标记已针对新用户进行验证。

  • 通过 AWS Management Console 或自定义消息 Lambda 触发器为新用户指定自定义SMS和电子邮件邀请消息。有关更多信息,请参阅 使用 Lambda 触发器自定义用户池工作流

  • 指定邀请消息是通过电子邮件发送SMS,还是两者兼而有之。

  • 通过调用,指定RESENDMessageAction参数,向现有用户重新发送欢迎消息。AdminCreateUser API

    注意

    目前,无法使用 AWS Management Console执行此操作。

  • 创建用户时禁止发送邀请消息。

  • 为用户账户指定到期时间限制(最多 90 天)。

  • 允许用户自行注册或要求只能由管理员添加新用户。

针对由管理员或开发人员创建的用户的身份验证流程

针对这些用户的身份验证流程包括提交新密码并提供必须属性的任何缺失值的额外步骤。下面列出了相关步骤;步骤 5、6 和 7 特定于这些用户。

  1. 用户通过提交其用户名和密码首次开始登录。

  2. 这些SDK电话InitiateAuth(Username, USER_SRP_AUTH)

  3. Amazon Cognito 返回具有加密盐和私有密钥块的 PASSWORD_VERIFIER 质询。

  4. SDK执行SRP计算和调用RespondToAuthChallenge(Username, <SRP variables>, PASSWORD_VERIFIER)

  5. Amazon Cognito 返回 NEW_PASSWORD_REQUIRED 质询。此质询的主体包括用户的当前属性,以及用户池中当前在用户配置文件中没有值的任何必需属性。有关更多信息,请参阅RespondToAuthChallenge

  6. 系统提示用户输入新密码和必需属性的任何缺失值。

  7. 这些SDK电话RespondToAuthChallenge(Username, <New password>, <User attributes>)

  8. 如果用户需要第二个因子MFA,Amazon Cognito 会返回 SMS _ MFA 质询并提交代码。

  9. 在用户成功更改密码并选择提供属性值或完成密码后MFA,用户将登录并发放令牌。

用户满足所有质询后,Amazon Cognito 服务会将用户标记为已确认,并为用户发出 ID 令牌、访问令牌和刷新令牌。有关更多信息,请参阅 了解用户池 JSON Web 令牌 (JWTs)

在 AWS Management Console中创建新用户

您可以设置用户密码要求、配置发送给用户的邀请和验证消息,以及使用 Amazon Cognito 控制台添加新用户。

设置密码策略并启用自行注册

您可以配置设置以最大限度地降低密码复杂性,以及用户是否可以在您的用户池APIs中使用公共方式进行注册。

配置密码策略
  1. 导航到 Amazon Cognito 控制台,选择用户池

  2. 从列表中选择一个现有用户池,或创建一个用户池

  3. 选择登录体验选项卡,然后查找密码策略。选择编辑

  4. 选择自定义密码策略模式

  5. 选择密码最小长度。有关密码长度要求的限制,请参阅用户池资源配额

  6. 选择密码复杂性要求。

  7. 选择管理员设置的密码应在多长时间内有效。

  8. 选择保存更改

允许自助注册
  1. 导航到 Amazon Cognito 控制台,选择用户池

  2. 从列表中选择一个现有用户池,或创建一个用户池

  3. 选择注册体验选项卡,然后查找自助注册。选择编辑

  4. 选择是否启用自助注册。自助注册通常用于需要在不分发客户端密钥或 AWS Identity and Access Management (IAM) API 凭据的情况下在用户池中注册新用户的公共应用程序客户端。

    禁用自助注册

    如果您未启用自助注册,则必须使用IAMAPI凭证通过管理API操作或使用联合提供商登录来创建新用户。

  5. 选择 Save changes(保存更改)

自定义电子邮件和SMS消息

自定义用户消息

您可以自定义 Amazon Cognito 在邀请用户登录、用户注册用户账户或登录并被提示进行多重身份验证()时向他们发送的消息。MFA

注意

当您在用户池中创建用户并邀请他们登录时将发送邀请消息。Amazon Cognito 将初始登录信息发送到用户的电子邮件地址或电话号码。

当用户在您的用户池中注册用户账户时将发送验证消息。Amazon Cognito 向用户发送代码。当用户向 Amazon Cognito 提供代码时,他们会验证自己的联系人信息并确认自己的账户以进行登录。验证代码的有效期为 24 小时。

当您在用户池SMSMFA中启用时,系统会发送MFA一条消息,并且已配置SMSMFA登录并提示用户登录MFA。

  1. 导航到 Amazon Cognito 控制台,选择用户池

  2. 从列表中选择一个现有用户池,或创建一个用户池

  3. 选择消息收发选项卡,然后查找消息模板。选择验证消息邀请消息MFA消息,然后选择编辑

  4. 自定义所选消息类型的消息。

    注意

    自定义消息时,必须包括消息模板中的所有变量。如果变量(例如,{####})不包括在内,您的用户将没有足够的信息来完成消息操作。

    有关更多信息,请参阅消息模板

    1. 验证消息

      1. 选择用于电子邮件消息的验证类型代码验证将发送用户必须输入的数字代码。链接验证将发送一个链接,用户可以点击该链接以验证其联系人信息。用于链接消息变量中的文本显示为超链接文本。例如,使用变量 {##Click here##} 的消息模板在电子邮件中显示为单击此处

      2. 输入用于电子邮件消息的电子邮件主题

      3. 输入用于电子邮件消息的自定义电子邮件消息模板。您可以使用自定义此模板HTML。

      4. 输入SMS消息的自定义SMS消息模板。

      5. 选择 Save changes(保存更改)

    2. 邀请消息

      1. 输入用于电子邮件消息的电子邮件主题

      2. 输入用于电子邮件消息的自定义电子邮件消息模板。您可以使用自定义此模板HTML。

      3. 输入SMS消息的自定义SMS消息模板。

      4. 选择 Save changes(保存更改)

    3. MFA消息

      1. 输入SMS消息的自定义SMS消息模板。

      2. 选择 Save changes(保存更改)

创建用户

创建用户

您可以从 Amazon Cognito 控制台为用户池创建新用户。通常,用户可以在设置密码后登录。要使用电子邮件地址登录,用户必须验证 email 属性。要使用电话号码登录,用户必须验证 phone_number 属性。要以管理员身份确认帐户,您还可以使用 AWS CLI 或API,或者使用联合身份提供商创建用户配置文件。有关更多信息,请参阅 Amazon Cognito API 参考文档。

  1. 导航到 Amazon Cognito 控制台,选择用户池

  2. 从列表中选择一个现有用户池,或创建一个用户池

  3. 选择用户选项卡,然后选择创建用户

  4. 检查用户池登录和安全要求以获取有关密码要求、可用的账户恢复方法和用户池的别名属性的指导。

  5. 选择您希望如何发送邀请消息。选择 “SMS消息”、“电子邮件” 或 “两者”。

    注意

    在您可以发送邀请消息之前,请在用户池的消息选项卡中使用 Amazon Simple Notification Service 和 Amazon Simple Email Service 配置发件人和 AWS 区域 。收件人消息和数据费率适用。亚马逊单独向您SES收取电子邮件费用,而亚马逊则单独向您SNS收取SMS邮件费用。

  6. 选择用于新用户的用户名

  7. 选择您是要为用户创建密码,还是让 Amazon Cognito 生成密码。任何临时密码都必须遵守用户池密码策略。

  8. 选择创建

  9. 选择用户选项卡,然后选择用户的用户名条目。添加和编辑用户属性组成员资格。查看用户事件历史记录