2017-07-11 63 views
0

我一直很困惑kubectl的用戶如何被授權。我從零開始引導一個k8s集羣並使用'RBAC'作爲授權模式。所使用的用戶kubectl首先由證書進行認證,然後在訪問api服務器時由RBAC授權。我沒有向用戶授予權限,但是,它允許訪問所有apis(創建pod或列表窗格)。kubectl如何獲得授權?

+0

你能描述你如何設置kubectl?例如:你是直接在虛擬機上運行kubectl,還是在GEK上運行它,然後通過'gcloud containers'配置它? – iamnat

+0

@iamnat根據此文檔,我從頭開始在裸機上安裝k8s:https://kubernetes.io/docs/getting-started-guides/scratch/ –

回答

0

Kubernetes沒有內置的用戶管理系統。它期望你自己實現這個部分。從這個意義上講,實現用戶身份驗證的常用方法是創建證書籤名請求並由集羣證書頒發機構對其進行簽名。通過讀取新生成的證書,羣集將提取用戶名和它所屬的羣組。之後,它將應用您實施的RBAC策略。從這個意義上說,如果用戶可以訪問所有內容,那麼它可以是以下之一:

  • 您仍在使用admin用戶帳戶而不是新創建的用戶帳戶。
  • 您創建的用戶帳戶屬於管理員組
  • 未啓用RBAC正確

本指南幫助您與用戶身份驗證的Kubernetes一個簡單的例子:https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/