

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

# 设置亚马逊 Cognito 用户
<a name="setting-up-cognito-users"></a>

研究与工程工作室 (RES) 允许您将 Amazon Cognito 设置为本机用户目录。这允许用户使用 Amazon Cognito 用户身份登录门户网站和 Linux-based VDI。管理员可以使用 AWS 控制台中的 csv 文件将多个用户导入用户池。有关批量用户导入的更多详情，请参阅 *Amazon Cognito 开发者*指南中的[从 CSV 文件将用户导入用户池](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-using-import-tool.html)。RES 支持同时使用 Amazon Cognito-based 原生用户目录和 SSO。

## 管理设置
<a name="setting-up-cognito-users-admin"></a>

**作为 RES 管理员，要将 RES 环境配置为使用 Amazon Cognito 作为用户目录，请在**身份**管理页面上切换**使用 Amazon Cognito 作为用户**目录按钮，该页面可从 “环境管理” 页面访问。**要允许用户自行注册，请在同一页面上切换**用户自助注册**按钮。

![显示 cognito 目录设置的身份管理页面](http://docs.aws.amazon.com/zh_cn/res/latest/ug/images/id-management-cognito-directory.png)


## 用户 up/sign 登录流程
<a name="setting-up-cognito-users-user-signin"></a>

如果启用了**用户自助注册**，则可以向用户提供您的 Web 应用程序的 URL。在那里，用户会找到一个选项，上面写着 “**还不是用户？” 在这里注册**。

![用户登录页面，可选择自行注册](http://docs.aws.amazon.com/zh_cn/res/latest/ug/images/user-sign-up.png)


## 注册流程
<a name="setting-up-cognito-users-signup"></a>

选择 “**还不是用户” 的用户？ 在此处注册**将被要求输入他们的电子邮件和密码以创建帐户。

![为用户自行注册创建账户页面](http://docs.aws.amazon.com/zh_cn/res/latest/ug/images/create-account.png)


作为注册流程的一部分，系统将要求用户输入电子邮件中收到的验证码以完成注册过程。

![验证码输入页面](http://docs.aws.amazon.com/zh_cn/res/latest/ug/images/verify-email.png)


如果禁用了自助注册，用户将看不到注册链接。管理员必须在 RES 之外的 Amazon Cognito 中配置用户。（请参阅 *Amazon Cognito 开发者指南*中的以[管理员身份创建用户账户](https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-create-user-accounts.html)。）

![验证码输入页面](http://docs.aws.amazon.com/zh_cn/res/latest/ug/images/user-sign-in.png)


## 登录页面选项
<a name="setting-up-cognito-users-login"></a>

如果同时启用 SSO 和 Amazon Cognito，则会出现一个**使用组织 SSO 登录的**选项。当用户单击该选项时，它会将他们重新定向到其 SSO 登录页面。默认情况下，如果启用 Amazon Cognito，则用户将使用 Amazon Cognito 进行身份验证。

![用户登录页面，提供注册、验证账户或使用组织 SSO 登录的选项](http://docs.aws.amazon.com/zh_cn/res/latest/ug/images/org-sso-sign-in.png)


## 约束
<a name="setting-up-cognito-users-constraints"></a>
+ 您的 Amazon Cognito **群组名称**最多可以包含六个字母；只接受小写字母。
+ Amazon Cognito 注册不允许使用两个用户名相同但域名不同的电子邮件地址。
+ 如果同时启用 Active Directory 和 Amazon Cognito，并且系统检测到用户名重复，则只允许活动目录用户进行身份验证。管理员应采取措施避免在 Amazon Cognito 及其活动目录之间配置重复的用户名。
+ 由于 RES 不支持 Window Windows-based s 实例的亚马逊 Cognito-based 身份验证，因此不允许 Cognito 用户启动 VDI。

## Amazon Cognito 用户的管理员组
<a name="admin-group-cognito-users-sync"></a>

默认情况下，RES 授予`admins`组内的 Cognito 用户管理员权限。要将用户添加到 Cognito `admins` 群组，请执行以下操作：

1. 导航到 [Amazon Cognito 控制台](https://console.aws.amazon.com/cognito/home)，然后选择用于 RES 的现有用户池。

1. 导航到 “**用户管理**” 下的 “**群组**”，然后选择 “**创建群组”。**

1. 在**创建群组**页面的群**组名称中，**输入`admins`。

1. 选择您创建的`admins`群组，然后选择**将用户添加到群组以**添加 Cognito 用户。

1. 按照以下步骤手动启动 Cognito 同步。[同步](#setting-up-cognito-users-sync)

成功同步 Amazon Cognito 后，添加到`admins`群组的用户将获得管理员权限。

## 同步
<a name="setting-up-cognito-users-sync"></a>

RES 每小时都会将其数据库与 Amazon Cognito 中的用户和群组信息同步。任何属于 “管理员” 组的用户都将在其 VDI 中获得 sudo 权限。

您也可以从 Lambda 控制台手动启动同步。

**手动启动同步过程：**

1. 打开 [Lambda 控制台](https://console.aws.amazon.com/lambda)。

1. 搜索 Cognito 同步 Lambda。此 Lambda 遵循以下命名约定:. `{{{RES_ENVIRONMENT_NAME}}}_cognito-sync-lambda` 

1. 选择 “**测试**”。

1. 在**测试事件**部分中，选择右上角的**测试**按钮。事件正文格式无关紧要。

## Cognito 的安全注意事项
<a name="setting-up-cognito-users-security"></a>

在 2024.12 版本之前，默认启用了作为 Amazon Cognito Plus 计划功能一部分的[用户活动记录](https://docs.aws.amazon.com/cognito/latest/developerguide/feature-plans-features-plus.html)。此功能已从基准部署中删除，以便为想要试用 RES 的客户节省成本。您可以根据需要重新启用此功能，以与贵组织的云安全设置保持一致。