關於 OS 登入

本頁面說明 OS 登入服務和運作方式。如要瞭解如何設定 OS 登入,請參閱「設定 OS 登入」。

使用 OS 登入功能,透過 IAM 管理執行個體的 SSH 存取權,不必建立及管理個別的 SSH 金鑰。OS 登入可在 Compute Engine 執行個體中維持一致的 Linux 使用者身分,因此建議您使用這項功能,管理多個運算執行個體或專案中的多位使用者。

OS 登入的優點

OS 登入可將 Linux 使用者帳戶連結至您的 Google 身分,因而能簡化 SSH 存取權管理。管理員可在執行個體或專案層級,藉由設定 IAM 權限來輕鬆管理執行個體存取權。

OS 登入可提供以下優點:

  • 自動化 Linux 帳戶生命週期管理:您可以直接將 Linux 使用者帳戶繫結至使用者的 Google 身分,以便讓相同的 Linux 帳戶資訊可以在同一專案或機構的所有執行個體中使用。

  • 使用 Google IAM 進行精細授權 - 專案和執行個體層級的管理員可以使用 IAM,將 SSH 存取權授予使用者的 Google 身分,不必授予更廣泛的權限。舉例來說,您可以授予使用者登入系統的權限,但不能授予執行 sudo 等指令的權限。Google 會檢查這些權限,判斷使用者是否可以登入運算執行個體。

  • 自動更新權限:使用 OS 登入 時,管理員變更 IAM 權限後,系統會自動更新權限。舉例來說,如果從 Google 身分移除 IAM 權限,系統就會撤銷運算執行個體的存取權。Google 會檢查每次登入嘗試的權限,防止未經授權的存取行為。

  • 支援憑證型驗證 - 您可以使用 SSH 憑證驗證,連線至使用 OS 登入的運算執行個體。詳情請參閱「使用 OS 登入功能時要求提供 SSH 憑證」。

  • 與稽核記錄整合:OS 登入提供稽核記錄,可用於監控 OS 登入使用者與運算執行個體的連線。

OS 登入 IAM 角色

OS 登入功能會使用 IAM 授權登入存取權。您可以在執行個體、資料夾或組織層級授予 OS 登入 IAM 角色。OS 登入提供下列預先定義的角色:

  • roles/compute.osLogin:授予登入存取權,但不授予運算執行個體的 sudo 存取權。
  • roles/compute.osAdminLogin:授予登入存取權,並sudo存取運算執行個體。

如需指派 OS 登入 IAM 角色的指南,請參閱「指派 OS 登入 IAM 角色」。

OS 登入的運作原理

啟用 OS 登入後,Compute Engine 會對運算執行個體和 OS 登入使用者的 Google 帳戶進行設定。

運算執行個體設定

啟用 OS 登入後,使用者會透過 OS 登入管理的憑證授權單位簽署的短期 SSH 憑證連線。運算執行個體會根據 OS 登入憑證授權單位驗證每個憑證,並向 OS 登入服務確認使用者是否已獲得登入授權。

即使已啟用 OS 登入功能,您也可以設定 authorized_keys 檔案,為本機使用者帳戶佈建存取權。系統會使用 authorized_keys 檔案中設定的安全殼層公開金鑰,驗證本機使用者登入嘗試。本機使用者帳戶和 OS 登入使用者的使用者名稱和 UID 必須不同。

如要進一步瞭解 OS 登入元件,請參閱 OS 登入 GitHub 頁面。

設定使用者帳戶

當您執行下列任一操作時,OS 登入會使用 POSIX 資訊 (包括使用者名稱) 設定 您的使用者帳戶 :

  • 使用 Google Cloud 控制台連線至已啟用 OS 登入的運算執行個體
  • 使用 gcloud CLI 連線至已啟用 OS 登入的運算執行個體

OS 登入功能會使用下列值設定 POSIX 帳戶:

  • 使用者名稱: 使用者工作團隊身分集區中的google.posix_username屬性對應值。

  • UID:隨機產生的專屬 POSIX 相容使用者 ID。

  • GID:符合 POSIX 標準的群組 ID,與 UID 相符。

  • 主目錄:使用者主目錄的路徑。

限制

並非所有運算執行個體設定都支援 OS 登入。詳情請參閱「OS 登入限制」。

後續步驟