kubernetes-----安全机制

一.kubernetes的安全框架

  • 管理kubernetes的有kubectl、api、UI界面
  • 如下是k8s的安全框架图

安全认证流程:kubectl请求api资源,然后通过三层安全机制。

第一层是认证(Authentication),验证身份、用户名和密码或者token;

第二层是授权(Authorization)角色绑定(RBAC),以获得权限;

第三层是准入控制(Admission Control,资源使用限定)。

请求只有通过这三层安全机制,才会被k8s响应请求,创建资源。

  • k8s的安全控制框架主要由以上3个阶段进行控制,每一个阶段都支持插件方式,通过APIServer配置来启用插件方式,通过APiserver配置来启用插件。

  • 普通用户想要安全的访问集群APIServer,往往需要证书、token或者是用户名+密码

  • pod访问需要ServiceAccount

[root@master ~]# kubectl get serviceaccount
NAME      SECRETS   AGE
default   1         26d
[root@master ~]# 
  • apiserver内部使用8080端口,默认8080端口监听本地,通过master以及其他组件连接使用

[root@master ~]# netstat -natp | grep LISTEN | grep 8080
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      37947/kube-apiserve 
  • apiserver外部使用6443端口

[root@master ~]# netstat -natp | grep LISTEN | grep 6443
tcp        0      0 192.168.43.101:6443     0.0.0.0:*               LISTEN      37947/kube-apiserve 
[root@master ~]# 

二.Authentication,认证

  • 认证有三种客户端身份认证

 

HTTPS证书认证,基于CA证书签名的数字证书认证

  • CA认证如下

cat > server-csr.json <<EOF
{
    "CN": "kubernetes",
    "hosts": [
      "10.0.0.1",
      "127.0.0.1",
      "192.168.43.101", 
      "192.168.43.104", 
      "192.168.43.100", 
      "192.168.43.105",  
      "192.168.43.106", 
      "kubernetes",
      "kubernetes.default",
      "kubernetes.default.svc",
      "kubernetes.default.svc.cluster",
      "kubernetes.default.svc.cluster.local"
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "BeiJing",
            "ST": "BeiJing",
            "O": "k8s",
            "OU": "System"
        }
    ]
}
EOF

HTTP Token认证,通过一个Token来识别用户(生产环境中使用广泛)

  • httpd的令牌认证如下
[root@master ~]# cat /opt/kubernetes/cfg/token.csv 
978741334e39eb21d1c13050d6e8bb79,kubelet-bootstrap,10001,"system:kubelet-bootstrap"
[root@master ~]# 

HTTP Base认证,用户名+密码的方

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值