我应该怎么做才能从GCP IAM中检索用户在我的项目中的特定角色



我正在创建Node.js服务器,该服务器使用Google Oauth2对用户进行身份验证。我在组织中的项目是在谷歌云平台中创建的。我已经设置了Oauth2,所以只有我所在组织的用户才能被授权使用该服务。所有用户都将被描述为项目的IAM成员,因此每个人都将拥有特定的角色和为其角色授予的权限。用户现在可以通过Oauth2在我的应用程序中进行身份验证和授权(仅限我所在组织的用户)。问题是,我不知道如何从IAM检索他们在我的项目中的角色。起初,我认为我只需要在授权方法中传递特定的作用域(我使用的是Passport.jsGoogleStrategy)。但后来我意识到,只有在用户获得下一个API请求的授权后,才能完成此操作(这是正确的吗?)。我多次阅读IAM API文档,但最终只提供了一些方法,这些方法允许我检索角色或策略的预设数组或可测试权限或在项目中创建和使用的内容。但我看不到任何方法允许我请求服务检索用户的特定角色和权限(通过电子邮件或谷歌id)并将其发送回我,这样我的Node服务器就可以知道这个用户可以做什么。也许我需要在其他地方挖掘。。

您可以使用CloudResourceManager服务来检索项目的IAM策略。这将包括项目特定的(非继承的)角色绑定:帐户(包括user的)及其IAM角色:

https://cloud.google.com/resource-manager/reference/rest/v3/projects/getIamPolicy

最新更新