首页 > 解决方案 > 如何添加 cognito 用户名/密码来验证 ALB?

问题描述

我部署了 AWS 应用程序负载均衡器来将请求路由到我的后端服务。我想通过 cognito 基本用户名和密码对其进行身份验证。

我已经阅读了这个文档https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html并且它只提到了OIDC等等SAML, LDAP。如何使用用户名/密码来验证 ALB?

标签: amazon-web-services

解决方案


ALB 本身作为身份验证器提供与 Cognito 的直接集成。

首先,您需要一个 Cognito 用户池。在其中,您需要创建一个 App Client。然后,当 ALB 使用 OpenID Connect 作为依赖方时,这将由 ALB 使用,以便使用授权代码流针对 Cognito 对用户进行身份验证。

因此,对于侦听器规则中的每条路由,您都可以添加“使用 Cognito 进行身份验证”步骤,然后在其中选择您的 Cognito 用户池和应用程序客户端 ID。

之后,对该侦听器规则的每个请求都会首先将用户重定向到 Cognito 登录页面。

由于 Cognito 本身也可以将身份验证联合到其他身份提供者,例如 Facebook、Google 等,这也是一种选择。但是,如果您只需要用户名/密码身份验证,那么 Cognito 已经为您的用户池中的用户提供了此选项。

基本上,所有步骤都在您提到的 AWS 文档页面中进行了说明。


推荐阅读