驗證總覽
本頁說明 GKE on Azure 如何處理Google Cloud 的驗證,以及叢集的使用者驗證。
Azure 中的 GKE 如何連線至 Azure
GKE Multi-Cloud API 會使用 AzureClient 物件向 Azure 進行驗證。建立用戶端時,Google 會產生 X.509 金鑰組。將公開金鑰上傳至 Azure Active Directory (Azure AD)。
詳情請參閱「建立 AzureClient」。
驗證
GKE Multi-Cloud API 驗證
您可以使用 GKE Multi-Cloud API 建立、更新及刪除叢集和節點集區。與其他 Google Cloud API 相同,您可以使用 REST、Google Cloud CLI 或 Google Cloud 控制台搭配這個 API。
詳情請參閱Google Cloud 驗證總覽,以及 GKE Multi-Cloud API 參考說明文件。
Kubernetes API 驗證
您可以使用 kubectl
指令列工具執行叢集作業,例如部署工作負載及設定負載平衡器。kubectl
工具會連線至叢集控制層上的 Kubernetes API。如要呼叫這個 API,您必須使用授權憑證進行驗證。
如要取得憑證,請使用下列其中一種方法:
Google 身分,可讓使用者透過 Google Cloud 身分登入。如果使用者已透過 Google 帳戶存取 Google Cloud ,請使用這個選項。
GKE Identity Service,可讓使用者透過 OpenID Connect (OIDC) 登入。
透過 GKE Identity Service,您可以使用 Okta、Active Directory 同盟服務 (ADFS) 等身分識別提供者,或任何符合 OIDC 標準的身分識別提供者。OktaOIDC
授權
Azure 上的 GKE 提供兩種存取權控管方法:GKE Multi-Cloud API 和角色型存取權控管 (RBAC)。本節將說明這兩種方法的差異。
如要保護叢集和工作負載,最好的方式是採取分層防護。針對提供給使用者和工作負載的存取層級,您可以採取最低權限原則。您可能需要做出取捨,以利提供適當的彈性和安全性。
GKE Multi-cloud API 存取權控管
叢集管理員可透過 GKE Multi-Cloud API 建立、更新及刪除叢集和節點集區。您可以使用 Identity and Access Management (IAM) 管理 API 的權限。使用者必須具備適當權限,才能使用 API。如要瞭解各項作業所需的權限,請參閱「API 角色和權限」。IAM 可讓您定義角色,並將角色指派給主體。角色其實就是一組權限,指派給主體後,即可控制一或多項 Google Cloud 資源的存取權。
在機構、資料夾或專案中建立叢集或節點集區時,機構、資料夾或專案中具備適當權限的使用者可以修改叢集或節點集區。舉例來說,如果您在Google Cloud 專案層級授予使用者叢集刪除權限,該使用者就能刪除專案中的任何叢集。詳情請參閱Google Cloud 資源階層和「建立 IAM 政策」。
Kubernetes API 存取權控管
您可以使用 Kubernetes API 管理 Kubernetes 物件。如要管理 Kubernetes API 的存取權控管,請使用角色型存取權控管 (RBAC)。詳情請參閱 GKE 說明文件中的設定角色型存取權控管。
管理員權限
使用 gcloud CLI 建立叢集時,GKE Multi-Cloud API 預設會將您的使用者帳戶新增為管理員,並建立適當的 RBAC 政策,授予您叢集的完整管理存取權。如要設定不同使用者,請在建立或更新叢集時傳遞 --admin-users
旗標。使用 --admin-users
標記時,必須納入所有可管理叢集的使用者。gcloud CLI 不會包含建立叢集的使用者。
您也可以使用 Google Cloud 控制台新增管理員使用者。詳情請參閱「更新叢集」一文。
如要查看叢集存取權的設定,請執行下列指令:
kubectl describe clusterrolebinding gke-multicloud-cluster-admin
除了存取 Kubernetes API 伺服器的 RBAC 政策外,如果管理員使用者不是專案擁有者,您還需要授予特定 IAM 角色,讓管理員使用者能透過 Google 身分驗證。如要進一步瞭解如何連線至叢集,請參閱「連結及驗證叢集」。
後續步驟
- 如要設定 OIDC,請參閱「使用 GKE Identity Service 管理身分」。
- 連結及驗證叢集。