將 Google 群組連結至 Azure 上的 GKE
本文說明如何以 Google 群組成員的身分連線至 Azure 上的 GKE。
與為個別使用者建立授權相比,使用 Google 群組授予叢集存取權的效率更高。舉例來說,假設您想將 50 位使用者新增至叢集管理員群組、75 位使用者新增至編輯者群組,以及 100 位使用者新增至讀者群組。如要讓所有這些使用者連線至叢集,您必須在 Kubernetes 資訊清單檔案中為 225 位使用者建立 RBAC 規則。不過,啟用 Google 群組的叢集存取權可節省時間,因為您只需要為三個 Google 群組建立 RBAC 規則。
事前準備
如要以 Google 群組成員的身分連線至叢集,必須符合下列先決條件:
確認您擁有最新版的 Google Cloud CLI。如要瞭解如何更新 gcloud CLI,請參閱
gcloud components update
。使用 Azure 版 GKE 1.25 以上版本,這是透過連線閘道存取時的必要條件。
kubectl
使用 Google 群組連線至叢集
如要授權 Google 群組連線至 Azure 上的 GKE,請按照下列步驟操作:
使用下列指令啟用
connectgateway
和cloudresourcemanager
API:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
將
PROJECT_ID
替換為 Azure 專案的 ID。如果專案網域中沒有
gke-security-groups
群組,請建立該群組。在
gke-security-groups
群組中建立一或多個子群組,用於叢集驗證。將使用者加入新建立的子群組。
如要使用連線閘道存取
kubectl
,您需要將 IAM 角色授予 Google 群組:為群組選取適當的角色。這個角色會決定群組與連線閘道的互動方式。角色可以是下列其中一個:
roles/gkehub.gatewayAdmin
、roles/gkehub.gatewayEditor
、roles/gkehub.gatewayReader
。(請注意,您並未在此授予叢集權限,該步驟會在稍後進行。在這裡,您只是要判斷群組使用者如何操控連線閘道。)執行下列指令,將角色授予群組:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
更改下列內容:
PROJECT_ID
:您的 Google 專案 IDGROUP_NAME
:要授予存取權的群組名稱DOMAIN
:您的 Google Workspace 網域GATEWAY_ROLE
:所選角色。例如roles/gkehub.gatewayAdmin
、roles/gkehub.gatewayEditor
或roles/gkehub.gatewayReader
。
在 Kubernetes 資訊清單中,定義每個 Google 群組在叢集中的權限。舉例來說,下列資訊清單會將叢集管理員角色授予 Google 群組
cluster-admin-team
:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
將資訊清單儲存至檔案,然後執行下列指令,將資訊清單套用至叢集:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
更改下列內容:
KUBECONFIG_PATH
:kubeconfig
檔案的路徑。FILENAME
:您建立的資訊清單檔案名稱。
完成這些步驟後,特定 Google 群組的使用者就能連線至叢集。在上述範例中,屬於 Google 群組 cluster-admin-team
的使用者可以管理員身分連線至叢集。