常见 Amazon Cognito 术语和概念 - Amazon Cognito

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

常见 Amazon Cognito 术语和概念

Amazon Cognito 为 Web 和移动应用程序提供凭证。它借鉴身份和访问管理中的常见术语并在此基础上构建。有许多关于通用身份和访问管理术语的指南可供参考。部分示例包括:

以下列表说明了 Amazon Cognito 独有的术语或在 Amazon Cognito 中具有特定上下文的术语。

常规

此列表中的术语并非特定于 Amazon Cognito,而是在身份和访问管理从业人员中得到广泛认可的术语。以下并不是术语的详尽列表,而是关于这些术语在本指南中的特定 Amazon Cognito 上下文中的解释。

访问令牌

一个 JSON 网络令牌 (JWT),其中包含有关实体访问信息系统的授权的信息。

应用程序、应用程序

通常是一个移动应用程序。在本指南中,应用通常是连接到 Amazon Cognito 的 Web 应用程序或移动应用程序的简写。

基于属性的访问控制(ABAC)

一种模型,在这种模型中,应用程序根据用户的属性(例如其职位或部门)来确定对资源的访问权限。实施 ABAC 的 Amazon Cognito 工具包括用户池中的 ID 令牌和身份池中的主体标签

身份验证

为访问信息系统而建立真实身份的过程。Amazon Cognito 接受来自第三方身份提供商的身份验证证明,同时也为软件应用程序提供身份验证。

授权

向资源授予权限的过程。用户池访问令牌包含应用程序可用于允许用户和系统访问资源的信息。

授权服务器

生成 JSON 网络令牌的 OAuth 或 OpenID Connect (OIDC) 系统。Amazon Cognito 用户池托管授权服务器是用户池中两种身份验证和授权方法的授权服务器组件。用户池还支持 SDK 身份验证中的 API 质询-响应流程。

机密应用程序、服务器端应用程序

用户远程连接的应用程序,其代码位于应用程序服务器上,并且可以访问密钥。这通常是 Web 应用程序。

身份提供者(IdP)

一个存储和验证用户身份的服务。Amazon Cognito 可以向外部提供者请求身份验证,并可以成为应用程序的 IdP。

JSON Web 令牌(JWT)

一个 JSON 格式的文档,其中包含有关经过身份验证的用户的声明。ID 令牌对用户进行身份验证,访问令牌授权用户,刷新令牌更新凭证。Amazon Cognito从外部提供商那里接收令牌,并向应用程序发放令牌,或者. AWS STS

Machine-to-machine (M2M) 授权

授权向 non-user-interactive机器实体(例如 Web 服务器应用程序层)的 API 端点发出请求的过程。用户池在客户端凭证授予中提供 M2M 授权,访问令牌中的范围为 OAuth 2.0。

多重身份验证 (MFA)

要求用户在提供用户名和密码后提供额外的身份验证。Amazon Cognito 用户池具有本地用户的 MFA 特征。

OAuth 2.0(社交)提供商

用户池或身份池的 IdP,用于提供 JWT 访问令牌和刷新令牌。在用户进行身份验证后,Amazon Cognito 用户池自动与社交提供者进行交互。

OpenID Connect(OIDC)提供者

用户池或身份池的 IdP,用于扩展OAuth规范以提供 ID 令牌。在用户进行身份验证后,Amazon Cognito 用户池自动与 OIDC 提供者进行交互。

Passkey, WebAuthn

一种身份验证形式,用户设备上的加密密钥或密钥提供其身份验证证明。用户验证硬件或软件身份验证器中是否存在生物识别或 PIN 码机制。Passkeys 可以抵御网络钓鱼,并绑定到特定的网站/应用程序,从而提供安全的无密码体验。Amazon Cognito 用户池支持使用密钥登录。

无密码

一种用户无需输入密码的身份验证形式。无密码登录的方法包括发送到电子邮件地址和电话号码的一次性密码 (OTPs) 以及密钥。Amazon Cognito 用户池支持使用和密钥登录。 OTPs

公共应用程序

设备上的一个独立应用程序,其代码存储在本地,并且无法访问密钥。这通常是移动应用程序。

资源服务器

