Context

由 kubeadm 创建的cluster 的kubernetes API 服务器,出于测试目的,

临时配置允许未经身份验证和未经授权的访问,授予匿名用户 cluster-admin 的访问权限。

Task

重新配置cluster的Kubernetes APl 服务器,以确保只允许经过身份验证和授权的 REST请求。

使用授权模式 Node,RBAC 和准入控制器 NodeRestriction。

删除用户 system:anonymous 的 ClusterRoleBinding来进行清理。

注意:所有kubectl 配置环境/文件也被配置使用未经身份验证和未经授权的访问。

你不必更改它,但请注意,一旦完成 cluster 的安全加固, kubectl 的配置将无法工作。

您可以使用位于 cluster 的 master 节点上,cluster 原本的 kubectl 配置文件

/etc/kubernetes/admin.conf ,以确保经过身份验证的授权的请求仍然被允许。

参考资料

https://kubernetes.io/zh-cn/docs/reference/command-line-tools-reference/kube-apiserver/

解答

切换集群

kubectl config usr-contextKSSH00401
  1. 切换到master
ssh master && sudo -i
  1. 确保只有认证并且授权过的 REST 请求才被允许
编辑 /etc/kubernetes/manifests/kube-apiserver.yaml 修改下面内容

- --authorization-mode=AlwaysAllow

- --enable-admission-plugins=AlwaysAdmit

vim /etc/kubernetes/manifests/kube-apiserver.yaml

修改为

- -- authorization-mode=Node,RBAC

- --enable-admission-plugins=NodeRestriction

重启kubelet

systemctl daemon-reload

systemctl restart kubelet

修改完后,等待3分钟,查看集群是否正常

  1. 删除题目要求的角色绑定
查

kubectl get clusterrolebinding system:anonymous

删

kubectl delete clusterrolebinding system:anonymou

CKS 考试题整理 (14)-启用API Server认证的更多相关文章

  1. 033.Kubernetes集群安全-API Server认证及授权

    一 Kubernetes集群安全 1.1 安全机制 Kubernetes通过一系列机制来实现集群的安全控制,其中包括API Server的认证授权.准入控制机制及保护敏感信息的Secret机制等.集群 ...

  2. k8s之API Server认证

    集群安全性 在生产环境中,必须保障集群用户的角色以及权限问题,不能给所有用户都赋予管理员权限. 1.集群的安全性必须考虑如下几个目标 (1)保证容器与其所在宿主机的隔离 (2)限制容器给基础设置或其他 ...

  3. K8S Api Server认证

    目录 认证类型 基于CA证书的双向认证 apiserver端配置 生成客户端私钥和证书 master核心组件与apiserver的认证方式 HTTP Token认证 HTTP Basic认证 kube ...

  4. 拿nodejs快速搭建简单Oauth认证和restful API server攻略

    拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...

  5. k8s使用自定义证书将客户端认证接入到API Server

    自定义证书使用kubectl认证接入API Serverkubeconfig是API Server的客户端连入API Server时使用的认证格式的客户端配置文件.使用kubectl config v ...

  6. kubernetes API Server安全

    用户访问API Server(以下简称Server),K8S的安全检查步骤:认证和授权. 认证解决用户是谁的问题,就是验证用户名密码;授权解决用户能做什么的问题,就是检查该用户是否拥有权限访问请求的资 ...

  7. k8s 组件介绍-API Server

    API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心. kub ...

  8. RESTful Api 身份认证安全性设计

    REST是一种软件架构风格.RESTful Api 是基于 HTTP 协议的 Api,是无状态传输.它的核心是将所有的 Api 都理解为一个网络资源.将所有的客户端和服务器的状态转移(动作)封装到 H ...

  9. Web APi之认证

    Web APi之认证(Authentication)两种实现方式后续[三](十五)   前言 之前一直在找工作中,过程也是令人着实的心塞,最后还是稳定了下来,博客也停止更新快一个月了,学如逆水行舟,不 ...

  10. spring cloud+dotnet core搭建微服务架构:Api授权认证(六)

    前言 这篇文章拖太久了,因为最近实在太忙了,加上这篇文章也非常长,所以花了不少时间,给大家说句抱歉.好,进入正题.目前的项目基本都是前后端分离了,前端分Web,Ios,Android...,后端也基本 ...

随机推荐

  1. 机器学习算法(八):基于BP神经网络的乳腺癌的分类预测

    机器学习算法(八):基于BP神经网络的乳腺癌的分类预测 1.算法简介和应用 1.1 算法简介 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学 ...

  2. SpringBoot打包成exe(别再用exe4j了,使用JDK自带工具)

    SpringBoot打包成exe(别再用exe4j了,使用JDK自带工具) 搜到大部分打包exe的文章都是使用exe4j打包 步骤贼多,安装麻烦,打包麻烦 收费软件,公司使用会吃律师函 JDK14以上 ...

  3. 基于Label studio实现UIE信息抽取智能标注方案,提升标注效率!

    基于Label studio实现UIE信息抽取智能标注方案,提升标注效率! 项目链接见文末 人工标注的缺点主要有以下几点: 产能低:人工标注需要大量的人力物力投入,且标注速度慢,产能低,无法满足大规模 ...

  4. 基于OCR进行Bert独立语义纠错实践

    摘要:本案例我们利用视频字幕识别中的文字检测与识别模型,增加预训练Bert进行纠错 本文分享自华为云社区<Bert特调OCR>,作者:杜甫盖房子. 做这个项目的初衷是发现图比较糊/检测框比 ...

  5. Redis 数据类型 String

    Redis 数据类型 String Redis主要支持的数据类型有5种:String ,Hash ,List ,Set ,和 Sorted Set Redis 常用命令,思维导图 >>&g ...

  6. Docker入门实践笔记-基本使用

    容器是一个系统中被隔离的特殊环境,进程可以在其中不受干扰地运行,使用Docker来实现容器化 容器化 运行容器时,要先拉取一个镜像(image),再通过这个镜像来启动容器: $ sudo docker ...

  7. 2009年NOIP提高组真题-HanKson的趣味题(GCD&LCM优化)

    2009年NOIP提高组真题-HanKson的趣味题(GCD&LCM优化) 本题的编码是用Python实现的,C++的思路也是相同的. 希望本文能够帮助到你! 题目: 暴力法: 直接根据题目的 ...

  8. YOLO4论文中文版

    文章目录 YOLO4论文中文版 摘要 1.介绍 2.相关工作 2.1.目标检测模型 2.2.Bag of freebies 2.3.Bag of specials 3.方法 3.1.架构选择 3.2. ...

  9. 关于Mybatis

    一:Mybatis的优缺点 优点: 1.与JDBC相比,减少了百分之五十的代码量. 2.Mybatis是最简单的持久层框架,简单易学. 3.Mybatis灵活,不会对应用程序和现数据库设计强加任何影响 ...

  10. 这个字段我明明传了呀,为什么收不到 - Spring 中首字母小写,第二个字母大写造成的参数问题

    问题现象 vSwitchId.uShape.iPhone... 这类字段名,有什么特点?很容易看出来吧,首字母小写,第二个字母大写.它们看起来确实是符合 Java 中对字段所推崇的"小驼峰命 ...