Мой ответ прост: если вы запускаете свой код на GCP, вам не нужно использовать файл ключа служебной учетной записи. Проблема устранена, проблема решена!
Более серьезно, взгляните на сервисную идентификацию. Я не знаю, какой у вас сейчас сервис (Compute? Function? Cloud Run?). В любом случае, вы можете прикрепить любую служебную учетную запись к компонентам GCP. Затем, когда вы кодируете, просто используйте учетные данные по умолчанию. Автоматически загружается идентификатор компонента. Нет ключа для управления, нет ключа для безопасного хранения, нет ключа для поворота!
Если вы предоставите более подробную информацию о вашей целевой платформе, я мог бы дать некоторые рекомендации для достижения этой цели.
Имейте в виду, что файл ключа учетной записи службы предназначен для использования автоматическими c приложениями (без учета учетной записи пользователя), размещенными вне GCP (на прем, другой облачный провайдер, CI / CD, Apigee, ...)
ОБНОВЛЕНИЕ
Когда вы используете свой личный аккаунт, вы также можете использовать учетные данные по умолчанию.
- Установите
gcloud SDK
на свой компьютер - Используйте команду
gcloud auth application-default login
- Следуйте инструкциям
- Наслаждайтесь!
Если это не работает, отобразите <path>
, отображаемый после команды входа в систему, и установите это значение в переменной среды с именем GOOGLE_APPLICATION_CREDENTIALS
.
Если вы хотите использовать файл ключа служебной учетной записи (это проблема безопасности по предыдущей причине, но ...), вы можете использовать ее локально
- Либо задайте путь к файлу ключа json в переменной среды
GOOGLE_APPLICATION_CREDENTIALS
- Или выполните эту команду
gcloud auth activate-service-account --key-file=<path to your json key file>