Node.js 如何将google-cloud-auth.json作为环境变量安全地保存在app.yaml中?
我不熟悉部署/安全密钥,不知道如何在源代码之外安全地存储google-cloud-auth.json(创建API客户端所需的auth)以防止凭据泄漏 我目前已经在app.yaml文件中保护了API密钥和令牌,并将它们指定为环境变量,这些变量成功地按照预期工作,如下所示Node.js 如何将google-cloud-auth.json作为环境变量安全地保存在app.yaml中?,node.js,google-app-engine,google-cloud-platform,google-bigquery,Node.js,Google App Engine,Google Cloud Platform,Google Bigquery,我不熟悉部署/安全密钥,不知道如何在源代码之外安全地存储google-cloud-auth.json(创建API客户端所需的auth)以防止凭据泄漏 我目前已经在app.yaml文件中保护了API密钥和令牌,并将它们指定为环境变量,这些变量成功地按照预期工作,如下所示 accessruntime: nodejs10 env_variables: SECRET_TOKEN: "example" SECRET_TOKEN2: "example2" 但是,我的google-cloud-aut
accessruntime: nodejs10
env_variables:
SECRET_TOKEN: "example"
SECRET_TOKEN2: "example2"
但是,我的google-cloud-auth.json保留为自己的文件,因为用于创建客户端的参数需要路径字符串
const {BigQuery} = require('@google-cloud/bigquery');
...
const file = "./google-cloud-auth.json";
// Creates a BigQuery client
const bigquery = new BigQuery({
projectId: projectId,
datasetId: datasetId,
tableId: tableId,
keyFilename: file
});
根据报告:
GOOGLE\u应用程序\u凭证
env变量是否设置了服务帐户文件的路径- 如果需要使用特定的服务帐户,请使用
GOOGLE\u应用程序\u凭据设置文件路径。解释了如何做到这一点
- 如果您不喜欢移动凭证文件,我建议您尝试使用应用程序引擎提供的默认服务帐户
运行时:nodejs10
行,我仍然能够使用默认服务帐户通过BigQuery客户端库进行查询
此帐户附带项目/编辑角色,您可以添加所需的任何其他角色。为什么要使用服务帐户?你对使用它有特殊需要吗?它特别吗?