TMA-KUBERNETES-1.2.8
Ensure that the --authorization-mode argument includes RBAC
高级别 1自动化kubernetes
说明
Turn on Role Based Access Control. Audited on control-plane nodes from the running process arguments (falls back to the kubeadm static pod manifest); SKIPs on nodes without that manifest.
检查方式
审计方法: Shell 命令
shell
set -f
a=$(ps -eo args 2>/dev/null | grep -E '^([^ ]*/)?kube-apiserver( |$)' | head -n 1)
[ -n "$a" ] || a=$(sed -n 's/^[[:space:]]*-[[:space:]]*"\{0,1\}\(--[^"]*\)"\{0,1\}[[:space:]]*$/\1/p' /etc/kubernetes/manifests/kube-apiserver.yaml | tr '\n' ' ')
[ -n "$a" ] || exit 1
g() { printf '%s\n' "$a" | awk -v k="--$1" '{for(i=1;i<=NF;i++){if($i==k&&i<NF)v=$(i+1); else if(index($i,k"=")==1)v=substr($i,length(k)+2)}} END{if(v!="")print v}'; }
has() { printf '%s\n' "$a" | awk -v k="--$1" '{for(i=1;i<=NF;i++) if($i==k||index($i,k"=")==1) f=1} END{exit !f}'; }
ok=1
v=$(g authorization-mode); case ",$v," in *,RBAC,*) ;; *) echo "noncompliant: --authorization-mode=$v lacks RBAC"; ok=0;; esac
if [ "$ok" -eq 1 ]; then echo compliant; fi- 预期输出
compliant
修复方式
修复方法: 操作指南或基础设施补丁
Edit the API server pod specification file /etc/kubernetes/manifests/kube-apiserver.yaml on the Control Plane node and set the --authorization-mode parameter to a value that includes RBAC, for example: --authorization-mode=Node,RBAC
属性
- 操作系统
- 任意
- 标签
- kubernetesapi-serverrbac
- 参考
- CIS Kubernetes Benchmark v2.1.0 - 1.2.8 Ensure that the --authorization-mode argument includes RBAC
检查本机
请在您有权审计的机器上运行此命令。扫描为只读操作。
shell
tmaegis scan --target kubernetes