问题描述
- 反应SPA前端,在web.myportal.example上运行
- Node Express后端,在api.myportal.example上公开了一个REST api
这两个应用程序均已部署到GCP Compute Engine
中,并且可以从Internet访问。我能够配置IAP来防止未经授权的访问。我可以指定允许使用UI和API的电子邮件帐户的列表。
我需要的是GCP IAP的授权功能。有一个吗?
简单示例-某些API端点仅应由具有特定组/角色成员身份的人员访问。如何从IAP中提取出来? IAP唯一给我的东西是一个GCP_IAAP_AUTH_TOKEN
cookie,由于它的定义,我什至不能使用它。
解决方法
您可以尝试在每个服务(一个用于API,另一个用于APP)之前放置一个LB,并配置IAP以使用它们和grant access accordingly。
当应用程序或资源受IAP保护时,它只能是 由具有以下特征的成员(也称为用户)通过代理访问 正确的身份和访问管理(IAM)角色。当您授予 用户通过IAP访问应用程序或资源时, 使用中的产品实施的细粒度访问控制 不需要VPN。当用户尝试访问受IAP保护的 资源,IAP进行身份验证和授权检查。
但是无法配置IAP来根据登录者的身份授予API方法不同的访问级别。它看起来并不像允许这样细粒度的authorisation管理-只有您可以访问或不;
身份验证后,IAP将应用相关的IAM策略来检查是否 用户有权访问所请求的资源。如果用户 在Cloud Console项目上具有受IAP保护的Web App用户角色 资源所在的地方,他们被授权访问 应用。