机制说明

Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server是集群内部各个组件通信的中介,也是外部控制的入口。所以Kubernetes的安全机制基本就是围绕保护API Server来设计的。Kubernetes使用了认证(Authentication)、鉴权(Authorization)、准入控制(AdmissionControl)三步来保证API Server的安全

Authentication

  • HTTP Token认证:通过一个Token来识别合法用户

    • HTTP Token的认证是用一个很长的特殊编码方式的并且难以被模仿的字符串- Token来表达客户的一种方式。Token是一个很长的很复杂的字符串,每一个Token对应一个用户名存储在API Server能访问的文件中。当客户端发起API调用请求时,需要在HTTP Header里放入Token
  • HTTP Base认证:通过用户名+密码的方式认证

    • 用户名+:+密码用BASE64算法进行编码后的字符串放在HTTP Request中的HeatherAuthorization域里发送给服务端,服务端收到后进行编码,获取用户名及密码
  • 最严格的HTTPS证书认证:基于CA根证书签名的客户端身份认证方式

Ⅰ、HTTPS证书认证:

Ⅱ、需要认证的节点

两种类型

  • Kubenetes组件对API Server的访问:kubectl、Controller Manager、Scheduler、kubelet、kube-proxy
  • Kubernetes管理的Pod对容器的访问:Pod(dashborad也是以Pod形式运行)

安全性说明

  • Controller Manager、Scheduler与API Server在同一台机器,所以直接使用API Server的非安全端口访问,–insecure-bind-address=127.0.0.1
  • kubectl、kubelet、kube-proxy访问API Server就都需要证书进行HTTPS双向认证

证书颁发

  • 手动签发:通过k8s集群的跟ca进行签发HTTPS证书
  • 自动签发:kubelet首次访问API Server时,使用token做认证,通过后,Controller Manager会为kubelet生成一个证书,以后的访问都是用证书做认证了

Ⅲ、kubeconfig

kubeconfig文件包含集群参数(CA证书、API Server地址),客户端参数(上面生成的证书和私钥),集群context信息(集群名称、用户名)。Kubenetes组件通过启动时指定不同的kubeconfig文件可以切换到不同的集群

Ⅳ、ServiceAccount

Pod中的容器访问API Server。因为Pod的创建、销毁是动态的,所以要为它手动生成证书就不可行了。Kubenetes使用了Service Account解决Pod访问API Server的认证问题

Ⅴ、Secret与SA的关系

Kubernetes设计了一种资源对象叫做Secret,分为两类,一种是用于ServiceAccount的service-accounttoken,另一种是用于保存用户自定义保密信息的Opaque。ServiceAccount中用到包含三个部分:Token、ca.crt、namespace

  • token是使用API Server私钥签名的JWT。用于访问API Server时,Server端认证
  • ca.crt,根证书。用于Client端验证API Server发送的证书
  • namespace,标识这个service-account-token的作用域名空间
kubectl get secret --all-namespaces
kubectl describe secret default-token-5gm9r --namespace=kube-system

默认情况下,每个namespace都会有一个ServiceAccount,如果Pod在创建时没有指定ServiceAccount,就会使用Pod所属的namespace的ServiceAccount

总结

