簡體   English   中英

如何創建 Kubernetes 角色,用戶可以在其中創建可以執行任何操作的命名空間?

[英]How can I create a Kubernetes role in which a users can create namespaces in which they can do anything?

我創建了一個角色,下面是角色的定義:

---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: ${SERVICE_ACCOUNT_NAME}-full-access-role
  namespace: ${NAMESPACE}
rules:
- apiGroups: ["", "extensions", "apps"]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["batch"]
  resources:
  - jobs
  - cronjobs
  verbs: ["*"]

使用此角色,用戶可以創建、列出和刪除命名空間中的任何資源,但問題是它還可以列出集群中的所有命名空間。

我想讓用戶能夠創建命名空間並可以在其中執行任何操作,但他們也不能列出任何資源,即使是其他不是由用戶創建的命名空間。

我認為您不能拒絕用戶訪問權限來列出所有名稱空間並同時為他們提供您需要的訪問權限。 至少在裸機 kubernetes 中沒有。 閱讀以下GH issue ,它與您遇到的類似問題有關。

如果您能告訴我們您使用的是哪個雲平台,將會有所幫助。 據我所知,不同的雲平台以不同的方式處理基於角色的訪問。

話雖如此,我相信應該為您想要的特定訪問級別預定義角色。 通常基於角色的授權會逐漸減少。 如果您在文件夾級別授予某人對資源的訪問權限,則該用戶將能夠訪問該文件夾中的所有資源。 由於您想授予對命名空間中任何資源的訪問權限,因此我將授予該級別的用戶訪問權限。

暫無
暫無

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

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