具有访问控制的 API。Amazon Cognito 用户池还使用资源服务器来描述组件,该组件定义了用于与 API 进行交互的配置。

基于角色的访问控制 (RBAC)

一个根据用户的职能名称授予访问权限的模型。Amazon Cognito 身份池通过区分 IAM 角色来实施 RBAC。

服务提供者(SP)、依赖方(RP)

依赖 IdP 来断言用户值得信赖的应用程序。Amazon Cognito 充当外部的 SP,对于基于应用程序的 IdP IdPs,则充当 IdP。 SPs

SAML 提供商

用户池或身份池的 IdP,用于生成经过数字签名的断言文档,您的用户会将该文档传递给 Amazon Cognito。

通用唯一标识符(UUID)

应用于对象的 128 位标签。Amazon Cognito UUIDs 在每个用户池或身份池中都是唯一的,但不符合特定的 UUID 格式。

用户目录

一组用户及其属性,可以向其他系统提供该信息。Amazon Cognito 用户池是用户目录,也是用于整合外部用户目录中用户的工具。

用户池

当您在本指南中看到以下列表中的术语时,它们指的是用户池的特定特征或配置。

自适应身份验证

一项高级安全特征,用于检测潜在的恶意活动并为用户配置文件增加额外的安全保护。

高级安全特征

一个可选组件,用于添加用户安全工具。

应用程序客户端

一个组件,用于将用户池的设置定义为一个应用程序的 IdP。

回调网址、重定向 URI、返回网址

应用程序客户端中的设置和对用户池授权服务器的请求中的参数。回调 URL 是您的应用程序中经过身份验证的用户的初始目的地。

基于选择的身份验证

一种使用用户池的 API 身份验证形式,其中每个用户都有一组可供他们选择的登录选项。他们的选择可能包括带或不带 MFA 的用户名和密码、密钥登录或使用电子邮件或短信一次性密码进行无密码登录。您的应用程序可以通过请求身份验证选项列表或声明首选选项来决定用户的选择流程。

请与基于客户端的身份验证进行比较。

基于客户端的身份验证

一种使用用户池 API 和应用程序后端构建的身份验证形式 AWS SDKs。在声明式身份验证中,您的应用程序独立确定用户应执行的登录类型,并预先请求该类型。

请与基于选择的身份验证进行比较。

已泄露的凭证

一项高级安全特征,用于检测攻击者可能知道的用户密码,并为用户配置文件增加额外的安全保护。

确认

一个过程,用于确定已满足先决条件,可允许新用户登录。通常通过电子邮件地址或电话号码验证来完成确认。

自定义身份验证

使用 Lambda 触发器的身份验证过程的一个扩展,定义了额外的用户质询和响应。

设备身份验证

一个身份验证过程,将 MFA 替换为使用可信设备 ID 的登录。

域、用户池域

托管您的托管登录页面的网域 AWS。您可以在自己拥有的域中设置 DNS,也可以在 AWS 拥有的域中使用可识别的子域名前缀。

必备套餐

包含用户池最新发展的功能计划Essentials 计划在 Plus 计划中不包括自动学习安全功能。

外部提供者、第三方提供者

与用户池存在信任关系的 IdP。用户池充当外部提供商和您的应用程序之间的中间实体,使用 SAML 2.0、OIDC 和社交提供商管理身份验证流程。用户池将外部提供商的身份验证结果整合到单个 IdP 中,以便您的应用程序可以使用单个 OIDC relying-party 库处理多个用户。

功能计划

您可以为用户池选择的一组功能。功能套餐的 AWS 账单费用各不相同。新用户池默认为基本套餐

联邦用户、外部用户

用户池中由外部提供者进行身份验证的用户。

托管用户界面(经典)、托管用户界面页面

您的用户池域上身份验证前端、信赖方和身份提供商服务的早期版本。托管用户界面具有一组基本功能和简化的外观。您可以通过上传徽标图像文件和带有预先确定的 CSS 样式集的文件来应用托管 UI 品牌。与托管登录进行比较。

Lambda 触发器

其中一种函数 AWS Lambda ,用户池可以在用户身份验证过程的关键时刻自动调用。您可以使用 Lambda 触发器自定义身份验证结果。

