发布网友 发布时间:2022-04-20 21:50
共1个回答
热心网友 时间:2023-05-26 04:59
当设置产品Kubernetes集群的时候,认证和授权是两个很重要的基本需求。
在Kubernetes中可使用的验证途径。
客户证书验证
为了使用这个方案,api-server需要用-client-ca-file=<PATH_TO_CA_CERTIFICATE_FILE>选项来开启。CA_CERTIFICATE_FILE肯定包括一个或者多个认证中心,可以被用来验证呈现给api-server的客户端证书。客户端证书的/CN将作为用户名。
基于令牌的身份验证
为了使用这个方案,api-server需要用-token-auth-file=<PATH_TO_TOKEN_FILE>选项来开启。TOKEN_FILE是个csv文件,每个用户入口都有下列格式:token,user,userid,group。
Group的名字是随意的。
令牌文件的例子:
生成tokens的一个非常简单的方法就是运行以下命令:
基于令牌的身份验证面临的挑战就是,令牌是无期限的,而且对令牌清单做任何的修改都需要重新启动api-server。
基本认证
为了使用这个方案,api-server需要使用-basic-auth-file=<PATH_TO_HTTP_AUTH>选项来开启。HTTP_AUTH_FILE是个csv文件,每个用户入口都有下列格式:password,user name,userid。目前,对AUTH_FILE的任意修都需要重新启动api-server。
Open ID
Open ID支持也是可用的,但是还在试验阶段。
Keystone
Keystone支持也是可用的,但是还在试验阶段。如果你想要将keystone跟LDAP或者动态目录服务整合到一起,那么就要使用keystone认证方法。为了使用这个方案,api-server需要用-experimental-keystone-url=<KEYSTONE_URL>选项来开启服务。验证成功之后,下一步就是找出对于验证用户来说,哪些操作是允许的。目前来讲,Kubernetes支持4种验证策略方案。api-server需要使用-authorization-mode=<AUTHORIZATION_POLICY_NAME>选项来开启。