使用 Google Cloud IAP 进行身份验证后,如何实施基于角色的授权?

How do you implement role based authorisation after authenticating with Google Cloud IAP?

我有一项服务在 IAP 后面的 Google 云中提供 API 运行。身份验证按预期工作,允许用户访问 API。

为了更精细地锁定 API,我想根据用户在 Google 项目中的 IAM 角色允许访问某些路径。

我想我可以使用 Google rest API 之一来获取角色列表,给定来自 IAP 的 header 中的用户 ID(或查找一种用角色信息装饰请求的方法),但我没能找到我需要的范围或要使用的 API。

有人知道如何做类似的事情吗?

我认为您可以使用 Directory API 检索用户的组成员资格。我们的路线图上确实有一个项目可以将组成员资格添加到 IAP JWT 中,但今天这是不可能的。

您还可以使用 host and path conditions 为应用内的不同路径设置不同的访问策略,例如如果路径以 /foo 开头,则允许 foo-users@ 访问,如果路径以 /bar 开头,则允许 bar-users@ 访问。

--Matthew,Google 云 IAP 工程