Qual é a maneira mais simples de usar a gcloud
linha de comando de maneira não interativa com uma Conta de Serviço fora do GCE? De preferência, sem sobrecarregar o sistema de arquivos com arquivos de credenciais, e é gcloud auth activate-service-account --key-file=...
isso que faz.
Existem muitos casos de uso para usar gcloud
com uma conta de serviço. Por exemplo, em um servidor, eu gostaria de testar se o GOOGLE_APPLICATION_CREDENTIALS
está definido corretamente e tem as permissões necessárias antes de executar meu aplicativo. Ou, eu gostaria de executar alguns scripts de instalação ou scripts cron que realizam alguma verificação com a gcloud
linha de comando.
As bibliotecas do Google Cloud (por exemplo , python , java ) usam automaticamente a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS
para autenticar no Google Cloud. Infelizmente, porém, essa linha de comando parece não ter efeito gcloud
. O que é uma maneira limpa de usar gcloud
, deixando intacto o sistema de arquivos?
$ 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.