在gcloud使用service account認證

在Google Compute Engine上開立主機時候,有時我們會忘記將將project access permission打開(下面的Project Access),這時候又不想要綁user account到這台主機... 



這時候如果透過service account綁定一個專案的話,可以很快速的讓該主機可以再擁有存取專案的權限(補充:須注意,如果使用service account,則該service account將具備專案完整的存取權限喔...)

Step1: 建立Service Account,記得選擇JSON Key





Step2: 將key複製到主機,在這邊我們的測試機器在GCE上,可以透過gcloud compute copy-files將檔案放到

gcloud compute copy-files ~/Downloads/mitac-cp300-taipei101-91701c7418ca.json peihsinsu@centos6:~



Step3: 使用service account認證gcloud,其中key-file是指定到所下載的JSON Key...

$ gcloud auth activate-service-account 28817...mut8@developer.gserviceaccount.com --key-file mykey.json --project my-project-id



當認證成功,執行gcloud指令跟gsutil等等的指令就沒有問題啦 :D