Разница между gcloud auth activ-service-account --key-file и GOOGLE_APPLICATION_CREDENTIALS - PullRequest
0 голосов
/ 18 сентября 2018

Я создаю сценарий оболочки для автоматизации некоторых наших рабочих процессов, Этот рабочий процесс включает в себя доступ к Google Buckets через Apache Beam GCP. Я использую файл .json со своей учетной записью службы, в каких ситуациях мне нужно использовать:

 gcloud auth activate-service-account --key-file myfile.json

против

export GOOGLE_APPLICATION_CREDENTIALS=myfile.json

1 Ответ

0 голосов
/ 18 сентября 2018

Зависит от того, что вы делаете:

  • Взаимодействие со службой Google Cloud с использованием одной из сторонних библиотек SDK (например, Go, Python)? Используйте переменную окружения GOOGLE_APPLICATION_CREDENTIALS.

  • Как звонить в предоставленный Google инструмент, такой как gcloud или gsutil? Используйте предоставленный инструментом механизм аутентификации с помощью удаленного сервиса. Для gcloud это команда gcloud auth activate-service-account.


Переменная среды GOOGLE_APPLICATION_CREDENTIALS предоставляет механизм для пользовательских приложений, использующих Google Cloud SDK, для простого импорта учетных данных, если они не доступны иным образом в их среде. Эти учетные данные загружаются в соответствии с порядком приоритета, определенным в документах ADC .

Другие приложения, предоставляемые Google, имеют свои хорошо отлаженные механизмы для импорта учетных данных для аутентификации в Google. Этот механизм должен использоваться там, где используются эти приложения. Для обычных инструментов:

  • gcloud: используйте gcloud auth activate-service-account. Помните, что это может засорить ваш диск с учетными данными аутентификации , которые сохраняются, поэтому из соображений безопасности вы можете настроить среду так, чтобы они удалялись после использования.
  • gsutil: при работе в автономном режиме используйте gsutil config -e для настройки учетной записи службы. Однако большинство установок будут располагаться рядом с инструментом gcloud из Google Cloud SDK, поэтому следует использовать описанный выше подход для gcloud.
...