集群架構、部署和配置——基于RBAC的角色管理

RBAC是什么转唉?

RBAC模型(Role-Based Access Control:基于角色的訪問控制)模型是比較早期提出的權限實現(xiàn)模型,在多用戶計算機時期該思想即被提出稳捆,其中以美國George Mason大學信息安全技術實驗室(LIST)提出的RBAC96模型最具有代表赠法,并得到了普遍的公認。

RBAC認為權限授權的過程可以抽象地概括為:Who是否可以對What進行How的訪問操作乔夯,并對這個邏輯表達式進行判斷是否為True的求解過程砖织,也即是將權限問題轉換為Who、What末荐、How的問題侧纯,Who、What甲脏、How構成了訪問權限三元組眶熬,具體的理論可以參考RBAC96。

在RBAC模型里面块请,有3個基礎組成部分娜氏,分別是:用戶、角色和權限墩新,它們之間的關系如下圖所示:


User(用戶):每個用戶都有唯一的UID識別贸弥,并被授予不同的角色

Role(角色):不同角色具有不同的權限

Permission(權限):訪問權限

用戶-角色映射:用戶和角色之間的映射關系

角色-權限映射:角色和權限之間的映射

例如下圖,管理員和普通用戶被授予不同的權限抖棘,普通用戶只能去修改和查看個人信息茂腥,而不能創(chuàng)建用戶和凍結用戶狸涌,而管理員由于被授予所有權限,所以可以做所有操作最岗。


Kubernates集群中的所有資源的訪問和變更都是通過Kubernates API Server的 REST API來實現(xiàn)的帕胆,所以集群安全的關鍵點就在于如何識別并認證客戶端身份,以及隨后訪問權限的授權這兩個關鍵問題般渡。Kubernates安全機制里面設計了三道關卡懒豹,得通過三關客戶端的調用請求才能夠得到API Server的真正響應:

1. 認證

2. 鑒權

3. 準入控制(Admission Control)


API Server認證方式有三種:

1. HTTPS證書認證:基于CA根證書簽名的雙向數(shù)字證書認證方式

2. HTTP Token認證:通過一個Token來識別合法用戶

3. HTTP Base認證:通過用戶名+密碼的方式認證

API Server目前支持以下6種授權策略:

1. AlwaysDeny

2. AlwaysAllow

3. ABAC: 基于屬性的訪問控制

4. Webhook:通過調用外部REST服務對用戶進行授權

5. RBAC:基于角色的訪問控制

6. Node: 是一種專用模式,用于對kubelet發(fā)出的請求進行訪問控制


RBAC工作原因HOW驯用?

RBAC作為kubeadm安裝方式的默認選項脸秽,足見其重要程度。

1. RBAC的資源對象

????1. 1Role?

? 一個角色就是一組權限的集合蝴乔。角色(Role)只能對命名空間內的資源進行授權记餐,例如:

? apiGroups:支持的API組列表

? resources: 支持的資源對象列表,例如pods薇正、deployments片酝、jobs等

? verbs:對資源對象的操作方法列表,例如get挖腰、watch雕沿、list、delete猴仑、replace审轮、patch等


2. ClusterRole

? 集群角色除了具有和角色一致的命名空間內資源的管理能力,因其集群級別的范圍辽俗,還可以用于這些特殊元素的授權:

? 集群范圍的資源疾渣,例如Node

? 非資源型的路徑,/healthz

? 包含全部命名空間的資源榆苞,例如pods, --all-namespace

3. RoleBinding & ClusterRoleBinding

? 角色綁定或集群角色綁定用來把一個角色綁定到一個目標上稳衬,綁定目標可以是User,Group,或者Service Account。使用RoleBinding 為某個命名空間授權坐漏,使用ClusterRoleBinding為集群范圍內授權.


2. 對資源的引用方式

有兩種resources和ResourceNames. 可以像以上例子一樣配置resources為一個數(shù)組, 以此來授權讓某個主體同時能夠讀取pod和pod log:

在指定resourceNames以后薄疚,使用get,delete等操作請求,就會被限制在這個資源實例范圍內赊琳。例如街夭,下面的聲明讓一個主體只能對一個configmap進行get和update操作:

API Server在接受到請求以后,會讀取該請求的數(shù)據(jù)躏筏,生成一個訪問策略對象板丽。然后將這個訪問策略對象和授權策略文件中的所有訪問策略對象逐條匹配,如果至少有一個策略對象被匹配,則該請求被鑒權通過埃碱,否則終止API調用流程猖辫,并返回客戶端的錯誤調用碼。

示例

1. 使用RBAC授權模式砚殿,需要在API Server的啟動參數(shù)中加上 --authorization-mode = RBAC

2. 常見的角色綁定示例

首先聲明角色pod-reader:


聲明RoleBinding:


通過kubectl apply -f 上面的yaml文件啃憎,可以完成jane is pod-reader的角色綁定,pod-reader只能對該命名空間范圍內的pods做操作get, watch, list.

總結:

本文首先介紹了RBAC的基本概念似炎,RBAC的工作原理辛萍,最后演示了如何進行角色綁定。

reference:

(1)https://segmentfault.com/a/1190000023179921

(2)https://blog.51cto.com/billy98/2380061?

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末羡藐,一起剝皮案震驚了整個濱河市贩毕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仆嗦,老刑警劉巖辉阶,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瘩扼,居然都是意外死亡睛藻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門邢隧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冈在,你說我怎么就攤上這事倒慧。” “怎么了包券?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵纫谅,是天一觀的道長。 經常有香客問我溅固,道長付秕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任侍郭,我火速辦了婚禮询吴,結果婚禮上,老公的妹妹穿的比我還像新娘亮元。我一直安慰自己猛计,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布爆捞。 她就那樣靜靜地躺著奉瘤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪煮甥。 梳的紋絲不亂的頭發(fā)上盗温,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天藕赞,我揣著相機與錄音,去河邊找鬼卖局。 笑死斧蜕,一個胖子當著我的面吹牛,可吹牛的內容都是我干的吼驶。 我是一名探鬼主播惩激,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蟹演!你這毒婦竟也來了风钻?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤酒请,失蹤者是張志新(化名)和其女友劉穎骡技,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羞反,經...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡布朦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了昼窗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片是趴。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖澄惊,靈堂內的尸體忽然破棺而出唆途,到底是詐尸還是另有隱情,我是刑警寧澤掸驱,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布肛搬,位于F島的核電站,受9級特大地震影響毕贼,放射性物質發(fā)生泄漏衙伶。R本人自食惡果不足惜夏志,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一俭驮、第九天 我趴在偏房一處隱蔽的房頂上張望翘悉。 院中可真熱鬧,春花似錦待秃、人聲如沸骇窍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腹纳。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嘲恍,已是汗流浹背足画。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留佃牛,地道東北人淹辞。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像俘侠,于是被迫代替她去往敵國和親象缀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內容