资讯专栏INFORMATION COLUMN

kubernetes Authorization

gggggggbong / 2731人阅读

摘要:授权设置在中授权和认证是各自独立的部分。授权操作适用于所有面向于的请求。授权将会针对每一个请求,根据访问策略来检查对比请求中的属性信息比如用户,资源,等。一个请求必须满足指定的策略才能继续执行。仅仅能处于下的。

kubernetes授权设置

在kubernetes中授权 和 认证是各自独立的部分。认证部分参见 kubernetes认证。
授权操作适用于所有面向于kubernetes api的http请求。

授权 将会针对每一个请求,根据访问策略来检查对比请求中的属性信息(比如 用户,资源,namespace等)。一个API请求必须满足指定的策略才能继续执行。

有如下几种策略方式:

--authorization_mode=AlwaysDeny

--authorization_mode=AlwaysAllow

--authorization_mode=ABAC

AlwaysDeny 阻止所有请求(通常用在测试环境);AlwaysAllow允许所有请求,如果不想用授权机制可以这么设置;ABAC允许用户自定义的授权策略,ABAC的全写为:Attribute-Based Access Control(面向属性的授权控制)。

ABAC Mode 请求属性

在授权设置中,可以用到的属性设置有4个:

user ,已经被认证的用户;

请求是否是只读的;

被请求的资源是什么,只接受针对api endpoint的请求,如/api/v1/namespaces/default/pods,对于其他的endpoint,如/version,资源描述则为空string;

访问对象的namespace,如果访问的对象不支持namespace,则为空string

授权文件格式

设置参数为: --authorization_policy_file=SOME_FILENAME,这样便开启ABAC模式。
在指定的文件中,一行为一个json对象,这个json对象包含几个map格式,这些map对象有如下:

user,string类型,对应--token_auth_file 中的user属性;

readonly,bool类型,当设置为true时,只接受GET请求;

resource,string类型,请求URL中对应的资源类型,如pod;

namespace,string类型,对应namespace。

如果属性没有设置,那么默认值为0 或 false 或 空string。

授权算法

一个请求中设置的属性决定了这个请求所能拥有的特性(好绕~)

当收到一个请求,就获取了这个请求应该拥有的相应特性,如果某些属性没有设置,那么会默认设置为这个属性类型对应的空值,如0,false,空string 等。

如果在授权文件中某个属性被重复定义了,那么只要有一个满足授权条件,那么这个请求就被认为是被授权的。

如果在授权条件中将user设置为空,那么不会对任何用户做限制; 如果在授权条件中奖namespace设置为空,那么不对任何namespace做限制。

Examples

{"user":"alice"}:
用户alice 可以做任何事!

{"user":"kubelet", "resource": "pods", "readonly": true}:
kubelet可以GET任何pod的信息。

{"user":"kubelet", "resource": "events"}:
kubelet可以对events做任何读写操作。

{"user":"bob", "resource": "pods", "readonly": true, "ns": "projectCaribou"}:
Bob 仅仅能GET处于namespace projectCaribou下的pod。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/32415.html

相关文章

  • 【容器云 UK8S】最佳实践:权限管理之了解RBAC和权限管理实践

    摘要:本文介绍了模型中四个最主要的对象,即,大致了解了的工作原理和使用方法,如果要更加深入地了解和掌握,可以查看官方文档。只是这个不能复用到其他,一般只有在做精细化权限管理的时候,我们才会创建对象,比如一个只能查看名称为的。了解RBAC简介RBAC是一种基于角色来管理对计算机或网络资源访问策略的方法。我们知道,对K8S内所有API对象的操作都是通过访问kube-apiserver来完成的,因此ku...

    Tecode 评论0 收藏0
  • kubernetes 实用 api list(长期补充)

    摘要:收集整理一些可能较常用的,结合的自动化系统以及监控可能会用到。注涉及到方法中的为发送的数据体。注意删除,对应的并不会级联删除,需要在手动调用删除对应的略不爽 收集整理一些可能较常用的api,结合kubernetes的自动化系统 以及 监控可能会用到。 注:涉及到POST方法中的json为发送的数据体。 get node curl -i -k -H Authorization: ...

    AbnerMing 评论0 收藏0
  • K8S的apiVersion该用哪个

    摘要:如版本之前版本到版本之间版本之后一各种的含义该软件可能包含错误。启用一个功能可能会导致随时可能会丢弃对该功能的支持,恕不另行通知软件经过很好的测试。启用功能被认为是安全的。 本篇文章来自Terraform与Kubernetes中关于Deployment apps/v1的吐槽 Kubernetes的官方文档中并没有对apiVersion的详细解释,而且因为K8S本身版本也在快速迭代,有些...

    ziwenxie 评论0 收藏0
  • kubernetes安装dashboard

    摘要:前言在安装搭建的时候,往往会遇到各种各样的问题,而安装的展示组件则是困难中的困难,本人在实际搭建中则被整整卡住了天,和百度轮番搜索,各种技术博客和技术视频反复研究才勉强搭建成功开始安装在安装好集群之后,确保集群各个节点都处于状态的时候,就 前言 在安装搭建k8s的时候,往往会遇到各种各样的问题,而安装k8s的web展示组件kubernetes-dashboard则是困难中的困难,本人在...

    Guakin_Huang 评论0 收藏0
  • kubernetes安装dashboard

    摘要:前言在安装搭建的时候,往往会遇到各种各样的问题,而安装的展示组件则是困难中的困难,本人在实际搭建中则被整整卡住了天,和百度轮番搜索,各种技术博客和技术视频反复研究才勉强搭建成功开始安装在安装好集群之后,确保集群各个节点都处于状态的时候,就 前言 在安装搭建k8s的时候,往往会遇到各种各样的问题,而安装k8s的web展示组件kubernetes-dashboard则是困难中的困难,本人在...

    darryrzhong 评论0 收藏0

发表评论

0条评论

gggggggbong

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<