怎么理解Kubernetes认证和授权


这篇文章主要讲解了“怎么理解Kubernetes认证和授权”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解Kubernetes认证和授权”吧!当设置产品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=选项来开启。TOKEN_FILE是个csv文件,每个用户入口都有下列格式:token,user,userid,group。Group的名字是随意的。令牌文件开发云主机域名的例子:生成tokens的一个非常简单的方法就是运行以下命令:基于令牌的身份验证面临的挑战就是,令牌是无期限的,而且对令牌清单做任何的修改都需要重新启动api-server。基本认证为了使用这个方案,api-server需要使用-basic-auth-file=选项来开启。HTTP_AUTH_FILE是个csv文件,每个用户入口都有下列格式:password,user name,userid。目前,对AUTH_FILE的任意修都需要重新启动api-server。Open IDOpen ID支持也是可用的,但是还在试验阶段。KeystoneKeystone支持也是可用的,但是还在试验阶段。如果你想要将keystone跟LDAP或者动态目录服务整合到一起,那么就要使用keystone认证方法。为了使用这个方案,api-server需要用-experimental-keystone-url=选项来开启服务。验证成功之后,下一步就是找出对于验证用户来说,哪些操作是允许的。目前来讲,Kubernetes支持4种验证策略方案。api-server需要使用-authorization-mode=选项来开启。始终否认这个策略否认所有的请求。始终允许这个策略允许所有的请求。基于属性的访问控制ABAC允许灵活的用户特定授权策略。当使用-authorization-policy-file=选项开启api-sever的时候,ABAC的策略文件需要指定。目前,对策略文件有任何的修改都需要重启api-server。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/,以及它的子路径。只读,布尔型:当为真,也就意味着策略只应用于获取,列出和监测操作。Webhook调出一个外部RESTful授权服务。身份验证和授权机制的选择取决于你的要求。然而在我的经验看来,我发现基于证书的身份验证方法,基于身份验证方法的keystone(LDAP),基于身份验证策略的ABAC,这三种方法的灵活结合提供了所需的功能,来培养Kubernetes环境。感谢各位的阅读,以上就是“怎么理解Kubernetes认证和授权”的内容了,经过本文的学习后,相信大家对怎么理解Kubernetes认证和授权这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 如何 快速部署ceph集群

本篇文章给大家分享的是有关如何 快速部署ceph集群,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。小编将演示如何一步步在centos上部署ceph分布式存储集群。目标是在ceph-node1和ce…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/31 22:26
Next 05/31 22:26

相关推荐