Я провел какой-то поиск, но мои термины «ссылка на ключевой файл безопасны» и другие другие дали слишком много результатов, так что я здесь. Если бы об этом уже спрашивали, я был бы рад сослаться на это.
У меня есть проект nodejs, который использует Google Vision API / SDK , и этот пример проекта использует модуль google-cloud
, а затем использует такую структуру для получения файла ключа (ссылка здесь
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, но я все еще хочу, чтобы проект отслеживался там.