設定使用者存取的驗證方式
本文適用於已為 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