【華爲雲技術分享】雲容器引擎 CCE權限管理實踐

隨着容器化的快速發展,大數據原有的分佈式任務調度模式,正在被基於Kubernetes的技術架構所取代。CCE雲容器引擎是華爲雲推出的支持Kubernetes社區原生應用和工具,應用級自動彈性伸縮,自動化搭建雲上容器平臺。用戶通過雲容器引擎可以快速高效的將微服務部署在雲端。

爲方便管理員對CCE資源的權限管理,後臺提供了多種維度的細粒度權限管理。CCE的權限管理包括“集羣權限”和“命名空間權限”兩種能力,分別從集羣和命名空間層面對用戶組或用戶進行細粒度授權,具體解釋如下:

集羣權限:是基於IAM系統策略的授權,可以讓用戶組擁有“集羣管理”、“節點管理”、“節點池管理”、“模板市場”、“插件管理”權限。

命名空間權限:是基於Kubernetes RBAC能力的授權。可以讓用戶或用戶組擁有“工作負載”、“網絡管理”、“存儲管理”、“命名空間”權限。

基於IAM系統策略的“集羣權限”與基於Kubernetes RBAC能力的命名空間權限,兩者是完全獨立的,互不影響,但要配合使用。同時,爲用戶組設置的權限將作用於用戶組下的全部用戶。當給用戶或用戶組添加多個權限時,多個權限會同時生效(取並集)。

通常一個公司中有多個部門或項目,每個部門又有多個成員。所以,在配置權限時需要進行詳細設計。如下圖所示的組織架構圖,權限該如何設置呢?

主管:DAVID

由於DAVID需要配置CCE相關的所有權限(包括集羣、k8s資源等)。所以,單獨爲DAVID創建用戶組“cce-admin”,並配置所有項目的權限:“CCE Administrator”。

 

溫馨提示

CCE AdministratorCCE的管理員權限,擁有該服務的所有權限,不需要再賦予其他權限。

CCE FullAccessCCE ReadOnlyAccessCCE的集羣管理權限,僅針對與集羣相關的資源(如集羣、節點)有效,您必須確保同時配置了“命名空間權限”,纔能有操作Kubernetes資源(如工作負載、Service等)的權限。

 

運維組長:JAMES

       爲JAMES創建用戶組“cce-sre”,並配置所有項目的權限:“CCE FullAccess”。自此,便有了所有項目的集羣管理權限。

由於很多工程師都需要只讀權限,所以,應創建只讀用戶組“read_only”。然後,將相關用戶都添加到此用戶組。最後,在CCE的“權限管理”、“命名空間權限”界面爲此用戶組逐個賦予所有集羣的“view”權限。

開發組長:ROBERT

       由於開發組成員並不需要配置集羣管理權限,但也要有界面的只讀權限,所以,應賦予只讀用戶組“read_only”CCE界面的只讀權限。

       同時,再另外賦予其k8s資源的管理員權限。

運維工程師:WILLIAM

       爲WILLIAM創建用戶組“cce-sre-b4”,然後配置北京四項目的“CCE FullAccess”。

開發工程師:LINDA、PETER

       由於前面已經在用戶組“read-only”中爲兩位工程師配置的全局的只讀權限,這裏只需要再另外配置相應的管理權限即可。

小問題:

能否只配置命名空間權限,不配置集羣管理權限?

由於界面權限是由IAM系統策略進行判斷,所以,如果未配置集羣管理權限,就沒有打開界面的權限。

那是否可以使用API呢?

答案也是否定的,因爲API都需要進行IAM的token認證。

那是否可以使用kubectl命令呢?

答案是肯定的。但前提是要先從界面上下載kubectl配置文件。所以,如果先配置了集羣權限,然後再界面下載認證文件。後面再刪除集羣管理權限(保留命名空間權限),依然可以使用kubectl來操作k8s集羣。

 

點擊這裏,瞭解更多精彩內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章