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

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

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

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

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

为 REST API 创建跨账户 Amazon Cognito 授权方

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

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

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

  3. 选择创建授权方

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

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

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

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

      注意

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

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

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

    6. 选择创建授权方