日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kubernetes Authorization

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kubernetes Authorization 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

kubernetes Authorization 博客分類: Kubernetes

kubernetes授權設置

在kubernetes中授權 和 認證是各自獨立的部分。認證部分參見?kubernetes認證。
授權操作適用于所有面向于kubernetes api的http請求。

授權 將會針對每一個請求,根據訪問策略來檢查對比請求中的屬性信息(比如 用戶,資源,namespace等)。一個API請求必須滿足指定的策略才能繼續執行。

有如下幾種策略方式:

  • --authorization_mode=AlwaysDeny
  • --authorization_mode=AlwaysAllow
  • --authorization_mode=ABAC

AlwaysDeny?阻止所有請求(通常用在測試環境);AlwaysAllow允許所有請求,如果不想用授權機制可以這么設置;ABAC允許用戶自定義的授權策略,ABAC的全寫為:Attribute-Based Access Control(面向屬性的授權控制)。

ABAC Mode

請求屬性

在授權設置中,可以用到的屬性設置有4個:

  • user ,已經被認證的用戶;
  • 請求是否是只讀的;
  • 被請求的資源是什么,只接受針對api endpoint的請求,如/api/v1/namespaces/default/pods,對于其他的endpoint,如/version,資源描述則為空string;
  • 訪問對象的namespace,如果訪問的對象不支持namespace,則為空string

授權文件格式

設置參數為: --authorization_policy_file=SOME_FILENAME,這樣便開啟ABAC模式。?在指定的文件中,一行為一個json對象,這個json對象包含幾個map格式,這些map對象有如下:

  • user,string類型,對應--token_auth_file 中的user屬性;
  • readonly,bool類型,當設置為true時,只接受GET請求;
  • resource,string類型,請求URL中對應的資源類型,如pod;
  • namespace,string類型,對應namespace。

如果屬性沒有設置,那么默認值為0 或 false 或 空string。

授權算法

一個請求中設置的屬性決定了這個請求所能擁有的特性(好繞~)

當收到一個請求,就獲取了這個請求應該擁有的相應特性,如果某些屬性沒有設置,那么會默認設置為這個屬性類型對應的空值,如0,false,空string 等。

如果在授權文件中某個屬性被重復定義了,那么只要有一個滿足授權條件,那么這個請求就被認為是被授權的。

如果在授權條件中將user設置為空,那么不會對任何用戶做限制; 如果在授權條件中獎namespace設置為空,那么不對任何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。
  • ?

    kubernetes認證設置kubernetes中,驗證用戶是否有權限操作api的方式有三種:證書認證,token認證,基本信息認證。證書認證設置apiserver的啟動參數:--client_ca_file=SOMEFILE ,這個被引用的文件中包含的驗證client的證書,如果被驗證通過,那么這個驗證記錄中的主體對象將會作為請求的username。token認證設置apiserver的啟動參數:--token_auth_file=SOMEFILE,目前使用token還存在爭議,而且如果變更了這個文件內容,只有重啟apiserver才能使配置生效。token file的格式包含三列:token,username,userid。當使用token作為驗證方式時,在對apiserver的http請求中,增加一個Header字段:Authorization ,將它的值設置為:Bearer SOMETOKEN。基本信息認證設置apiserver的啟動參數:--basic_auth_file=SOMEFILE,如果更改了文件中的密碼,只有重新啟動apiserver使其重新生效。其文件的基本格式包含三列:passwork,username,userid。當使用此作為認證方式時,在對apiserver的http請求中,增加一個Header字段:Authorization ,將它的值設置為: Basic BASE64ENCODEDUSER:PASSWORD.

    ?

    https://segmentfault.com/a/1190000002919433?utm_source=tuicool

    http://www.coin163.com/it/x2700960886745827433/kubernetes-authentication-herman-liu

    轉載于:https://my.oschina.net/xiaominmin/blog/1598573

    總結

    以上是生活随笔為你收集整理的kubernetes Authorization的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。