本文說明如何在工作站中驗證及設定 API 存取權,包括如何使用 Workstations UI 登入,以驗證 gcloud CLI,並將憑證提供給應用程式預設憑證 (ADC)。
使用 Google Cloud CLI 以使用者身分驗證
啟動 Cloud Workstations 後,您可以使用使用者帳戶,透過 gcloud CLI 存取 Google Cloud 服務和 API。
如要驗證 gcloud CLI 並將使用者憑證提供給應用程式預設憑證 (ADC),請選擇下列其中一個選項:
使用者透過 Workstations UI 登入
透過 Google Cloud 控制台登入後,系統會自動驗證gcloud CLI,並將您的使用者憑證提供給工作站環境中的應用程式預設憑證 (ADC)。
在工作站資源上啟用 UI 登入功能
如要使用這項功能,請確認工作站設定和叢集都已設為支援 UI 登入:
-
在 Google Cloud 控制台中,前往工作站設定的「Environment settings」(環境設定) 區段。在「驗證」下方,勾選「啟用推送憑證」核取方塊 (或在 API 中設定
enable_pushing_credentials: true)。 -
使用
gcloudCLI,將叢集的控制台基準網址設為 Google Cloud 控制台端點 (例如https://console.cloud.google.com/):gcloud beta workstations clusters update CLUSTER_NAME \ --region=REGION \ --console-base-url="https://console.cloud.google.com/"
從工作站登入
如要登入並驗證工作站,請按照下列步驟操作:
- 在 Code OSS for Cloud Workstations 編輯器中,按一下「Sign in to your Workstation」。 Google Cloud 控制台登入視窗隨即開啟。
- 在 Google Cloud 控制台中,確認工作站詳細資料 (例如工作站 ID) 和帳戶詳細資料,然後按一下「Continue」(繼續)。
- 按一下「確認」即可完成登入。
-
看到確認訊息後,請關閉瀏覽器視窗,然後返回編輯器。
現在,您可以在工作站環境中,將憑證用於
gcloudCLI 和應用程式預設憑證 (ADC)。
登入工作階段會在 1 小時後過期。 工作階段即將到期時,Code OSS for Cloud Workstations 編輯器中的登入按鈕會顯示「EMAIL (Google) - Expiring soon」(EMAIL (Google) - 即將到期) (其中 EMAIL 是您的電子郵件地址),或「Workstation sign in expiring soon」(工作站登入即將到期)。如要重新整理憑證,請按一下按鈕,然後按照 Google Cloud 控制台中的提示操作。
使用 gcloud CLI 登入
如果設定或叢集未啟用 UI 登入功能,您可以在工作站內,透過終端機使用 gcloud CLI 手動登入:
- 在工作站中開啟終端機。開啟終端機視窗的方式取決於您使用的 IDE。舉例來說,如果您使用的是 Cloud Workstations 基本編輯器,請依序選取「Terminal」>「New Terminal」,或按下 Control+Shift+` 鍵,開啟終端機。
- 使用下列指令進行驗證:
gcloud auth login --no-launch-browser
- 按照指令提供的操作說明,向 Google Cloud進行驗證。
- 使用下列指令指定 Google Cloud 專案 ID:
gcloud config set project PROJECT_ID
-
啟用應用程式預設憑證,以便呼叫 Google Cloud 服務。
gcloud auth application-default login
gcloudCLI 憑證現已儲存,日後在工作站工作階段中可供使用。
向工作站發出 HTTP 要求
如要向工作站發出 HTTP 要求,您必須具備帳戶的存取權杖,且該帳戶在該工作站上具有 Cloud Workstations 使用者角色:
- 使用 generateAccessToken API 方法產生存取權杖。
- 新增名為
Authorization的 HTTP 標頭,並將值設為Bearer $TOKEN。
在瀏覽器中連線至工作站
在瀏覽器中開啟工作站網址,系統會自動重新導向至工作站伺服器進行驗證,並擷取由 generateAccessToken API 方法產生的存取權杖。系統會重新導向回工作站,並設定目前工作站工作階段有效的驗證 Cookie。
如要略過這項重新導向,請使用 _workstationAccessToken 網址參數:
- 使用 generateAccessToken API 方法產生存取權杖。
- 在瀏覽器中開啟工作站網址,並附加下列格式的網址參數:
_workstationAccessToken=TOKEN。
這會在瀏覽器中設定驗證 Cookie,允許存取目前的工作站工作階段。如果網路政策封鎖了工作站伺服器的存取權,或使用 iframe 在其他網站顯示工作站,略過重新導向可能會有幫助。
模擬服務帳戶
如果貴組織的安全政策禁止使用者帳戶具備必要權限,您也可以模擬服務帳戶。如要模擬工作站設定中指定的服務帳戶,您可以指定服務帳戶範圍欄位。
gcloud workstations configs create CONFIG \
--cluster=CLUSTER \
--region=REGION \
--project=PROJECT \
--service-account=SERVICE_ACCOUNT \
--service-account-scopes=https://www.googleapis.com/auth/cloud-platform
iam.serviceAccounts.actAs 權限。如要進一步瞭解如何指定服務帳戶的範圍,請參閱「存取權範圍」。
後續步驟
- 進一步瞭解 SSH 支援。
- 查看工作站設定參數清單。
- 使用 Identity and Access Management 和 Cloud Workstations 控管存取權