通过安全组允许 AWS OpenID Connect

通过安全组允许 AWS OpenID Connect

我有一个在 AWS EC2 中运行的 GitLab 自托管实例。其关联的安全组阻止了除少数单个 IP 地址之外的所有传入外部流量。

为了自动将代码从 GitLab 部署到单独帐户中的 AWS S3 存储桶,我创建了一个身份提供者在该单独帐户的 IAM 控制台中按照这篇文章中描述的确切流程进行

如果我允许世界访问我的 EC2 实例安全组中的端口 443,那么一切都会按预期进行。不幸的是,这不是我可以永久采取的选择。我可以添加 AWS 似乎正在发出请求的 CIDR 块,但这似乎不可持续,因为 CIDR 块可能随时更改。

你知道有什么方法可以让我继续阻止所有传入流量,除了我手动挑选的几个 IP 地址之外AWS 请求使用 OpenID 连接对 GitLab 进行身份验证?

答案1

我遇到了同样的问题,我能想到的就是AWS 托管前缀列表 但似乎我找不到适合这种情况的前缀列表

答案2

解决此问题的唯一方法是仅公开 STS 验证连接所需的两个端点:

  1. https://BASE_SERVER_URL/.well-known/openid-configuration
  2. 您将在 jwks_uri 字段下的第一个 URL 中找到该 URL,您可以在 EC2 实例前面使用应用程序负载均衡器 (ALB),并使用 ALB 规则而不是安全组。

相关内容