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

常见 Amazon Cognito 术语和概念

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

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

常规

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

访问令牌

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

应用程序

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

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

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

身份验证

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

授权

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

授权服务器

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

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

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

身份提供者(IdP)

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

JSON Web 令牌(JWT)

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

机器对机器(M2M)授权

授权向非用户交互式计算机实体(比如 Web 服务器应用程序层)的 API 端点发出请求的过程。用户池通过访问令牌中的 OAuth 2.0 范围,在客户端凭证授予中提供 M2M 授权。

多重身份验证(MFA)

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

OAuth 2.0(社交)提供者

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

OpenID Connect(OIDC)提供者

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

通行密钥、WebAuthn

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

无密码

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

公共应用程序

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

资源服务器

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

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

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

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

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

SAML 提供商

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

通用唯一标识符(UUID)

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

用户目录

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

用户池

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

自适应身份验证

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

应用程序客户端

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

回调 URL、重定向 URI、返回 URL

应用程序客户端中的一种设置,以及向用户池的授权服务器所发出请求中的一个参数。回调 URL 是您的应用程序中经过身份验证的用户的初始目的地。

基于选择的身份验证

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

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

基于客户端的身份验证

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

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

已泄露的凭证

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

确认

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

自定义身份验证

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

设备身份验证

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

域、用户池域

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

基础版计划

包含用户池中最新开发功能的功能计划。基础版计划不包括增值版计划中的自动学习安全功能。

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

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

功能计划

您可以为用户池选择的一组功能。功能计划的 AWS 账单费用各不相同。新用户池的默认功能计划为基础版计划

联合用户、外部用户

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

托管 UI(经典)、托管 UI 页面

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

Lambda 触发器

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

本地用户

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

关联用户

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

精简版计划

包含最初向用户池推出的功能的功能计划。精简版计划不包括基础版计划中的新功能或增值版计划中的自动学习安全功能。

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

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

托管登录、托管登录页面

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

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

托管登录身份验证

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

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

增值版计划

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

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

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

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

威胁防护、高级安全功能

在用户池中,威胁防护是指旨在缓解对您的身份验证和授权机制造成威胁的技术。自适应身份验证、凭证泄露检测和 IP 地址阻止列表均属于威胁防护类别。

令牌自定义

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

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

一项 AWS 资源,为与 OIDC IdP 配合使用的应用程序提供身份验证和授权服务。

验证

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

用户配置文件、用户账户

用户目录中的用户条目。所有用户(包括来自第三方 IdP 的用户)在其用户池中都有配置文件。

身份池

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

访问控制属性

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

基本(经典)身份验证

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

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

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

开发人员凭证

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

增强型身份验证

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

身份

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

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

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

未经验证的 身份

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

用户凭证

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