Когда вы используете компоненты Google Cloud, вам не нужно использовать ключевые файлы служебных учетных записей. Это плохая практика (даже если она представлена как «стандартная» в слишком большом количестве руководств, даже в руководствах по Google Cloud!).
Управление файлом ключа учетной записи службы - это кошмар. Это файл. Вы можете скопировать его, вы можете отправить по электронной почте, вы даже можете зафиксировать его в исходном репозитории (возможно, publi c repo !!). Кроме того, вам необходимо обеспечить безопасность и регулярно менять его ...
Лучший способ упростить это - не использовать их и полагаться на идентификационные данные компонентов Google Cloud. Конечно, для всех внешних компонентов, таких как CI / CD, локальное приложение (или у другого облачного провайдера), файл ключа учетной записи службы является лучшим способом аутентификации в Google Cloud
- Для облачных функций вы можете использовать Идентификатор облачных функций
- Для GKE вы можете использовать Идентификатор рабочей нагрузки
- Для приложения Engine, вы можете полагаться на учетную запись службы по умолчанию App Engine
- Для локальной разработки выполните
gcloud auth application-default login
, чтобы создать учетные данные по умолчанию с вашей собственной учетной записью
В каждом случае вы можете восстановить учетные данные по умолчанию в своем коде. ( здесь пример простых учетных данных, без клиентской библиотеки, только библиотека Google OAuth2)
Примечание. Для некоторых операций учетная запись службы App Engine по умолчанию не используется (сгенерировать токен идентификации на основе серверов метаданных или изменение области действия access_token). Для этого я рекомендую вам выдавать себя за учетные записи служб вместо использования файла ключей учетной записи службы