2

我有一个用例,其中有 2 个应用程序:

  • React SPA 前端,在 web.myportal.example 上运行
  • Node Express 后端,在 api.myportal.example 上公开一个 REST api

这两个应用程序都部署GCP Compute Engine在 Internet 上,并可从 Internet 访问。我能够配置 IAP 以防止未经授权的访问。我可以指定允许使用 UI 和 API 的电子邮件帐户列表。

我需要的是来自 GCP IAP 的自动化功能它有一个吗?简单示例 - 某些 API 端点应该只能由具有特定组/角色成员资格的人访问。如何从 IAP 中提取它?IAP 给我留下的唯一东西是一个GCP_IAAP_AUTH_TOKENcookie,由于它的定义,我什至不能使用它。

4

1 回答 1

1

您可以尝试在每个服务前面放置一个 LB(一个用于 API,另一个用于 APP)并配置 IAP 以使用它们并相应地授予访问权限

当应用程序或资源受 IAP 保护时,只能由具有正确身份和访问管理 (IAM) 角色的成员(也称为用户)通过代理访问。当您通过 IAP 授予用户对应用程序或资源的访问权限时,他们会受到正在使用的产品实施的细粒度访问控制的约束,而无需 VPN。当用户尝试访问受 IAP 保护的资源时,IAP 会执行身份验证和授权检查。

但是不可能将 IAP 配置为根据谁登录为 API 方法授予不同的访问级别。它看起来不允许这种细粒度的授权管理 - 只有你可以访问或没有访问权限;

身份验证后,IAP 应用相关 IAM 策略来检查用户是否有权访问请求的资源。如果用户在资源所在的 Cloud Console 项目中具有受 IAP 保护的 Web 应用用户角色,则他们有权访问该应用。

于 2020-10-22T14:23:01.347 回答