Files
nexus/wiki/concepts/Pod-Security-Context.md

2.3 KiB
Raw Blame History

title, type, tags, last_updated
title type tags last_updated
Pod Security Context concept
Kubernetes
Security
Container
Pod
RBAC
2026-04-24

Definition

Pod Security ContextPod 安全上下文)是 Kubernetes 中定义 Pod 和容器级别安全设置的机制,通过 YAML 配置在 Pod Spec 中声明容器的运行权限和访问控制。

Common Security Context Fields

Container-Level Settings

securityContext:
  readOnlyRootFilesystem: true   # 容器根文件系统设为只读
  runAsNonRoot: true              # 禁止以 root 用户运行
  runAsUser: 1000                # 指定运行用户 UID
  runAsGroup: 1000               # 指定运行用户组 GID
  allowPrivilegeEscalation: false # 禁止权限提升
  capabilities:
    drop: ["ALL"]                # 移除所有 Linux capabilities

Pod-Level Settings

securityContext:
  hostNetwork: false              # 不使用宿主机网络
  hostIPC: false                 # 不使用宿主机 IPC
  hostPID: false                 # 不使用宿主机 PID 命名空间
  automountServiceAccountToken: false # 不自动挂载 ServiceAccount Token

Key Concepts from CTP Topic 49

readOnlyRootFilesystem: true

将容器根文件系统设为只读防止攻击者在容器内创建或修改文件。Demo 演示:设置此标志后,容器内尝试 touch /tmp/test 会失败。

automountServiceAccountToken: false

禁用 Kubernetes ServiceAccount Token 的自动挂载,防止容器自动获得对 Kubernetes API 的访问权限。如果容器应用需要访问 API应显式创建带有精确权限的 ServiceAccount 并通过 RBAC 绑定。

hostNetwork: false / hostPort

避免使用宿主机网络和宿主机端口:

Relationship to Kubernetes RBAC

Pod Security Context 与 Kubernetes RBAC 配合使用:

  • Security Context 控制容器的运行时权限
  • RBAC 控制 ServiceAccount 对 Kubernetes API 的访问权限
  • 两者共同实现最小权限原则

Sources