13. 安全上下文

news/2025/11/17 18:18:54/文章来源:https://www.cnblogs.com/beamsoflight/p/19233942

安全上下文(Security Context)

安全上下文概念

Kubernetes 的 Security Context(安全上下文) 用于控制容器的权限和安全策略,防止容器影响宿主机或集群的安全。

可以应用的范围:

级别 作用对象
Pod-level Security Context 作用于 Pod 内所有容器及 Volume
Container-level Security Context 仅作用于指定容器,优先级高于 Pod-level
Pod Security Policies (PSP) 已废弃 集群级别安全策略,影响所有 Pod

Pod 级安全上下文示例

# security-context-pod-demo.yaml
apiVersion: v1
kind: Pod
metadata:name: security-context-pod-demo
spec:volumes:- name: sec-ctx-volemptyDir: {}securityContext:   # Pod级安全上下文runAsUser: 1000    # Pod内所有容器进程 UIDrunAsGroup: 3000   # Pod内所有容器进程 GIDfsGroup: 2000      # 挂载卷和文件所属 GIDcontainers:- name: sec-ctx-demoimage: busyboxcommand: ["sh", "-c", "sleep 60m"]volumeMounts:- name: sec-ctx-volmountPath: /pod/demosecurityContext:   # 容器级安全上下文,可覆盖 Pod-levelallowPrivilegeEscalation: false

解释

  • runAsUser:容器内进程 UID
  • runAsGroup:容器内进程 GID
  • fsGroup:挂载卷的 GID
  • allowPrivilegeEscalation:是否允许特权提升(默认 true,privileged 或 CAP_SYS_ADMIN 时强制 true)

验证:

ubuntu@ubuntu:~/example/security-context$ kubectl apply -f ./security-context-pod-demo.yaml 
pod/security-context-pod-demo created
ubuntu@ubuntu:~/example/security-context$ kubectl exec -it security-context-pod-demo -- id
uid=1000 gid=3000 groups=2000,3000
ubuntu@ubuntu:~/example/security-context$ kubectl exec -it security-context-pod-demo -- ls -la /pod/demo
total 8
drwxrwsrwx    2 root     2000          4096 Nov 17 09:57 .
drwxr-xr-x    3 root     root          4096 Nov 17 09:57 ..
ubuntu@ubuntu:~/example/security-context$ kubectl exec -it security-context-pod-demo -- top
Mem: 2186016K used, 1774888K free, 4236K shrd, 75484K buff, 1346260K cached
CPU:  2.4% usr  0.0% sys  0.0% nic 97.5% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 0.00 0.00 0.00 1/683 24
PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
19     0 1000     R     4568  0.1   1  0.0 top
1     0 1000     S     4436  0.1   3  0.0 sleep 60m

Linux Capabilities

Linux 将 root 权限拆分成细粒度权限,称为 Capabilities,避免 SUID 过度授权风险。

常用 Capabilities:

Capability 用途
CAP_NET_ADMIN 网络管理
CAP_SYS_TIME 设置系统时间
CAP_SYS_ADMIN 系统管理(类似特权 root)

Capabilities 集合(线程级别):

集合 作用
Permitted 可使用的最大 Capabilities
Effective 内核检查权限使用的集合
Inheritable 可被 exec 继承的 Capabilities
Bounding Inheritable 的超集,限制上限
Ambient Linux 4.3 新增,可继承给子进程

Kubernetes 配置 Capabilities

# cpb-demo.yaml
apiVersion: v1
kind: Pod
metadata:name: cpb-demo
spec:containers:- name: cpbimage: busyboxargs: ["sleep", "3600"]securityContext:capabilities:add:    # 添加- NET_ADMINdrop:   # 删除默认能力- KILL

验证:

ubuntu@ubuntu:~/example/security-context$ kubectl apply -f cpb-demo.yaml 
pod/cpb-demo created
ubuntu@ubuntu:~/example/security-context$ kubectl exec -it cpb-demo -- /bin/sh
# 验证网络功能/ # ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0@if24: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue qlen 1000link/ether d2:b3:6b:96:5a:c8 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop qlen 1000link/ether b2:f2:bb:1c:96:54 brd ff:ff:ff:ff:ff:ff# 验证kill
/ # id
uid=0(root) gid=0(root) groups=0(root),10(wheel)
# 创建一个非 root 用户的后台进程
/ # adduser testuser
Changing password for testuser
New password: 
Bad password: too short
Retype password: 
passwd: password for testuser is unchanged
adduser: user 'testuser' in use
/ # su - testuser -c "sleep 1000 &"
/ # top
Mem: 2203412K used, 1757492K free, 4236K shrd, 76748K buff, 1347196K cached
CPU:  2.5% usr  0.0% sys  0.0% nic 97.4% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 0.05 0.01 0.00 2/683 30PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND7     0 root     S     4568  0.1   1  0.0 /bin/sh30     7 root     R     4568  0.1   1  0.0 top1     0 root     S     4436  0.1   3  0.0 sleep 360029     1 testuser S     4436  0.1   3  0.0 sleep 1000
/ # kill -9 29
sh: can't kill pid 29: Operation not permitted

特权容器(Privileged)

  • Docker/Containerd:--privileged 开启容器超级权限
  • Kubernetes:
    securityContext:
    privileged: true
    

不建议使用,获取宿主机 root 权限,安全风险极高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/968197.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12. RBAC

RBAC 权限控制 管理员可以通过 Kubernetes API 动态配置策略来启用 RBAC,需要在 kube-apiserver 中添加参数 authorization-mode=RBAC,如果使用的 kubeadm 安装的集群那么是默认开启了 RBAC 的,可以通过查看 Master…

JavaScript手写函数

