【问题标题】:How to enable SAML Authentication for aws private api gateway如何为 aws 私有 api 网关启用 SAML 身份验证
【发布时间】:2020-03-12 01:16:31
【问题描述】:

架构:严格无服务器 云 - AWS

我在私有 api 网关前面有一个应用程序负载平衡器(内部),要求使用企业 SAML IdP 保护负载平衡器端点。 允许使用 Lambda、S3,但未将 Route 53、EC2 列入白名单以在此账户上使用。

这里的问题是 SAML 身份验证后的中继状态(最终目标)是什么?由于内部 ALB 和私有 api 网关端点在 AWS 环境之外不可见,我不明白如何在用户通过企业 IdP 进行身份验证后登陆 alb 端点?

非常感谢!

【问题讨论】:

  • 他们是通过 Lambda(通过 Internet)访问 ALB,还是使用私有通道(VPN、Direct Connect)直接连接到私有 ALB?您的 lambda 函数是否在您的 VPC 中运行?
  • @JorgeGarcia - VPN、Dx 连接。是的,所有 lambda 函数都附加到 VPC。
  • 我的回答是否有助于让事情更清楚?

标签: amazon-web-services saml


【解决方案1】:

要将本地企业 IdP 与您的 ALB 一起使用,IdP 和 ALB 必须能够相互通信(通过 VPN 或 Direct Connect)。然后,您将在您的 AWS 账户和 IdP 之间建立信任关系,并在 ALB 上的侦听器规则中定义身份验证操作

Elastic Load Balancing 使用 OIDC 授权代码流:

  1. 当用户将请求定向到您的 ALB 时,ALB 身份验证 操作将检查传入的会话 cookie 是否存在 请求并检查其有效性。如果设置了会话 cookie 并且 有效,则 ALB 会将请求路由到正确的目标组 包含身份信息(通过 X-AMZN-OIDC-* 的 JWT 令牌 headers),后端实例可以用来识别用户。如果 cookie 不存在,负载均衡器将用户重定向到 IdP 授权端点,以便 IdP 可以对 用户。
  2. 然后 IdP 对用户进行身份验证并将用户重定向回 带有授权码的负载均衡器。 ALB 提出了 代码到 IdP 令牌端点以获取 ID 令牌和访问令牌。
  3. 负载均衡器验证 ID 令牌后,它会交换 带有 IdP 用户信息端点的访问令牌以获取用户声明。
  4. 负载平衡器创建身份验证会话 cookie 并 将其发送给客户端,以便客户端可以在后续使用它 请求。

来源:

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html

https://aws.amazon.com/blogs/aws/built-in-authentication-in-alb/

【讨论】:

    猜你喜欢
    • 2018-01-21
    • 2022-01-01
    • 2017-09-25
    • 1970-01-01
    • 2021-12-22
    • 2019-03-25
    • 2021-05-02
    • 1970-01-01
    • 2016-05-24
    相关资源
    最近更新 更多