如何管理谷歌应用引擎服务帐户私钥?

时间:2014-11-26 05:47:48

标签: google-app-engine google-oauth

我有一个谷歌应用引擎应用,它使用服务帐户将关联的Google Apps域中的用户订阅到特定的日历。

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

但是我在制作部署时上传私钥时犹豫不决。这是最好的做法吗?是否有更好的方法可以将App Engine服务帐户验证到不涉及上传我的私钥的Google Apps域?什么是适当的最佳做法?

2 个答案:

答案 0 :(得分:3)

生产中的App Engine应用程序带有Identity service提供的特定服务帐户,但它不允许您像常规服务帐户那样冒充用户。

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

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

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

答案 1 :(得分:0)

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

Authenticate service account without downloaded key on google app engine