【问题标题】:How to manage google app engine service account private keys?如何管理谷歌应用引擎服务帐号私钥?
【发布时间】:2014-11-26 05:47:48
【问题描述】:

我有一个 google app engine 应用程序,它使用服务帐户为关联的 Google Apps 域中的用户订阅特定日历。

我可以通过下载服务帐户私钥然后使用它进行身份验证,在我的开发环境中使用它。

但我不愿将私钥作为生产部署的一部分上传。这是最佳做法吗?有没有更好的方法来向不涉及上传我的私钥的 Google Apps 域验证 App Engine 服务帐户?什么是适当的最佳做法?

【问题讨论】:

    标签: google-app-engine google-oauth


    【解决方案1】:

    生产中的 App Engine 应用程序附带一个由 Identity service 提供的特定服务帐户,但它不允许您像常规服务帐户那样模拟用户。

    因此,您最好的选择是上传私钥。出于明显的安全原因,最好:

    • 跨环境使用不同的服务帐号(一个用于开发,一个用于测试,一个用于生产)
    • 将私钥与代码分开存储,至少在生产和测试中存储。

    因此,最佳做法是编写一个简单的 HTTP 接口,允许您上传私钥并将其与客户端 ID 和客户端电子邮件一起存储在数据存储中。

    【讨论】:

    • 这种最佳做法(将私钥存储在数据存储中)是否记录在任何地方(例如,由 Google)?
    • 据我所知,谷歌并没有提供这样的最佳实践。这些建议基于我们自己的最佳做法(我们是 Google 合作伙伴)。
    【解决方案2】:

    如果您能够启用 IAM API,那么您可以自动生成私钥。我可以找到一些解决方法。

    Authenticate service account without downloaded key on google app engine

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-22
      • 2017-09-24
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      • 2021-09-15
      • 2018-11-10
      相关资源
      最近更新 更多