摘要:授權(quán)設(shè)置在中授權(quán)和認(rèn)證是各自獨立的部分。授權(quán)操作適用于所有面向于的請求。授權(quán)將會針對每一個請求,根據(jù)訪問策略來檢查對比請求中的屬性信息比如用戶,資源,等。一個請求必須滿足指定的策略才能繼續(xù)執(zhí)行。僅僅能處于下的。
kubernetes授權(quán)設(shè)置
在kubernetes中授權(quán) 和 認(rèn)證是各自獨立的部分。認(rèn)證部分參見 kubernetes認(rèn)證。
授權(quán)操作適用于所有面向于kubernetes api的http請求。
授權(quán) 將會針對每一個請求,根據(jù)訪問策略來檢查對比請求中的屬性信息(比如 用戶,資源,namespace等)。一個API請求必須滿足指定的策略才能繼續(xù)執(zhí)行。
有如下幾種策略方式:
--authorization_mode=AlwaysDeny
--authorization_mode=AlwaysAllow
--authorization_mode=ABAC
AlwaysDeny 阻止所有請求(通常用在測試環(huán)境);AlwaysAllow允許所有請求,如果不想用授權(quán)機(jī)制可以這么設(shè)置;ABAC允許用戶自定義的授權(quán)策略,ABAC的全寫為:Attribute-Based Access Control(面向?qū)傩缘氖跈?quán)控制)。
ABAC Mode 請求屬性在授權(quán)設(shè)置中,可以用到的屬性設(shè)置有4個:
user ,已經(jīng)被認(rèn)證的用戶;
請求是否是只讀的;
被請求的資源是什么,只接受針對api endpoint的請求,如/api/v1/namespaces/default/pods,對于其他的endpoint,如/version,資源描述則為空string;
訪問對象的namespace,如果訪問的對象不支持namespace,則為空string
授權(quán)文件格式設(shè)置參數(shù)為: --authorization_policy_file=SOME_FILENAME,這樣便開啟ABAC模式。
在指定的文件中,一行為一個json對象,這個json對象包含幾個map格式,這些map對象有如下:
user,string類型,對應(yīng)--token_auth_file 中的user屬性;
readonly,bool類型,當(dāng)設(shè)置為true時,只接受GET請求;
resource,string類型,請求URL中對應(yīng)的資源類型,如pod;
namespace,string類型,對應(yīng)namespace。
如果屬性沒有設(shè)置,那么默認(rèn)值為0 或 false 或 空string。
授權(quán)算法一個請求中設(shè)置的屬性決定了這個請求所能擁有的特性(好繞~)
當(dāng)收到一個請求,就獲取了這個請求應(yīng)該擁有的相應(yīng)特性,如果某些屬性沒有設(shè)置,那么會默認(rèn)設(shè)置為這個屬性類型對應(yīng)的空值,如0,false,空string 等。
如果在授權(quán)文件中某個屬性被重復(fù)定義了,那么只要有一個滿足授權(quán)條件,那么這個請求就被認(rèn)為是被授權(quán)的。
如果在授權(quán)條件中將user設(shè)置為空,那么不會對任何用戶做限制; 如果在授權(quán)條件中獎namespace設(shè)置為空,那么不對任何namespace做限制。
Examples{"user":"alice"}:
用戶alice 可以做任何事!
{"user":"kubelet", "resource": "pods", "readonly": true}:
kubelet可以GET任何pod的信息。
{"user":"kubelet", "resource": "events"}:
kubelet可以對events做任何讀寫操作。
{"user":"bob", "resource": "pods", "readonly": true, "ns": "projectCaribou"}:
Bob 僅僅能GET處于namespace projectCaribou下的pod。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/32415.html
摘要:本文介紹了模型中四個最主要的對象,即,大致了解了的工作原理和使用方法,如果要更加深入地了解和掌握,可以查看官方文檔。只是這個不能復(fù)用到其他,一般只有在做精細(xì)化權(quán)限管理的時候,我們才會創(chuàng)建對象,比如一個只能查看名稱為的。了解RBAC簡介RBAC是一種基于角色來管理對計算機(jī)或網(wǎng)絡(luò)資源訪問策略的方法。我們知道,對K8S內(nèi)所有API對象的操作都是通過訪問kube-apiserver來完成的,因此ku...
摘要:收集整理一些可能較常用的,結(jié)合的自動化系統(tǒng)以及監(jiān)控可能會用到。注涉及到方法中的為發(fā)送的數(shù)據(jù)體。注意刪除,對應(yīng)的并不會級聯(lián)刪除,需要在手動調(diào)用刪除對應(yīng)的略不爽 收集整理一些可能較常用的api,結(jié)合kubernetes的自動化系統(tǒng) 以及 監(jiān)控可能會用到。 注:涉及到POST方法中的json為發(fā)送的數(shù)據(jù)體。 get node curl -i -k -H Authorization: ...
摘要:如版本之前版本到版本之間版本之后一各種的含義該軟件可能包含錯誤。啟用一個功能可能會導(dǎo)致隨時可能會丟棄對該功能的支持,恕不另行通知軟件經(jīng)過很好的測試。啟用功能被認(rèn)為是安全的。 本篇文章來自Terraform與Kubernetes中關(guān)于Deployment apps/v1的吐槽 Kubernetes的官方文檔中并沒有對apiVersion的詳細(xì)解釋,而且因為K8S本身版本也在快速迭代,有些...
摘要:前言在安裝搭建的時候,往往會遇到各種各樣的問題,而安裝的展示組件則是困難中的困難,本人在實際搭建中則被整整卡住了天,和百度輪番搜索,各種技術(shù)博客和技術(shù)視頻反復(fù)研究才勉強(qiáng)搭建成功開始安裝在安裝好集群之后,確保集群各個節(jié)點都處于狀態(tài)的時候,就 前言 在安裝搭建k8s的時候,往往會遇到各種各樣的問題,而安裝k8s的web展示組件kubernetes-dashboard則是困難中的困難,本人在...
摘要:前言在安裝搭建的時候,往往會遇到各種各樣的問題,而安裝的展示組件則是困難中的困難,本人在實際搭建中則被整整卡住了天,和百度輪番搜索,各種技術(shù)博客和技術(shù)視頻反復(fù)研究才勉強(qiáng)搭建成功開始安裝在安裝好集群之后,確保集群各個節(jié)點都處于狀態(tài)的時候,就 前言 在安裝搭建k8s的時候,往往會遇到各種各樣的問題,而安裝k8s的web展示組件kubernetes-dashboard則是困難中的困難,本人在...
閱讀 2295·2021-09-23 11:52
閱讀 1963·2021-09-02 15:41
閱讀 3093·2019-08-30 10:47
閱讀 2051·2019-08-29 17:14
閱讀 2417·2019-08-29 16:16
閱讀 3249·2019-08-28 18:29
閱讀 3493·2019-08-26 13:30
閱讀 2667·2019-08-26 10:49