授權 Cloud SDK 工具

通常您必須先授權 Google Cloud SDK 工具,才能存取 Google Cloud Platform (GCP)。這個頁面會示範可用的授權選項,以及說明如何管理您用來授權的帳戶。如果您正在使用 Google Compute Engine 執行個體或 Google Cloud Shell,您不需要授權 Cloud SDK 工具。

帳戶類型

如要授予 Cloud SDK 工具存取 GCP 的權限,您可以使用使用者帳戶服務帳戶

使用者帳戶是一種 Google 帳戶,它可讓使用者直接驗證您的應用程式。最常見的用途,特別是從指令列以 Cloud SDK 工具互動時,使用使用者帳戶是最佳的作法。

服務帳戶是與您的 GCP 相關的 Google 帳戶,並非特定使用者。服務帳戶可供您將服務帳戶金鑰加入至您的應用程式。或者,在您使用 Google Cloud Functions、Google App Engine、Google Compute Engine 或 Google Kubernetes Engine 時,您可使用內建的可用服務帳戶。在多部機器上,建議使用服務帳戶編寫 Cloud SDK 的指令碼。

選擇授權類型

您必須授權 Cloud SDK 中的 gcloud CLI 及其他工具,才能使用這些工具管理平台資源。Cloud SDK 和 Cloud Platform 使用 OAuth2 來驗證與授權。

選擇下列其中一種授權種類:

類型 說明
使用者帳戶 如果您從指令列使用 Cloud SDK 工具,或是您在單一機器上編寫 Cloud SDK 工具指令碼,則建議使用。
服務帳戶 如果您在實際工作環境中,正要安裝或設定 Cloud SDK 作為機器部署程序的一部分,或是在所有使用者可存取 root 的 Google Compute Engine 虛擬機器執行個體上使用,則建議使用。

請閱讀 Cloud Platform 驗證指南,進一步瞭解授權和 Cloud Platform。

使用使用者帳戶授權

您可以使用下列 gcloud CLI 指令授予使用者帳戶存取權:

指令 說明
gcloud init 授權存取和執行其他常見 Cloud SDK 設定步驟。
gcloud auth login 僅授權存取。

在授權期間,這些指令會從 Cloud Platform 取得帳戶憑證,然後將其儲存於本機系統。指定的帳戶之後會變成您 Cloud SDK 配置的使用中帳戶。gcloud CLI 與其他 Cloud SDK 工具都使用已儲存的憑證存取 Cloud Platform。您可以在單一 Cloud SDK 安裝上擁有已儲存的憑證帳戶,不限數量,但不論何時,您都只能有一個使用中的帳戶。

執行 gcloud init

gcloud init 可授予存取權並執行其他常見的 Cloud SDK 設定步驟。它使用網頁式授權流程來驗證使用者帳戶並授予存取權限。

如何授權存取和執行其他常見的 Cloud SDK 設定步驟:

  1. 執行 gcloud init

    gcloud init
    

    或是,如要預防指令自動開啟網路瀏覽器:

    gcloud init --console-only
    

    如果您要使用 ssh 在遠端系統執行指令,且在該系統上無法存取瀏覽器時,--console-only 標記就非常實用。您必須在本機系統的瀏覽器中手動開啟提供的網址,才能完成授權程序。

  2. 按照瀏覽器式授權流程來驗證帳戶並授予存取權限。

請閱讀初始化 Cloud SDK 進一步瞭解這個指令和 Cloud SDK 初始化。

執行 gcloud auth login

gcloud auth login 僅授權使用者帳戶。

如何在不執行其他設定步驟下授權存取:

  1. 執行 gcloud auth login

    gcloud auth login
    

    gcloud auth login --no-launch-browser
    

    您可以使用 --no-launch-browser 標記預防指令自動開啟網路瀏覽器。您必須在本機系統的瀏覽器中手動開啟提供的網址,才能完成授權程序。

  2. 按照瀏覽器式授權流程來驗證帳戶並授予存取權限。

使用服務帳戶授權

gcloud auth activate-service-account 會使用服務帳戶來授予存取權。如同使用 gcloud initgcloud auth login,在成功完成的狀態下,這個指令會將服務帳戶憑證儲存在本機系統上,並設定指定帳戶作為您 Cloud SDK 配置內的使用中帳戶。

如何使用服務帳戶授權:

  1. 前往 Google Cloud Platform 主控台的 [服務帳戶] 頁面。

    前往 [服務帳戶] 頁面

  2. 按一下 [Create service account] (建立服務帳戶) 或選擇一個現有帳戶。

  3. 在服務帳戶資料表的「Options」(選項) 資料欄中按一下 [More] (更多) 按鈕 建立金鑰檔案,接著選取 [Create key] (建立金鑰) 以建立並下載 JSON 格式的金鑰檔案。

    建立金鑰檔案

  4. 如有需要,將金鑰檔案移至授權 Cloud SDK 工具所在相同系統上的位置。

    或者,除了執行步驟 1-4 之外,您也可以透過 gcloud iam service-accounts keys create 從現有服務帳戶上取得金鑰。

  5. 執行 gcloud auth activate-service-account

    gcloud auth activate-service-account --key-file [KEY_FILE]
    
  6. 從系統中移除金鑰檔案。請注意,gcloud CLI 會儲存金鑰,金鑰的 gcloud CLI 複本仍將保留下來。

列出帳戶

如要列出將憑證儲存在本機系統上的帳戶,請執行 gcloud auth list

gcloud auth list

gcloud CLI 會列出帳戶並顯示目前使用中的帳戶:

Credentialed accounts:
 - user-1@gmail.com (active)
 - user-2@gmail.com

切換使用中帳戶

如要切換使用中帳戶,請執行 gcloud config set

gcloud config set account [ACCOUNT]

其中,[ACCOUNT] 為帳戶的完整電子郵件地址。

您也能透過建立指定不同帳戶的個別配置來切換帳戶,並在不同配置之間切換:

gcloud config configurations activate [CONFIGURATION]

如果您要在每次叫用時切換 gcloud CLI 使用的帳戶,可以用 --account 標記覆寫使用中的帳戶。

撤銷帳戶憑證

當您要禁止特定帳戶使用 gcloud CLI 與其他 Cloud SDK 工具存取時,可以撤銷憑證。您不需要為了切換帳戶而撤銷憑證。

如要撤銷憑證,請執行 gcloud auth revoke

gcloud auth revoke [ACCOUNT]

如要在所有機器上撤銷所有用於 Cloud SDK 的存取權,請從可存取您帳戶的應用程式清單上移除 Cloud SDK

尋找您的憑證檔案

如要尋找憑證檔案的位置,請執行 gcloud info

gcloud info

gcloud CLI 會輸出關於 Cloud SDK 安裝的相關資訊。憑證檔案會儲存於使用者配置目錄中:

User Config Directory: [/home/username/.config/gcloud]

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud SDK 說明文件