Rancher中的K8S認(rèn)證和RBAC該如何理解

Rancher中的K8S認(rèn)證和RBAC該如何理解,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

西工ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

Rancher Kubernetes擁有RBAC(基于角色的訪問控制)功能,此功能可以讓管理員配置不同的策略,允許或拒絕用戶和服務(wù)帳戶訪問Kubernetes API資源。

為了更好地理解RBAC功能是如何工作的,本文將闡明如何使用Kubernetes API進(jìn)行身份認(rèn)證,以及RBAC授權(quán)模塊如何與認(rèn)證用戶協(xié)同工作。

在Rancher中使用KUBERNETES驗(yàn)證

Rancher使用Webhook Token身份驗(yàn)證策略來認(rèn)證用戶的bearer token。首先,用戶使用Rancher驗(yàn)證通過Kubernetes > CLI選項(xiàng)卡獲得kube配置文件,這其中就包含bearer token。然后,kubectl借助此token和web hook遠(yuǎn)程認(rèn)證服務(wù),用Kubernetes API對用戶進(jìn)行身份認(rèn)證:

Rancher中的K8S認(rèn)證和RBAC該如何理解

當(dāng)用戶嘗試使用bearer token對Kubernetes API進(jìn)行認(rèn)證時(shí),認(rèn)證webhook會(huì)與Rancher Kubernetes認(rèn)證服務(wù)進(jìn)行通信,并發(fā)送包含該token的身份認(rèn)證審查對象。然后,Rancher Kubernetes認(rèn)證服務(wù)將會(huì)發(fā)送一個(gè)檢查狀態(tài),該狀態(tài)指定用戶是否經(jīng)過身份認(rèn)證。

審閱狀態(tài)包含名稱、uid和組等用戶信息。Kubernetes API中的授權(quán)模塊稍后將以此確定該用戶的訪問級別。

以下是Kubernetes發(fā)送給Rancher Kubernetes認(rèn)證服務(wù)的認(rèn)證請求示例。

認(rèn)證請求:

Rancher中的K8S認(rèn)證和RBAC該如何理解

Rancher Kubernetes認(rèn)證服務(wù)決定該用戶是否通過認(rèn)證,并向Kubernetes發(fā)送響應(yīng)。

認(rèn)證響應(yīng):

Rancher中的K8S認(rèn)證和RBAC該如何理解

如您所見,由于環(huán)境所有者發(fā)送此請求,用戶在系統(tǒng)中被歸為system:masters組,該用戶組可以訪問Kubernetes集群中的所有資源:

Rancher中的K8S認(rèn)證和RBAC該如何理解

集群角色“集群管理”資源允許訪問所有API組中的所有Kubernetes資源:

Rancher中的K8S認(rèn)證和RBAC該如何理解

RBAC授權(quán)模塊

對API的請求包含請求者的用戶名、請求的操作以及操作所影響的對象的信息。在對Kubernetes API的請求成功進(jìn)行認(rèn)證之后,必須授權(quán)該請求。

RBAC授權(quán)模塊定義了四個(gè)頂級對象,這四個(gè)對象控制授權(quán)用戶的授權(quán)決策:

  • 角色

  • 集群角色

  • 角色綁定

  • 集群角色綁定

角色和集群角色都標(biāo)識了Kubernetes API資源的權(quán)限集。它們之間唯一的區(qū)別是:角色可以在命名空間中定義,而集群角色綁定則在集群范圍內(nèi)定義。

角色綁定和集群角色綁定將定義的角色分配給用戶、組或服務(wù)帳戶。而它們可以通過在命名空間中進(jìn)行角色綁定或在集群范圍內(nèi)進(jìn)行集群角色綁定來獲得授予權(quán)限。在下一節(jié)中我們將討論相關(guān)示例。

如何在Rancher中啟用Kubernetes RBAC功能

要在Rancher中全新安裝Kubernetes來啟用RBAC功能,您可以編輯默認(rèn)環(huán)境或創(chuàng)建新的環(huán)境模板。在Kubernetes環(huán)境選項(xiàng)中,您可以啟用RBAC,如果您已經(jīng)啟動(dòng)了Kubernetes基礎(chǔ)設(shè)施服務(wù),則可以單擊“更新”以更新Kubernetes的配置選項(xiàng)。

RBAC示例

如前一節(jié)所述,這些示例假設(shè)您已經(jīng)啟用了RBAC功能的Kubernetes,并假設(shè)您已啟用Rancher的GitHub身份認(rèn)證。

作為Kubernetes環(huán)境的所有者,如前所述,您可以訪問所有Kubernetes API,因?yàn)榧汗芾韱T角色是默認(rèn)分配給環(huán)境所有者的。管理員用戶默認(rèn)不會(huì)訪問任何API資源。

若您已將一些GitHub用戶和組添加為Kubernetes環(huán)境的成員,當(dāng)你嘗試訪問Kubernetes API時(shí),則會(huì)收到以下消息:

Rancher中的K8S認(rèn)證和RBAC該如何理解

要跨所有Kubernetes集群啟用GitHub組織的訪問權(quán)限,請創(chuàng)建以下集群角色:

Rancher中的K8S認(rèn)證和RBAC該如何理解

此角色定義了列表并獲得了對服務(wù)資源的訪問權(quán)限。此時(shí), 集群角色不與任何用戶或組關(guān)聯(lián), 因此以下步驟為創(chuàng)建集群角色綁定:

Rancher中的K8S認(rèn)證和RBAC該如何理解

角色綁定指定了GitHub組織的“github_org:”組。這時(shí)您會(huì)發(fā)現(xiàn),當(dāng)您想將角色綁定應(yīng)用于組時(shí),每種認(rèn)證類型都有專門的Rancher認(rèn)證語法。有關(guān)更多詳細(xì)信息,可參閱Rancher文檔:

創(chuàng)建角色綁定后,您就可以列出屬于此GitHub組織的任何用戶的服務(wù)了:

Rancher中的K8S認(rèn)證和RBAC該如何理解

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

當(dāng)前標(biāo)題:Rancher中的K8S認(rèn)證和RBAC該如何理解
當(dāng)前URL:http://bm7419.com/article20/iiopjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、營銷型網(wǎng)站建設(shè)云服務(wù)器、用戶體驗(yàn)微信小程序、網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作