使用 API Gateway 控制台为 REST API 配置跨账户 Amazon Cognito 授权方 - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 API Gateway 控制台为 REST API 配置跨账户 Amazon Cognito 授权方

您现在还可以使用来自不同 Amazon 账户的 Amazon Cognito 用户池作为 API 授权方。每个账户都可以位于 Amazon API Gateway 可用的任何区域中。Amazon Cognito 用户池可使用持有者令牌身份验证策略(如 OAuth 或 SAML)。这样就可以轻松地跨多个 API Gateway API 集中管理和共享中央 Amazon Cognito 用户池授权方。

在本节中,我们将介绍如何使用 Amazon API Gateway 控制台配置跨账户 Amazon Cognito 用户池。

这些说明假定您已在一个 Amazon 账户中拥有 API Gateway API,在另一个账户中有 Amazon Cognito 用户池。

使用 API Gateway 控制台配置跨账户 Amazon Cognito 授权方

在您拥有 API 的账户中登录 Amazon API Gateway 控制台,然后执行以下操作:

  1. 在 API Gateway 中创建新的 API 或选择现有 API。

  2. 在主导航窗格中,选择授权方

  3. 选择 Create Authorizer(创建授权方)。

  4. 要配置新的授权方来使用用户池,请执行以下操作:

    1. 授权方名称中,输入名称。

    2. 对于授权方类型,请选择 Cognito

    3. 对于 Cognito 用户群体,输入您第二个账户中的用户群体的完整 ARN。

      注意

      在 Amazon Cognito 控制台中,您可以在常规设置窗格的池 ARN 字段找到您的用户池的 ARN。

    4. 对于令牌来源,输入 Authorization 作为标头名称,以在用户成功登录时传递 Amazon Cognito 所返回的身份令牌或访问令牌。

    5. (可选)在令牌验证字段中输入一个正则表达式,以在使用 Amazon Cognito 对请求进行授权之前,验证身份令牌的 aud(受众)字段。请注意,在使用访问令牌时,由于访问令牌不包含 aud 字段,此验证将拒绝请求。

    6. 选择 Create Authorizer(创建授权方)。