kubernetes1.5新特性:kubelet API增加认证和授权能力

本文详细介绍了Kubernetes 1.5中kubelet API新增的认证和授权功能,包括匿名认证、x509证书认证、令牌认证的启用方式以及授权模式的设置,强调了对API权限控制的重要性。
摘要由CSDN通过智能技术生成

一、背景介绍

在Kubernetes1.5中,对于kubelet新增加了几个同认证/授权相关的几个启动参数,分别是:

认证相关参数:

•       anonymous-auth参数:是否启用匿名访问,可以选择true或者false,默认是true,表示启用匿名访问。

•       authentication-token-webhook参数:使用tokenreviewAPI来进行令牌认证。

•       authentication-token-webhook-cache-ttl参数:webhook令牌认证缓存响应时长。

•       client-ca-file参数:表示使用x509证书认证,如果设置此参数,那么就查找client-ca-file参数设置的认证文件,任何请求只有在认证文件中存在的对应的认证,那么才可以正常访问。

授权相关参数:

•       authorization-mode参数:kubelet的授权模式,可以选择AlwaysAllow或者Webhook,如果设置成Webhook,那么使用SubjectAccessReviewAPI进行授权。

•       authorization-webhook-cache-authorized-ttl参数:webhook授权时,已经被授权内容的缓存时长。

•       authorization-webhook-cache-unauthorized-ttl参数:webhook授权时,没有被授权内容的缓存时长。

 二、认证

默认anonymous-auth参数设置成true,也就是可以进行匿名认证,这时对kubelet API的请求都以匿名方式进行,系统会使用默认匿名用户和默认用户组来进行访问,默认用户名“system:anonymous”,默认用户组名“system:unauthenticated”。

可以禁止匿名请求,这时就需要设置kubelet启动参数:“--anonymous-auth=false”,这时如果请求时未经过认证的,那么会返回“401 Unauthorized”。

可以使用x509证书认证(X.509格式的证书是最通用的一种签名证书格式)。这时就需要设置kubelet启动参数:“--client-ca-file”,提供认证文件,通过认证文件来进行认证。同时还需要设置api server组件启动参数:“--kubelet-client-certificate”和“--kubelet-client-key”。在认证文件中一个用户可以属于多个用户组,比如下面例子产生的认证:

op

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值