Kubernetes安全之认证相关推荐

  1. Kubernetes API Server 认证机制

    认证 开启 TLS时,所有的请求都需要首先认证.Kubernetes支持多种认证机制,并支持同时开启多个认证插件(只要有一个认证通过即可). 如果认证成功,则用户的 username 会传入授权模块做 ...

  2. kubernetes访问控制——Authentication认证、Authorization授权、服务账户的自动化

    文章目录 1.kubernetes API 访问控制 2. Authentication(认证) 1.创建serviceaccount 2.添加secrets到serviceaccount 3.把se ...

  3. kubernetes https双向认证-----ca认证

    为什么写这个呢? 在没有了解k8s认证的时候干过一件蠢事,公司项目是通过bearer token进行权限认证的,当时一直在纠结这个token是哪儿来的,然后各种查询secret对比是否一样,最后找到了 ...

  4. Kubernetes安全专家认证 (CKS)1.20模拟题英文版答案

    文章目录 Question 0 | Instructions Question 1 | Contexts Question 2 | Runtime Security with Falco Questi ...

  5. Kubernetes安全专家认证 (CKS)1.20模拟题答案中文版

    文章目录 问题 1 | 上下文 问题 2 | Falco 的运行时安全性 问题 3 | apiserver 安全 问题 4 | Pod 安全策略 问题 5 | CIS Benchmark 问题 6 | ...

  6. vault-使用kubernetes作为认证后端

    vault使用kubernetes认证 配置 vault可以使用kubernetes的serviceaccount进 行认证 #在kubernetes为vault创建serviceaccount账号, ...

  7. kubernetes认证,对接第三方认证系统,对接github认证

    kubernetes对接第三方认证 广告: 安装包地址 原文地址 概述 本文介绍如何使用github账户去关联自己kubernetes账户.达到如下效果: 使用github用户email作为kuber ...

  8. 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard

    笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

  9. kubernetes——安全认证

    机制说明 kubernetes作为一个分布式集群的管理工具,保证集群的安全性是一个重要的任务.API server是集群内部各个组件通信的中介,也是外部控制的入口.所以kubernetes的安全机制基 ...

最新文章

  1. 计算机文档里的东西可以删吗,电脑c盘哪些文件可以删除
  2. day26 re正则表达式
  3. excel批量更改超链接_Excel如何批量建立超链接,搭建工作台
  4. SAP S/4HANA CDS View的访问控制实现:DCL介绍 1
  5. eureka配置_F版本SpringCloud 5—Eureka集群和自我保护机制
  6. 在ASP.NET Core中创建自定义端点可视化图
  7. adf.test_在ADF 12.2.1.3中使用基于JSON的REST Web服务
  8. LeetCode OJ:Pascal's Triangle(帕斯卡三角)
  9. redis hash field过期时间_Redis系列-Redis数据类型
  10. 从0开始学习 GitHub 系列之「04.向GitHub 提交代码」
  11. HCIE理论-IPV6
  12. 网页的根标记是 html,网页的根标记是,主体标记是_________。
  13. 房子买贵了?房价收入比(house-price‑to‑income ratios)指标揭秘真相
  14. CentOS 6.5忘记root密码,怎么办?
  15. 基于java的药品库房管理系统
  16. 「深度小课堂」如何开发一款属于自己的时尚屏保应用?
  17. 探究CRM未来趋势:纷享销客的连接型CRM到底是什么?
  18. 表示计算机运行快的词,形容电脑打字快的成语_四字词语 - 成梦词典
  19. c语言编程十进制转八进制算法,C语言十进制如何转八进制?
  20. 微型计算机每秒计算,微型计算机主要技术指标

热门文章

  1. php实现返回界面,PHP实现模仿socket请求返回页面的方法
  2. 50兆 svg 文件超过_用svg+css3实现支付宝App波浪功能
  3. 在win8上配置网站服务器,win8怎么配置web服务器地址
  4. 储能系统进入数据中心是大势所趋
  5. 数据中心节水管理办法(范例)
  6. Dataset之babyboom.dat:babyboom.dat数据集的简介、安装、使用方法之详细攻略
  7. AI:2020年6月22日北京智源大会演讲分享之认知神经基础专题论坛——15:00-15:40刘嘉教授《From Representation to Comp: the Cognitive N》
  8. BigData之Hbase:Hbase数据管理的简介、下载、案例应用之详细攻略
  9. RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(复杂迷宫)的宝藏位置
  10. TF:利用TF的train.Saver将训练好的W、b模型文件保存+新建载入刚训练好模型(用于以后预测新的数据)