我应该如何处理Google AppEngine中用于服务帐户的私钥文件?

时间:2018-01-08 23:08:24

标签: python security google-app-engine deployment google-cloud-firestore

我需要在我的Google AppEngine项目(称为主页)中使用其他Google AppEngine项目中的服务帐户(称之为 Away )才能访问其Firestore数据库。为此,我可以找到的所有文档都告诉我从离开下载服务帐户的私钥并存储它" https://codepen.io/drewalth/pen/wppNbJ"。我找不到任何记录这意味着什么的东西。

作为部署主页的一部分,是否需要将.json私钥文件上传到Google AppEngine服务器?如何在Google AppEngine的环境中安全地执行此操作?我无法在任何地方找到相关文档。

或者,有没有办法使用JSON字符串而不是文件在Python中创建Firestore客户端?这样我就可以将JSON私钥存储在主页上的数据存储区中。

1 个答案:

答案 0 :(得分:1)

通常,GAE中“您的应用程序可以访问”的文件表示该文件是部署期间的应用程序代码的一部分并随其上传。

您可以在Preparing to make an authorized API call中找到使用.json私钥文件的示例:

  

如果使用JSON文件:

from oauth2client.service_account import ServiceAccountCredentials

scopes = ['https://www.googleapis.com/auth/sqlservice.admin']

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    '/path/to/keyfile.json', scopes=scopes)

/path/to/keyfile.json相对于相应的GAE服务目录(包含服务的.yaml文件的目录)

相关问题