k8s安全的3把大斧头

1. Authentication(鉴权)

2. Authorization(授权) 

#k8s安全的3把大斧头

3. Admission Control(准入控制)

Pod资源限制:request limit

命名空间限制:ResourceQuota

Pod默认资源限制:LimitRanger

RBAC基于角色授权

角色:

eole: 授权特定的命名空间访问权限

ClusteRole:授权所有命名空间的访问权限

角色绑定:

Rolebinding: 将角色绑定到主体(即subject)

ClusterRoleBinding: 将集群角色绑定到主体

主体(sudject)

user 用户

group 用户组

service Account: 服务号

nohup XXXXXX.sh >> /runtime/deletedata.log 2>&1 &

  rbac授权:

    1:创建角色(规则)

2:主体(指定用户) #证书不用创建主体

3:角色与主体绑定

创建rbac.yaml

#创建角色

kind: Role

apiVersion: rbac.authorization.k8s.io/v1

metadata:

  namespace: default #只能查看的命名空间

  name: pod-reader  #角色名称

rules: #角色规则

- apiGroups: [""] #api的组 如果你要授权的资源在一个组里面 你必须把规则组加上

  resources: ["pods"] #只能查看pod 如果需要加其他的资源查看 如果server 一定要在多加一个s不然是没有效果的

  verbs: ["get", "watch", "list"] #只能使用的命令

#因为是证书创建所以不需要创建主体因为证书里面就带主体

---

#角色与主体绑定

kind: RoleBinding

apiVersion: rbac.authorization.k8s.io/v1

metadata:

  name: read-pods #名称

  namespace: default #只能查看的命名空间

subjects: #用户

- kind: User

  name: aliang

  apiGroup: rbac.authorization.k8s.io

roleRef: #规则

  kind: Role

  name: pod-reader

  apiGroup: rbac.authorization.k8s.io



#授权的用户证书 使用 方法  --kubeconfig=aliang.kubeconfig 参数+证书

https://kubernetes.io/zh/docs/reference/access-authn-authz/rbac/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。