Cách đơn giản nhất để sử dụng gclouddòng lệnh không tương tác với Tài khoản dịch vụ bên ngoài GCE là gì? Tốt nhất là không xả rác hệ thống tệp với các tệp thông tin xác thực, đó là những gì gcloud auth activate-service-account --key-file=...làm.
Có nhiều trường hợp sử dụng để sử dụng gcloudvới tài khoản dịch vụ. Ví dụ: trên máy chủ, tôi muốn kiểm tra xem bộ đó có GOOGLE_APPLICATION_CREDENTIALSđược đặt chính xác không và có các quyền cần thiết trước khi chạy ứng dụng của tôi. Hoặc, tôi muốn chạy một số tập lệnh thiết lập hoặc tập lệnh cron thực hiện một số kiểm tra với gclouddòng lệnh.
Các thư viện Google Cloud (ví dụ python , java ) tự động sử dụng biến môi trường GOOGLE_APPLICATION_CREDENTIALSđể xác thực với Google Cloud. Nhưng thật không may, dòng lệnh này dường như không có tác dụng gcloud. Một cách sạch để sử dụng gcloudtrong khi giữ nguyên hệ thống tập tin là gì?
$ 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.