1

tldr:请参阅下面的粗体通用问题。

我已经在 AWS 中构建了下面概述的基础设施(在附件中)。OAuth 指定一个身份验证服务器,该服务器颁发令牌(授权),然后对每个请求的令牌进行身份验证,并允许内部 ALB 的代理。

它基于微服务架构,并使用 oauth 颁发令牌并从客户端应用程序对其进行身份验证。客户端应用程序可以是 VPC 内部的应用程序或 VPC 外部的应用程序。如您所见,我希望所有请求在到达内部 ALB 之前都通过 OAuth 服务器。现在不同类型的应用程序应该使用不同类型的授权来获取访问令牌。这些访问令牌将包含与内部 ALB 的路由(API 端点)相关的范围。

现在我有几个问题希望尽可能简洁:

AWS VPC ALB 问题

  1. 确保只有 oauth 应用程序与内部 ALB 而不是公共子网中的其他应用程序通信的最安全方法是什么?那么我们可以确定对内部 ALB 的所有请求都经过身份验证了吗?我是否必须以某种方式将新的仅 oauth 子网附加到内部 ALB 的输入,但如何限制内部 ALB 输入?

  2. 同样,如何确保同一子网中的应用程序不相互通信?基本上,我如何确保没有内部应用程序相互通信,并且必须一直传递到外部负载均衡器,从而从私有子网传递到 oauth。

Route 53 SLL 终端 ALB

某些端口上的 SSL 终止是否会阻止来自不同域的流量。如果我通过 SSL 终止从内部 ALB 调用 ALB 端口 433,我是否必须从证书指定的主机(route53 something.com)调用,或者我可以使用 ALB 的 DNS 主机名(something.elb.amozonaws. com) 由 AWS 解决好吗?

范围和 OAuth

如何将每个请求的 url 及其令牌与 oauth 范围进行比较?我想将 oauth 范围与 api 端点相关联。因此,每个请求都会到达一个带有包含范围的 access_token 的路由端点。这个范围必须与每个请求上的请求 url 进行比较,以确保它被允许。oauth 是否带有此功能?我猜不会。但是,如果不是这种情况,范围的意义何在?似乎范围只是一个数组,我需要在身份验证后对其进行一些处理,而不是它在 oauth 中是特殊的。我可能错过了一些东西:-)。

这篇文章已经太长了,所以我不能因为明显的原因进入所有的细节,但如果你想要更多的细节,我当然会给他们。在这一点上,即使是正确方向的帮助也会很有用。

提前致谢。

基础设施概述

4

0 回答 0