#google-kubernetes-engine #gcloud #google-iam #google-secret-manager
#google-kubernetes-engine #gcloud #google-iam #google-secret-manager
Вопрос:
Есть ли какой-нибудь способ использовать переменную GOOGLE_APPLICATION_CREDENTIALS env и передать содержимое файла в нее, а не путь к файлу, на самом деле я хочу использовать учетную запись службы из моего приложения NodeJS, но мое условие таково, что я не могу использовать ее через файл, но я могу передать ее содержимое через мой код NodeJS.
Комментарии:
1. Вы хотите, чтобы ваш код NodeJS был доступен как содержимое переменной среды GOOGLE_APPLICATION_CREDENTIALS в Pod ?
2. да, я хочу использовать содержимое, сгенерированное моим кодом NodeJS в GOOGLE_APPLICATION_CREDENTIALS
3. Где генерируется это содержимое? Доступно ли оно до запуска модуля?
Ответ №1:
Если вы используете GKE, вам следует использовать идентификатор рабочей нагрузки вместо передачи учетных данных учетной записи службы. Это более безопасный и предпочтительный способ.
Вне GKE / GCP вы можете создать пользовательский клиент аутентификации:
const creds = JSON.parse(process.env.GOOGLE_CREDS);
this.auth = new GoogleAuth({
scopes: [...],
credentials: creds,
});