

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

# 使用身份源和令牌保护您的应用程序
<a name="identity-sources"></a>

在 Amazon Verified Perm *issions 中创建代表外部身份提供商 (IdP) 的身份源*，从而快速保护您的应用程序。身份源提供的信息来自使用与您的策略存储有信任关系的 IdP 进行身份验证的用户。当您的应用程序使用来自身份源的令牌发出授权请求时，您的策略存储可以根据用户属性和访问权限做出授权决策。您可以添加 Amazon Cognito 用户池或自定义 OpenID Connect (OIDC) IdP 作为身份来源。

你可以使用具有已验证权限的 [OpenID Connect (OIDC)](https://openid.net/specs/openid-connect-core-1_0.html) 身份提供商 (IdPs)。您的应用程序可以使用符合 OIDC 的身份提供商生成的 JSON Web 令牌 (JWTs) 生成授权请求。令牌中的用户身份映射到委托人 ID。使用 ID 令牌，“已验证权限” 会将属性声明映射到委托人属性。使用访问令牌，这些声明会映射到[上下文](context.md)。使用这两种令牌类型，您可以`groups`将类似的声明映射到委托人组，并构建评估基于角色的访问控制 (RBAC) 的策略。

**注意**  
已验证权限根据来自 IdP 令牌的信息做出授权决定，但不会以任何方式直接与 IdP 交互。

*有关 APIs使用 Amazon Cognito 用户池或 OIDC 身份提供商为 Amazon API Gateway REST 构建授权逻辑的 step-by-step演练，请参阅安全博客上的 “[使用 API Gateway APIs 亚马逊验证权限授权” Amazon Cognito 或自带身份提供商](https://www.amazonaws.cn/blogs/security/authorize-api-gateway-apis-using-amazon-verified-permissions-and-amazon-cognito/)进行授权。Amazon *

**Topics**
+ [选择合适的身份提供商](#choosing-identity-source)
+ [使用 Amazon Cognito 身份来源](identity-sources-cognito.md)
+ [使用 OIDC 身份来源](identity-sources-oidc.md)

## 选择合适的身份提供商
<a name="choosing-identity-source"></a>

虽然经过验证的权限适用于各种各样的 IdPs，但在决定在应用程序中使用哪个权限时，请考虑以下几点：

 Amazon Cognito 在以下情况下使用：  
+ 你在没有现有身份基础架构的情况下构建新的应用程序
+ 你想要具有内置安全功能的 Amazon托管用户池
+ 您需要整合社交身份提供商
+ 你想要简化的代币管理

在以下情况下使用 OIDC 提供商：  
+ 你有现有的身份基础架构（Auth0、Okta、Azure AD）
+ 您需要保持集中的用户管理
+ 您有具体的合规要求 IdPs