Как проще всего использовать gcloud
командную строку неинтерактивно с учетной записью службы вне GCE? Желательно без засорения файловой системы файлами учетных данных, что и gcloud auth activate-service-account --key-file=...
делает.
Существует много вариантов использования gcloud
с учетной записью службы. Например, на сервере я хотел бы проверить GOOGLE_APPLICATION_CREDENTIALS
правильность установки и наличие необходимых разрешений перед запуском моего приложения. Или я хотел бы запустить некоторые установочные сценарии или сценарии cron, которые выполняют некоторую проверку с помощью gcloud
командной строки.
Библиотеки Google Cloud (например, python , java ) автоматически используют переменную окружения GOOGLE_APPLICATION_CREDENTIALS
для аутентификации в Google Cloud. Но, к сожалению, эта командная строка, кажется, не влияет на gcloud
. Какой чистый способ использовать gcloud
, оставляя файловую систему нетронутой?
$ GOOGLE_APPLICATION_CREDENTIALS=/etc/my-service-account-4b4b6e63aaed.json gcloud alpha pubsub topics publish testtopic hello
ERROR: (gcloud.alpha.pubsub.topics.publish) You do not currently have an active account selected.
Please run:
$ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
$ gcloud config set account ACCOUNT
to select an already authenticated account to use.