本地用户

用户池用户目录中的用户配置文件,它不是通过外部提供者进行身份验证而创建。

关联用户

来自外部提供者的用户,其身份与本地用户合并。

精简版套餐

包含最初通过用户池启动的功能的功能计划精简版计划不包括基本计划中的新功能或增强版计划中的自动学习安全功能。

托管授权服务器、托管 UI 授权服务器、授权服务器

托管登录的一个组件,用于在用户池域上托管 IdPs 与之交互的服务和应用程序。托管用户界面与托管登录的不同之处在于它提供的用户交互功能,但具有相同的授权服务器功能。

托管登录、托管登录页面

用户池域上的一组网页,用于托管用户身份验证服务。这些服务包括作为 IdP IdPs、第三方依赖方以及用户交互式身份验证 UI 服务器运行的功能。当您为用户池设置域名时,Amazon Cognito 会将所有托管登录页面联机。

您的应用程序会导入 OIDC 库,这些库可以调用用户的浏览器,并将他们定向到托管登录界面进行注册、登录、密码管理和其他身份验证操作。身份验证后,OIDC 库可以处理身份验证请求的结果。

托管登录身份验证

使用用户池网域上的服务登录,通过用户交互式浏览器页面或 HTTPS API 请求完成。应用程序使用 OpenID Connect (OIDC) 库处理托管登录身份验证。此过程包括向外部提供商登录、使用交互式托管登录页面进行本地用户登录以及 M2M 授权。使用经典托管 UI 进行身份验证也属于该术语。

请与 AWS SDK 身份验证进行比较。

Plus 计划

功能计划包含用户池中的最新开发和高级安全功能。

SDK 身份验证、 AWS SDK 身份验证

一组身份验证和授权 API 操作,您可以使用 AWS SDK 将其添加到应用程序后端。此身份验证模型需要您自己的自定义登录机制。该 API 可以登录本地用户关联用户

请与托管登录身份验证进行比较。

威胁防护

在用户池中,威胁防护是指旨在缓解对您的身份验证和授权机制的威胁的技术。自适应身份验证、凭据泄露检测和 IP 地址屏蔽名单属于威胁防护类别。

令牌自定义

令牌生成前 Lambda 触发器的结果,该触发器在运行时修改用户的 ID 令牌或访问令牌。

用户池、Amazon Cognito 身份提供者、cognito-idp、Amazon Cognito 用户池

为使用 OID IdPs C 的应用程序提供身份验证和授权服务的 AWS 资源。

验证

确认用户拥有电子邮件地址或电话号码的过程。用户池向输入新电子邮件地址或电话号码的用户发送代码。当他们向 Amazon Cognito 提交代码时,他们会验证自己对消息目的地的所有权,并且可以从用户池中接收其他消息。另请参阅确认

用户配置文件、用户账户

用户目录中的用户条目。所有用户(包括来自第三方 IdPs的用户)在其用户池中都有个人资料。

身份池

当您在本指南中看到以下列表中的术语时,它们指的是身份池的特定特征或配置。

访问控制属性

身份池中基于属性的访问控制的一种实施。身份池将用户属性作为标签应用于用户凭证。

基本(经典)身份验证

一个身份验证过程,您可以在这个过程中自定义对用户凭证的请求。

已经过开发人员验证的身份

一个身份验证过程,在这个过程中使用开发人员凭证授权身份池用户凭证

开发人员凭证

身份池管理员的 IAM API 密钥。

增强型身份验证

一个身份验证流程,根据您在身份池中定义的逻辑选择 IAM 角色并应用主体标签。

身份

一个 UUID,用于将应用程序用户及其用户凭证链接到与身份池存在信任关系的外部用户目录中的配置文件。

身份池、Amazon Cognito 联合身份、Amazon Cognito 身份、cognito-identity

一种 AWS 资源,为使用临时 AWS 证书的应用程序提供身份验证和授权服务。

未经验证的 身份

尚未使用身份池 IdP 登录的用户。您可以允许用户在进行身份验证之前为单个 IAM 角色生成有限的用户凭证。

用户凭证

用户在身份池身份验证后收到的临时 AWS API 密钥。