为了账号安全,请及时绑定邮箱和手机立即绑定

如何理解Kubernetes认证和授权

如何理解Kubernetes认证和授权

萧十郎 2018-12-04 05:04:57
如何理解Kubernetes认证和授权
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

当设置产品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>选项来开启。



查看完整回答
反对 回复 2018-12-18
  • 1 回答
  • 0 关注
  • 763 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信