Kubernetes 安全概念詳解

Kubernetes 安全框架 API 認證三關

• 訪問K8S集羣的資源須要過三關:認證、鑑權、准入控制
• 普通用戶若要安全訪問集羣API Server,每每須要證書、Token
  或者用戶名+密碼;Pod訪問,須要ServiceAccount
• K8S安全控制框架主要由下面3個階段進行控制,每個階段都
  支持插件方式,經過API Server配置來啓用插件。
1. Authentication(認證)
2. Authorization(受權)
3. Admission Control(准入控制)安全


# 查看ServiceAccount
kubectl get sa框架

NAME SECRETS AGE
default 1 5d22h
nfs-client-provisioner 1 3h1m

受權

RBAC(Role-Based Access Control,基於角色的訪問控制):負責完成受權(Authorization)工做。spa

准入控制

Adminssion Control其實是一個准入控制器插件列表,發送到API Server的請求都須要通過這個列表中的每一個准入控制器
插件的檢查,檢查不經過,則拒絕請求。插件

1.11版本以上推薦使用的插件:3d

--enable-admission-plugins= \
NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds, ResourceQuota

RBAC核心概念

RBAC(Role-Based Access Control,基於角色的訪問控制),容許經過Kubernetes API動態配置策略。code

• 角色
  • Role:受權特定命名空間的訪問權限
  • ClusterRole:受權全部命名空間的訪問權限
• 角色綁定
  • RoleBinding:將角色綁定到主體(即subject)
  • ClusterRoleBinding:將集羣角色綁定到主體
• 主體(subject)
  • User:用戶
  • Group:用戶組
  • ServiceAccount:服務帳號blog

相關文章
相關標籤/搜索