部署態的安全控制:
1.認證 authentication
x509 ,sa,username/password
x509 啟動參數:--client-ca-file=ca.crt (指定根證書)
service account 啟動參數:--service-account-key-file=key.pem (用以生成token),由controller創建,pod用sa中的token 訪問api
認證方式有多種,一種通過即可,輸出userinfo;然后基於userinfo 進行鑒權
2.鑒權 authorization
RBAC ,ABAC, Node
rbac: role,rolebinding (作用於namespace);clusterRole,clusterRoleBinding
3.Admission(PodSecurityPolicy)
admin 用戶創建podsercurityPolicy,決定能創建什么樣的pod;允許掛載什么volume
;允許使用什么網絡(例如直接使用主機網絡hostnetwork)
它是一個k8s對象;貌似類似於openshift中的SCC的對象,restricted,privileged
4.Pod SecurityContext
pod .yaml 文件中的對象
有容器級別 與pod 級別;在容器級別有系統調用權限設置例如時鍾設置等
屬性:privileged;runAsUser;fsGroup 等
運行態的安全控制
5.Network policy
k8s 的一種對象; 用於集群項目間的訪問控制,ip 白名單什么的
Ingress :入口請求控制
Egress :出口請求控制
安全持久化保存鍵值etcd