摘要:當設置產品集群的時候,認證和授權是兩個很重要的基本需求。目前來講,支持種驗證策略方案。始終否認這個策略否認所有的請求。基于屬性的訪問控制允許靈活的用戶特定授權策略。調出一個外部授權服務。身份驗證和授權機制的選擇取決于你的要求。
當設置產品Kubernetes集群的時候,認證和授權是兩個很重要的基本需求。在這篇文章中,讓我們來瀏覽一些細節,這些細節可以幫助Kubernetes環境做好方案。
比如說,你現在已經引發了通過輸入yaml文件到kubectl(kubectl create-f pod.yaml)創建POD的命令。這個命令被發送到有安全保障的api-server端口(http://),然后身份驗證流就開始生效了。注意,如果你正在為api-server使用不安全的端口(http://),那么驗證就無法應用。(http://)理想情況下生產環境設置中應該避免不安全端口(http://)。
以下是這篇文章中會提到的在Kubernetes中可使用的驗證途徑。
客戶證書驗證為了使用這個方案,api-server需要用-client-ca-file=
CA_CERTIFICATE_FILE肯定包括一個或者多個認證中心,可以被用來驗證呈現給api-server的客戶端證書。客戶端證書的/CN將作為用戶名。
為了使用這個方案,api-server需要用-token-auth-file=
Group的名字是隨意的。
令牌文件的例子:
生成tokens的一個非常簡單的方法就是運行以下命令:
基于令牌的身份驗證面臨的挑戰就是,令牌是無期限的,而且對令牌清單做任何的修改都需要重新啟動api-server。
基本認證為了使用這個方案,api-server需要使用-basic-auth-file=
Open ID支持也是可用的,但是還在試驗階段。
KeystoneKeystone支持也是可用的,但是還在試驗階段。如果你想要將keystone跟LDAP或者動態目錄服務整合到一起,那么就要使用keystone認證方法。為了使用這個方案,api-server需要用-experimental-keystone-url=
驗證成功之后,下一步就是找出對于驗證用戶來說,哪些操作是允許的。目前來講,Kubernetes支持4種驗證策略方案。api-server需要使用-authorization-mode=
這個策略否認所有的請求。
始終允許這個策略允許所有的請求。
基于屬性的訪問控制ABAC允許靈活的用戶特定授權策略。當使用-authorization-policy-file=
ABAC策略文件樣本如下所示:
在以上例子中,策略文件中的每一行都是JSON對象,且指定一個策略。這是從Kubernetes文檔頁面上對策略對象的簡要描述。
版本控制特性——允許多版本和策略的轉換格式。
api版本,字符串類型:有效值就是“abac.authorization.kubernetes.io/v1beta1”。
kind,字符串類型:有效值是“policy”。
規格屬性——是一個用以下屬性的映射:
面向對象匹配屬性——用戶,字符串:用戶字符串不是從-token-auth-file,就是從證書文件的普通名字(CN)而來。如果你指定用戶,那么它就肯定跟經過身份驗證的用戶匹配。*跟所有請求都匹配;group,字符串:如果你指定group,那么它肯定跟groups中經過身份驗證的用戶相匹配。*跟所有請求都匹配。
資源匹配屬性apiGroup,字符串類型:API group,比如拓展版本。*跟所有APIgroup相匹配。
命名空間,字符串類型:命名空間字符串。*跟所有的資源請求相匹配。
資源,字符串類型:資源,比如pods。*匹配所有的資源請求。
nonResourcePath,字符串類型:跟所有的非資源請求路徑相匹配(比如/version,/apis)。*跟匹配所有非資源請求。/foo/*跟/foo/,以及它的子路徑。
只讀,布爾型:當為真,也就意味著策略只應用于獲取,列出和監測操作。
調出一個外部RESTful授權服務。
身份驗證和授權機制的選擇取決于你的要求。然而在我的經驗看來,我發現基于證書的身份驗證方法,基于身份驗證方法的keystone(LDAP),基于身份驗證策略的ABAC,這三種方法的靈活結合提供了所需的功能,來培養Kubernetes環境。
想要了解更多關于認證和授權的信息,建議瀏覽一下兩個鏈接:
認證:這里
授權:這里
原文鏈接
(如果需要轉載,請聯系我們哦,尊重知識產權人人有責;)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/32467.html
摘要:在中使用驗證使用身份驗證策略來認證用戶的。審閱狀態包含名稱和組等用戶信息。中的授權模塊稍后將以此確定該用戶的訪問級別。認證請求認證服務決定該用戶是否通過認證,并向發送響應。在對的請求成功進行認證之后,必須授權該請求。 Rancher Kubernetes擁有RBAC(基于角色的訪問控制)功能,此功能可以讓管理員配置不同的策略,允許或拒絕用戶和服務帳戶訪問Kubernetes API資源...
摘要:在中使用驗證使用身份驗證策略來認證用戶的。審閱狀態包含名稱和組等用戶信息。中的授權模塊稍后將以此確定該用戶的訪問級別。認證請求認證服務決定該用戶是否通過認證,并向發送響應。在對的請求成功進行認證之后,必須授權該請求。 Rancher Kubernetes擁有RBAC(基于角色的訪問控制)功能,此功能可以讓管理員配置不同的策略,允許或拒絕用戶和服務帳戶訪問Kubernetes API資源...
摘要:本文中,我們將描述系統的架構開發演進過程,以及背后的驅動原因。應用管理層提供基本的部署和路由,包括自愈能力彈性擴容服務發現負載均衡和流量路由。 帶你了解Kubernetes架構的設計意圖、Kubernetes系統的架構開發演進過程,以及背后的驅動原因。 showImg(https://segmentfault.com/img/remote/1460000016446636?w=1280...
摘要:授權設置在中授權和認證是各自獨立的部分。授權操作適用于所有面向于的請求。授權將會針對每一個請求,根據訪問策略來檢查對比請求中的屬性信息比如用戶,資源,等。一個請求必須滿足指定的策略才能繼續執行。僅僅能處于下的。 kubernetes授權設置 在kubernetes中授權 和 認證是各自獨立的部分。認證部分參見 kubernetes認證。 授權操作適用于所有面向于kubernetes ...
摘要:不過目前主流的做法包括半自動部署方案都是讓主節點通過在容器中運行等東西。 轉載自筆者的博客 kubernetes 容器平臺分析 Docker 容器算是目前最火的云計算產品了,因為它解決了很多運維和開發上的痛點問題,比如抹平了開發和生產的環境區別,甚至可以做到在生產環境使用 RHEL,而開發使用 Ubuntu,也能平滑部署,但是想要真正的將其投放到生產環境中,實際上還有很多問題亟待解決。...
閱讀 2222·2021-11-19 09:40
閱讀 1934·2021-11-08 13:24
閱讀 2467·2021-10-18 13:24
閱讀 2869·2021-10-11 10:57
閱讀 3594·2021-09-22 15:42
閱讀 1129·2019-08-29 17:11
閱讀 2539·2019-08-29 16:11
閱讀 2432·2019-08-29 11:11