【问题标题】:GCP external application to app-engine endpoint authenticationGCP 外部应用程序到应用引擎端点身份验证
【发布时间】:2020-09-23 13:23:11
【问题描述】:

我们正在使用 React 构建一个小型 Web UI,将由 GCP App-Engine(标准)提供服务。当客户的员工单击其内部 GIS 系统内的链接时,UI 将向他们显示图像轮播以及一些图像元数据。我们正在寻求对这些调用进行身份验证,因为 App-Engine 端点将公开,并希望使用 GCP 服务帐户私钥,客户端将使用该私钥创建一个限时 JSON Web 令牌,该令牌将提供临时访问 GIS 用户时,他们打开 web-UI。我们关注this GCP documentation。总结:

  1. 我们在 GCP 中创建一个具有必要 IAM 权限的新服务帐户以及一个密钥
  2. 我们与客户端共享私钥,然后他们使用该私钥签署 Json Web 令牌,当用户从其 GIS 系统访问我们的 Web-UI 时,该令牌在调用中传递给我们的端点
  3. 调用由 GCP 后端 (ESP/OpenAPI) 进行身份验证

问题:这是外部系统访问 GCP 资源的推荐方法还是有更好的模式更适用于这种情况(外部系统访问 GCP 资源)?

【问题讨论】:

  • 您好,当您谈到端点时,您建议您使用谷歌云端点吗?还是您指的是 Appengine 上托管的简单 URL?
  • 简单的 app-engine 端点虽然我们也对 Cloud Endpoints 开放
  • 嗯,读到你,我不会自发地想到你描述的身份验证流程。对我来说,它适合调用后端可能位于 Appengine 上的 API 的场景。在单页应用程序的情况下,您宁愿考虑像 Express (Node)、SpringBoot (Java) 这样的框架......在您的特定情况下,它可能看起来有点矫枉过正或不合适,您是否考虑过 Google IAP? cloud.google.com/iap/docs 使用它,您的前提“因为 App-Engine 端点将被公开”消失了。
  • @chaiyachaiya:感谢 IAP 参考。不知道这是一个选项,但是客户需要一个更简单的实现,我认为我们最初的 JWT 方法可能适合我们的需求。

标签: authentication google-app-engine google-cloud-platform jwt


【解决方案1】:

我相信这是针对您的用例的推荐方法。

根据official documentation

【讨论】:

  • 谢谢 - 关注您的推荐 to this 这似乎非常适合我们客户的需求。简而言之,用于生成具有时间限制访问权限的 JWT 的 Service Acct 私钥。
猜你喜欢
  • 1970-01-01
  • 2017-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
相关资源
最近更新 更多