我做了一些搜索,但是我的术语“keyfile reference secure”和其他各种术语出现了太多的结果,所以我来了。如果以前有人问过这个问题,我很乐意提及。
我有一个nodejs项目使用
Google Vision API/SDK
google-cloud
然后使用这种结构来获取密钥文件(参考
here
var gcloud = require('google-cloud');
var datastore = gcloud.datastore({
projectId: config.projectId,
keyFilename: config.keyFilename
});
但是,在使用
@google-cloud/vision
模块,也可以使用
GOOGLE_APPLICATION_CREDENTIALS
指向包含密钥文件的文件的环境变量,只要导出该环境变量或设置该变量并按如下方式启动命令,它就“正常工作”:
GOOGLE_APPLICATION_CREDENTIALS=/home/jomama/somefolder/keyfile.json node
因此,考虑到项目将通过git跟踪,我的问题是:
-
在上述方法中使用这两种方法的代码级优势是什么?
-
两种方法都需要解决哪些安全问题?
-
还有什么我没考虑的吗?
当然,我不希望我的密钥文件存储在git中,但我仍然希望跟踪那里的项目。