如何为 aws private api 网关启用 SAML 身份验证
How to enable SAML Authentication for aws private api gateway
架构:严格无服务器
云 - AWS
我在私有 api 网关前面有一个应用程序负载均衡器(内部),要求是使用企业 SAML IdP 保护负载均衡器端点。
允许使用 Lambda、S3,但 Route 53、EC2 未列入白名单以用于此帐户。
这里的问题是 SAML 身份验证后这里的中继状态(最终目标)是什么?由于内部 ALB 和私有 api 网关端点在 AWS 环境之外不可见,我不明白一旦用户通过企业 IdP 的身份验证如何登陆 alb 端点?
非常感谢!
要将 on-premise 企业 IdP 与您的 ALB 一起使用,IdP 和 ALB 必须能够相互通信(通过 VPN 或 Direct Connect)。然后,您将在您的 AWS 账户和 IdP 之间建立信任关系,并在您的 ALB.[=12] 上的侦听器规则中定义身份验证操作=]
Elastic Load Balancing 使用 OIDC 授权代码流:
- 当用户将请求直接发送到您的 ALB 时,ALB 身份验证
操作将检查传入的 session cookie 是否存在
请求并检查其有效性。如果设置了 session cookie 并且
有效,那么 ALB 会将请求路由到正确的目标组
包含身份信息(JWT 令牌通过 X-AMZN-OIDC-*
headers) 后端实例可以用来识别用户。如果
cookie 不存在,负载均衡器将用户重定向到
IdP 授权端点,以便 IdP 可以验证
用户。
- IdP 然后对用户进行身份验证并将用户重定向回
带有授权码的负载均衡器。 ALB 提出了
代码到 IdP 令牌端点以获取 ID 令牌和访问令牌。
- 负载均衡器验证 ID 令牌后,交换
使用 IdP 用户信息端点访问令牌以获取用户声明。
- 负载均衡器创建身份验证 session cookie 和
将它发送给客户端,以便客户端可以在后续使用它
请求。
来源:
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html
https://aws.amazon.com/blogs/aws/built-in-authentication-in-alb/
架构:严格无服务器 云 - AWS
我在私有 api 网关前面有一个应用程序负载均衡器(内部),要求是使用企业 SAML IdP 保护负载均衡器端点。 允许使用 Lambda、S3,但 Route 53、EC2 未列入白名单以用于此帐户。
这里的问题是 SAML 身份验证后这里的中继状态(最终目标)是什么?由于内部 ALB 和私有 api 网关端点在 AWS 环境之外不可见,我不明白一旦用户通过企业 IdP 的身份验证如何登陆 alb 端点?
非常感谢!
要将 on-premise 企业 IdP 与您的 ALB 一起使用,IdP 和 ALB 必须能够相互通信(通过 VPN 或 Direct Connect)。然后,您将在您的 AWS 账户和 IdP 之间建立信任关系,并在您的 ALB.[=12] 上的侦听器规则中定义身份验证操作=]
Elastic Load Balancing 使用 OIDC 授权代码流:
- 当用户将请求直接发送到您的 ALB 时,ALB 身份验证 操作将检查传入的 session cookie 是否存在 请求并检查其有效性。如果设置了 session cookie 并且 有效,那么 ALB 会将请求路由到正确的目标组 包含身份信息(JWT 令牌通过 X-AMZN-OIDC-* headers) 后端实例可以用来识别用户。如果 cookie 不存在,负载均衡器将用户重定向到 IdP 授权端点,以便 IdP 可以验证 用户。
- IdP 然后对用户进行身份验证并将用户重定向回 带有授权码的负载均衡器。 ALB 提出了 代码到 IdP 令牌端点以获取 ID 令牌和访问令牌。
- 负载均衡器验证 ID 令牌后,交换 使用 IdP 用户信息端点访问令牌以获取用户声明。
- 负载均衡器创建身份验证 session cookie 和 将它发送给客户端,以便客户端可以在后续使用它 请求。
来源:
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html
https://aws.amazon.com/blogs/aws/built-in-authentication-in-alb/