【问题标题】:How to restrict access to a small user community (IAM users) in GCP / Cloud DNS / HTTPS application如何在 GCP / Cloud DNS / HTTPS 应用程序中限制对小用户社区(IAM 用户)的访问
【发布时间】:2020-03-17 12:03:08
【问题描述】:

我请求将访问(访问控制)限制为 GCP 中的一个小型用户社区。 让我解释一下这个问题。

这是当前设置:

  • 有效的 GCP 组织:MyOrganization.com(在其下部署/配置 GCP 项目)
  • Cloud DNS(配置域名、A & TXT 记录、区域和子域以构建应用程序的 URL)。
  • Oauth 客户端设置(令牌、授权重定向 URI 等)。
  • HTTPS 负载平衡器(GKE - 托管 k8s 服务 - 带有入口服务)、SSL 证书和由受信任的 CA 颁发的密钥。
  • 应用程序是使用 python + Django 框架构建的。

我已经部署了应用程序(GCP 资源)并且运行顺利。 问题是,由于我们在 GCP 中工作,所有拥有有效 userID@MyOrgnization.com 的 IAM 用户都可以访问该应用程序 (https://URL-for-my-Appl.com)。

现在,我有一个新请求,其中包括仅针对该 GCP 组织内的一个小型用户社区限制对应用程序的访问(访问控制)。

例如,我需要确保只有特定的 IAM 用户才能访问应用程序(https://URL-for-my-Appl.com),例如:

  1. user1@MyOrganization.com
  2. user2@MyOrganization.com
  3. user3@MyOrganization.com
  4. user4@MyOrganization.com

考虑到我之前发送的信息,我该怎么做?

谢谢!

【问题讨论】:

  • 请澄清一下,目前您如何管理仅限于 @MyOrganization.com 的身份验证?您是指使用 OAuth 进行自制开发吗?
  • 感谢 ThierryFalvo 的回复。当前设置是任何通过@MyOrganizartion 身份验证的用户(常规Intranet 用户)都可以访问应用程序的URL。我进行了一些调查,似乎 RBAC 可能是我最初问题的解决方案。你怎么看 ?关于 OAuth,我们有一些 OAuth 的凭据/令牌来设置它。
  • 正如 Guillaume 的回答,IAP 确实是在域内轻松安全地管理身份验证的好选择。

标签: https google-cloud-platform ssl-certificate google-oauth google-cloud-dns


【解决方案1】:

您可以使用Cloud IAP (Identity Aware Proxy) 来执行此操作。

身份识别代理 (IAP) 可让您管理对应用程序的访问 在 App Engine 标准环境中运行,App Engine 灵活 环境、计算引擎和 GKE。 IAP 建立一个中心 通过 HTTPS 访问的应用程序的授权层,因此您可以 采用应用级访问控制模型,而不是使用 网络级防火墙。开启 IAP 时,还必须使用 签名标头或 App Engine 标准环境用户 API 保护您的应用。

注意:您可以在负载均衡器上进行配置。

如果您的应用程序使用谷歌身份验证(但考虑到您谈论的是 org-restricted login 我认为是这样),您的问题尚不清楚 - 如果是这种情况,您应该能够启用它而无需在您的应用程序中几乎触及任何东西您正在使用用户 API。

【讨论】:

    【解决方案2】:

    最好和最简单的解决方案是deploy IAP (Identity Aware Proxy) on your HTTPS Loadbalancer

    然后,只授予您想要的用户(或创建一个 gsuite 用户组并授予它,这通常更容易管理)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-25
      • 2011-11-24
      相关资源
      最近更新 更多