【问题标题】:App Engine authentication to access google cloud resourcesApp Engine 身份验证访问谷歌云资源
【发布时间】:2018-01-04 06:28:31
【问题描述】:
我正在构建一个应用程序,用户注册(从 IAM 页面)项目使用该应用程序可以访问该项目的资源。命中 URL 时我需要身份验证。有没有办法做到这一点?
是否可以提供特定于用户请求的 IAM 角色(假设用户将使用他的电子邮件 ID 登录)以基于 IAM 级别权限访问资源?
【问题讨论】:
标签:
google-app-engine
google-cloud-platform
google-authentication
google-iam
【解决方案1】:
在 AppEngine 的早期,做一些基本的身份验证/访问控制非常容易,但最近他们将其转移到名为 IAP 的东西上。
【解决方案2】:
根据您的措辞,我假设您正在尝试将 GCP 项目的管理任务抽象给权限较低的管理员。
问题 1 和 2 可以通过使用预先构建的角色在 IAM 中定义权限来快速解决,如果您需要更具体,可以创建自定义角色。因此,您可以使用 GSuite、GMail、Google 群组帐户并让他们登录 console.cloud.google.com。因此,他们将只能看到您在 IAM 中分配给他们的内容并对其采取行动。
如果您仍想自己构建它,每个产品都提供一个 API,包括身份验证。您的用例的最佳实践是与其分配单个用户对资源的访问权,不如创建一个服务帐户,然后允许用户调用该服务帐户。对于此 GCP,Service Account Actor Role 描述得很好in the official documentation,Salmaan Rashid 也提供了good practical insight on medium。