手写一个 new function create() {// 创建一个空对象let obj = new Object();// 参数转数组var args = Array.prototype.slice.call(arguments);// 获取构造函数let Con = args[0];// 链接原型obj._proto_ = Con.proto…

美国本科申请中介怎么选?2025口碑TOP5出炉,藤校资源/申请成功率双保障

美国本科申请中介怎么选?2025口碑TOP5出炉,藤校资源/申请成功率双保障随着留学热潮的持续升温,美国本科申请因院校资源优质、教育体系完善,成为众多中国学子的首选。美国本科申请流程复杂,涉及文书创作、背景提升…

2025 最新冷库建造厂家推荐!医药 / 食品 / 物流 / 小型 / 大型 / 自动化冷库建造厂家企业品牌权威排行榜

引言 在冷链仓储行业持续扩容的背景下,冷库建造的技术专业性、安全合规性与运营能效成为核心竞争力。据国际冷链协会(IARW)最新测评数据显示,优质冷库可使产品损耗率降低 25%-30%,能耗成本节省 18%-22%,而行业不…

语句的执行

Completion Record 标准类型[[type]]:完成的类型(break、continue、return、throw、normal) [[value]] :返回值(如果没有,则为 empty) [[target]] :语句的目标{var a = 1; // normal, undefined, emptyreturn …

房产信息管理系统

1、项目需求: 某房产公司,欲开发一个房产信息管理系统,其主要功能描述如下: (1)公司销售的房产,房产信息包括,房产编号(唯一性)、房产证明,地址,建造年份,建造面积,销售报价,房产照片以及销售状态 (在售…

10. 准入控制器

准入控制器 Kubernetes 提供了需要扩展其内置功能的方法,最常用的可能是自定义资源类型和自定控制器了,除此之外,Kubernetes 还有一些其他非常有趣的功能,比如 admission webhooks 就可以用于扩展 API,用于修改某…

2025 最新推荐!保定篮球俱乐部培训中心实力榜单:揭秘行业顶尖机构服务与教学优势权威指南

随着篮球运动的全民普及,培训市场规模持续扩大,但行业乱象也随之显现,如教学体系不完善、教练资质参差不齐、安全保障缺失等问题,严重影响学员体验。本次榜单依托国际篮球协会(FIBA)测评标准,结合行业权威数据(…

work5

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14581 学号:102500331 姓名:余武 1.设计一个getchar和putchar联合使用…

2025年南京高功率密度电源公司推荐,高功率密度电源/电源模块/军用电源/全国产化电源/氢能源车载直流转换器生产直销有哪些

行业发展趋势分析 随着新能源、轨道交通、航空航天等领域的快速发展,高功率密度电源市场需求持续增长。作为长三角地区重要的科技创新城市,南京聚集了一批在电源领域具有深厚技术积累的企业。这些企业通过持续的技术…

2025 年最新推荐冷库安装厂家排行榜,小型冷库 / 医药疫苗冷库 / 智能冷库设备安装实力企业口碑推荐

引言 冷链物流行业的高速发展推动了冷库安装需求的激增,而冷库安装质量直接决定了农产品、医药产品等物资的存储安全与效益。据国际冷链协会(IARW)最新测评数据显示,全球不合格冷库安装项目中,因资质缺失导致的安…

2025美国研究生申请认准这些机构!藤校offer收割机/背景提升全流程,实力中介测评

2025美国研究生申请认准这些机构!藤校offer收割机/背景提升全流程,实力中介测评随着留学热潮的持续升温,美国研究生申请因优质教育资源和广阔发展前景,成为众多学子的首选。然而,美国高校申请流程复杂,文书撰写、…

fdisk linux分区

fdisk 是一个用于管理磁盘分区的命令行工具,广泛用于 Linux 系统中。它可以帮助你查看、创建、删除、调整分区表等。下面是 fdisk 的常用用法和功能说明:一、基本用法 1. 查看磁盘信息 fdisk -l会列出所有磁盘设备(…

exe文件在linux

在 Linux 系统中,exe 文件(即 Windows 的可执行文件)并不是直接支持的。Linux 系统使用的是 二进制可执行文件,通常以 .bin、.elf、.so、.dylib 等格式存在,而不是 .exe。一、Linux 中的可执行文件类型 在 Linux …

CAD开发-AutoCAD Code Pack 封装包

CAD开发-AutoCAD Code Pack 封装包https://github.com/luanshixia/AutoCADCodePack AutoCAD Code Pack 功能详细文档 概述 AutoCAD Code Pack 是一个基于 AutoCAD .NET API 的开发库,旨在简化 AutoCAD 插件开发流程。…

Wan2.2-I2V-A14B的推理加速库:xFormers与FlashAttention性能测试

https://blog.csdn.net/gitblog_00851/article/details/151601351

常见问题 --- Bad register number passed to arm.get register value

常见问题 --- Bad register number passed to arm.get register valuehttps://community.hex-rays.com/t/bug-report-arm64-debugging-persistent-bad-register-number-popup-loop/135 请更新最新版本

2025 年最新制氮机厂家推荐排行榜:激光切割 / 防爆 / 化工等多场景精选,技术与服务双优指南金属加工制氮机/医药农业制氮机/SMT制氮机公司推荐

引言 氮气作为工业生产核心保护气体,其纯度与供应稳定性直接决定产品品质与生产安全,制氮机的选型已成为企业降本增效的关键决策。据国际工业气体协会(IGIA)2025 年测评数据显示,全球合格制氮机品牌仅占市场总量的…

eclipse下载 linux

在 Linux 系统上下载和安装 Eclipse 需要一些步骤,以下是详细的指导:? 一、下载 Eclipse 1. 选择合适的版本 Eclipse 有多个版本,如:Eclipse IDE for Java Developers(Java 开发) Eclipse IDE for C/C++ Develo…