簡體   English   中英

限制對Google Cloud Platform上的kubernetes集群的訪問

[英]Limit access to a a kubernetes cluster on google cloud platform

我們在Google Cloud Platform上創建了2個不同的Kubernetes集群,一個用於開發,另一個用於生產。 我們的團隊成員具有“編輯”角色(因此他們可以創建,更新刪除和列出窗格)

我們想通過使用Kubernetes提供的RBAC授權來限制對生產集群的訪問。 我創建了一個ClusterRoleClusterBindingRole ,如下所示:

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: prod-all
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: access-prod-all
subjects:
- kind: User
  name: xxx@xxx.com
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: prod-all
  apiGroup: rbac.authorization.k8s.io

但是用戶已經具有“編輯者”角色(完全訪問所有群集)。 所以我不知道我們是否應該分配一個簡單的“查看者”角色而不是使用kubernetes RBAC擴展它。

我還想知道是否存在一種對某些用戶完全隱藏生產集群的方法。 (我們的集群在同一個項目中)

如果您處於初始階段,或者可以設法移動測試集群,我建議您在兩個不同的項目中設置集群。

這將創建兩個完全不同的環境,並且將來您將不會遇到任何問題,並且您將自動禁止訪問一半的資源,並且您不必擔心某些配置錯誤並且產品仍然可以訪問。 當您需要授予某些權限時,您只需將該人添加到具有相應角色的項目中即可

因為也許您成功使用IAM和RBAC阻止了群集訪問,但是您將需要處理對網絡組件,LoadBalacers,防火牆和Compute Engine ecc的訪問的安全保護。

也許一開始它需要很多工作,但從長遠來看,它將為您節省很多問題。

這是Google Cloud官方文檔的鏈接 ,有關如何設置其中兩個正在生產的群集的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM