如何使用Google OAuth将Google Cloud IAM角色用于基于角色的Web应用程序控制



我使用Google OAuth登录我的Web应用程序,该应用程序是作为谷歌云平台(即Project1(中的项目创建的。

我有一个用户在此项目中具有自定义角色。使用我的Google帐户登录后,我可以使用Google_Client(PHP库-Google/apiclient(获取用户信息。然而,我很难弄清楚如何为登录用户获得自定义角色。我尝试使用Google_Service_iam,但得到了未捕获的Google_Service_Exception: 404 Not Found

这是利用谷歌IAM构建基于角色的控制web应用程序的正确方法吗?

尽管通过自己构建它是可能的,但我不会直接使用IAM作为身份验证提供商。相反,请使用身份平台或类似Auth0或Okta的东西。就我自己而言,我更喜欢Firebase认证,它可以轻松地与所有流行的语言和框架集成。

IAM旨在授权GCP中的用户,而不是在自定义web应用程序中。在您的设置中,您必须将每个未来的用户添加到Gsuite和IAM,这是非常昂贵的,并且不是为此目的而设计的。

我建议您看看应用程序开发人员的身份验证策略。

由于您需要代表最终用户授予Google Cloud API,因此可以使用协议OAuth 2.0协议。应用程序启动OAuth同意流,应用程序将在其中接收用户的凭据。有了这些凭据,它可以代表用户调用Google Cloud API。

Nebulastic还建议的另一个解决方案是云身份平台,您可以在其中配置自定义声明,以根据用户的角色限制用户对资源的访问。

相关内容

最新更新