設定使用者存取的驗證方式

本文適用於已為 GKE Identity Service 設定叢集的叢集管理員。這份指南提供操作說明,協助您為貴機構的開發人員和其他使用者,設定及管理這些已設定叢集的存取權。

您可以使用兩種驗證方法,設定叢集的使用者存取權:

  • 使用 FQDN 存取權設定 (建議):採用這種方法時,使用者可以透過叢集 Kubernetes API 伺服器的完整網域名稱 (FQDN),直接向 GKE Identity Service 伺服器進行驗證。詳情請參閱「設定 FQDN 存取權」。
  • 透過檔案存取權設定:採用這種方法時,您會產生登入設定檔,並提供給叢集使用者。使用者即可透過這個檔案,使用 gcloud 驗證指令登入已設定的叢集。詳情請參閱「設定檔案存取權」一文。

設定 FQDN 存取機制 (建議)

本節說明如何提供伺服器的網址 (完整網域名稱),供使用者驗證身分,以設定使用者登入存取權。驗證流程可讓使用者透過 IdP 登入,並提供權杖給使用者,以便新增至 kubeconfig 檔案來存取叢集。只有 VMware 和 Bare Metal 上的地端部署叢集 (Google Distributed Cloud) 支援這種驗證方法,且須為 1.29 以上版本。系統不支援其他叢集類型。如要使用舊版支援的軟體,為地端叢集或其他叢集類型設定驗證,請按照設定檔案存取權的說明操作。

將 FQDN 提供給使用者前,請確保您或平台管理員已完成適當的設定,包括 FQDN 的 DNS 設定,以及在向身分識別提供者註冊時提供 FQDN (如適用)。

與使用者共用 FQDN

叢集管理員可以與使用者分享叢集 Kubernetes API 伺服器的 FQDN (例如 https://apiserver.example.com),而非設定檔。使用者可以透過這個 FQDN 登入叢集。

設定 Identity Service 選項

透過這個設定選項,您可以設定權杖的生命週期。ClientConfig CR 中的 identityServiceOptions 具有 sessionDuration 參數,可讓您設定權杖存留時間 (以分鐘為單位)。sessionDuration 參數的下限為 15 分鐘,上限為 1440 分鐘 (24 小時)。

以下是 ClientConfig CR 中的範例:

spec:
    identityServiceOptions:
      sessionDuration: INT

其中 INT 是以分鐘為單位的上課時間長度。

設定以檔案為基礎的存取權

除了使用 FQDN 存取叢集,叢集管理員也可以產生登入設定檔,並提供給叢集使用者。如果您要為不支援 FQDN 存取機制的叢集版本或類型設定驗證,建議使用這個選項。使用者可以透過這個檔案,使用所選供應商從指令列存取叢集。這種驗證方法僅適用於 OIDC 和 LDAP 提供者。

產生登入設定

控制台

(僅限機群層級設定)

複製顯示的 gcloud 指令並執行,即可產生檔案。

gcloud

如果您使用 gcloud CLI 設定叢集,或是需要再次產生檔案,請執行下列指令來產生檔案:

gcloud anthos create-login-config --kubeconfig=KUBECONFIG

其中 KUBECONFIG 是叢集的 kubeconfig 檔案路徑。如果 kubeconfig 中有多個環境,系統會使用目前的環境。您可能需要將目前的背景資訊重設為正確的叢集,才能執行指令。

如要查看這個指令的完整參考資料 (包括其他選用參數),請參閱 Google Cloud CLI 參考指南

登入設定檔的預設名稱為 kubectl-anthos-config.yaml,這是 Google Cloud CLI 使用該檔案登入時預期的名稱。如要將這個名稱變更為非預設名稱,請參閱「發布登入設定」一文的相關章節。

如需使用者存取權相關的疑難排解資訊,請參閱「排解使用者存取權問題」。

發布登入設定

以下是發布設定檔的幾種方式:

  • 將檔案存放在可存取的網址。使用者可以在執行 gcloud anthos auth login 時,使用 --login-config 旗標指定這個位置,讓 Google Cloud CLI 取得檔案。

    建議將檔案代管於安全的主機。如要進一步瞭解如何使用 PEM 憑證安全存取 HTTPS,請參閱 gcloud CLI 的 --login-config-cert 標記。

  • 手動將檔案提供給每位使用者,並說明檔案在本機上的儲存位置 (Google Cloud CLI 預期會在作業系統專屬的預設位置找到檔案)。如果檔案名稱或位置不是預設值,使用者必須在對叢集執行指令時,使用 --login-config 標記指定設定檔位置。如需使用者儲存檔案的操作說明,請參閱「使用 GKE Identity Service 存取叢集」。

  • 使用內部工具將驗證設定檔推送至每位使用者的電腦。Google Cloud CLI 會在下列位置尋找檔案 (視使用者 OS 而定):

    Linux

    $HOME/.config/google/anthos/kubectl-anthos-config.yaml

    macOS

    $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml

    Windows

    %APPDATA%\google\anthos\kubectl-anthos-config.yaml