Kubernetes ServiceAccount:Pod 的“身份证”与权限管理指南

k8s权限配置(ServiceAccount、Role、ClusterRole) 基于RBAC配置User权限,包括操作(get、create、list、delete、update、edit、watch、exec)资源: Pods PV ConfigMaps Deployments Nodes Secrets Namespaces 资源与api group关联(如pods属于core api group,deployments属于apps api group)。 在RBAC中的几个概念: Rules:规定一组可以在不同api group上的资源执行的规则(verbs) Role与Clus 阅读详情

在 Kubernetes 里,ServiceAccount(服务账号) 是一种“身份凭证”,专门给 Pod(以及在 Pod 中运行的应用)用的。
它的作用有点像一个系统用户账号,但它不是给人用的,而是给 程序 / 服务 用的。


1. 为什么需要 ServiceAccount

  • 在 K8s 中,Pod 里的程序可能需要访问 API Server(比如读取 ConfigMap、创建 Pod、列出节点等)。

  • K8s 不会让所有 Pod 都用管理员权限访问 API Server(安全风险太大)。

  • ServiceAccount 就是用来:

    1. 识别 Pod 的身份(Pod 是谁)

    2. 授予访问 API 的权限(配合 RBAC)


2. 它包含什么

一个 ServiceAccount 对象主要包含:

  1. 名字(metadata.name)

  2. 一个或多个 Secret(里面有 token、CA 证书等,用于 API 认证)

  3. 自动挂载到 Pod 的 token 文件(默认挂载在 /var/run/secrets/kubernetes.io/serviceaccount)


3. 默认行为

  • 如果你创建 Pod 时没指定 serviceAccountName,K8s 会自动用 default 这个 ServiceAccount。

  • 这个 default ServiceAccount 默认没什么权限(只是能访问 API Server 基础信息)。

  • 如果你要让某个 Pod 有更高权限,就要:

    1. 创建一个新的 ServiceAccount

    2. 用 RBAC 绑定权限

    3. 在 Pod 里指定它


4. 工作流程

  1. 创建 ServiceAccount

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: my-sa
    
  2. 创建 Role(或 ClusterRole)定义权限

    kind: Role
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: pod-reader
    rules:
    - apiGroups: [""]
      resources: ["pods"]
      verbs: ["get", "list"]
    
  3. 绑定 ServiceAccount 和 Role

    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: read-pods-binding
    subjects:
    - kind: ServiceAccount
      name: my-sa
      namespace: default
    roleRef:
      kind: Role
      name: pod-reader
      apiGroup: rbac.authorization.k8s.io
    
  4. Pod 使用这个 ServiceAccount

    apiVersion: v1
    kind: Pod
    metadata:
      name: test-pod
    spec:
      serviceAccountName: my-sa
      containers:
      - name: test
        image: busybox
        command: ["sh", "-c", "sleep 3600"]
    

5.实战小技巧

调试 token 权限:

@#kubectl auth can-i list pods --as=system:serviceaccount:default:prometheus
yes
[16:55:12root@k8s-edge-master /root]
@#kubectl auth can-i list pods --as=system:serviceaccount:default:my-sa
no

配合 kubeconfig 使用(让本地程序模拟 Pod 身份访问 API)

TOKEN=$(kubectl get secret $(kubectl get sa my-sa -o jsonpath='{.secrets[0].name}') \
         -o jsonpath='{.data.token}' | base64 --decode)
# 将 TOKEN 写入 kubeconfig 进行测试
    MLflow管记忆、Airflow管节奏、Kubeflow管底盘:MLOps三工具协同实战 机器学习工程化(MLOps)的核心挑战在于实验可复现、流程可调度、模型可交付。MLflow通过实验追踪与模型注册构建可追溯的因果链,解决‘记不住’问题;Airflow以DAG驱动数据依赖编排,保障特征更新、训练触发等任务的时序可靠性,应对‘跟不上’困境;Kubeflow则基于Kubernetes深度定制GPU调度、弹性扩缩与灰度发布能力,支撑AI工作负载的‘撑不住’瓶颈。三者并非替代关系,而是分层协作:MLflow沉淀数字资产,Airflow定义执行节拍,Kubeflow提供运行底盘。本文结合银行风控、电商 阅读详情

    相关推荐

    Claude作为工程团队:重构开发者协作模式的实践指南

    在AI编程工具普遍聚焦代码补全的当下,'AI工程团队'正成为新一代技术协作范式的核心概念。它超越传统Copilot的局部上下文理解,依托长上下文建模、跨模态语义解析与工程约束显式推理,实现系统级根因定位、多角色协同决策与生产级代码生成。这种能力源于对SLA指标、Kubernetes配置、Prometheus监控、OpenAPI规范等真实工程要素的联合建模,其技术价值在于压缩开发-SRE-架构师之间的协作链路,将平均故障闭环时间从数小时降至分钟级。典型应用场景包括需求评审风险预判、CI/CD阶段自动合规校验、

    weixin_30813225的博客 429

    访问控制1

    访问控制,包括 ServiceAccount,Role和ClusterRole。

    K要努力的博客 427

    AI平台数据安全实战:从泄露风险到纵深防御体系构建

    在人工智能与大数据技术深度融合的背景下,数据处理与模型训练已成为企业核心竞争力的关键。其核心原理在于通过算法从海量数据中学习规律并做出预测。然而,这一过程也带来了严峻的数据安全与隐私保护挑战,尤其是在涉及个人隐私和商业机密的场景下,数据泄露风险陡增。从技术价值看,构建安全可靠的AI平台不仅是合规要求,更是保障业务可持续发展和赢得用户信任的基石。应用场景广泛覆盖金融风控、医疗健康、智能推荐等多个对数据敏感的高价值领域。本文聚焦于AI平台这一特定载体,深入剖析其数据流转链路中潜藏的四大核心泄露路径,并系统性地从

    weixin_34293059的博客 491

    k8s、ServiceAccount权限详解、RBAC 详解(基于角色的访问控制),常用操作指令

    文章目录Service Account应用示例RBAC 详解(基于角色的访问控制)创建一个角色(role)---权限实验二常用操作指令 Service Account应用示例 概念图权限关系 我自己的理解就是,Service Account就是pod的权限 1、创建serviceaccount [root@kub-k8s-master ~]# kubectl create serviceaccount mysa serviceaccount/mysa created 2、查看mysa [root@kub

    mingqing的博客 5451

    abaqus 根据坐标施加载荷- Analytical Field 载荷映射

    在一些类型的分析中,需要将按位置分布的载荷施加到结构上,比如流体分析导出了结构的气动载荷、或者温度载荷,需要将压强分布、温度分布载荷施加到固体上。这种分析可以使用abaqus中的Analytical Field实现。 1 例子 1.1 结构 一个100*100mm的面,面的载荷分布函数为p=(x2+y2)0.5/((20.5)*100) MPa,即(0, 0)的压强为0,(100, 100)的压强为1。 1.2 载荷 载荷函数:p=(x^2+y^2)^0.5/((2^0.5)*100) in exce.

    shengyutou的博客 2万+

    C语言实验——各位数字之和排序

    C语言实验——各位数字之和排序Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description给定n个正整数,根据各位数字之和从小到大进行排序。 Input输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面...

    aiLMengi000的博客 1239

    Kubernetes之ServiceAccount+Secret(超详细汇总)

    第一章、前言 每一个用户对API资源进行操作都需要通经过以下三个步骤: 第一步:对客户端访问进行认证操作,确认是否具有访问k8s权限 token(共享秘钥) SSL(双向SSL认证) ....通过任何一个认证即表示认证通过,进入下一步 第二步:授权检查,确认是否对资源具有相关的权限 ABAC(基于属性的访问控制) RBAC(基于角色的访问控制) NODE(基...

    BigData_Mining的博客 1万+

    【ESP32-S3量产指南】基于Flash下载工具实现Release模式Flash加密与安全配置

    本文详细介绍了ESP32-S3量产阶段如何通过Flash下载工具实现Release模式下的Flash加密与安全配置。从加密模式选择、工具配置到分区表优化,提供了一套完整的量产安全解决方案,帮助开发者有效防止固件泄露和篡改,确保设备安全。

    weixin_28730131的博客 228

    Kubernetes-一文详解ServiceAccount与RBAC权限控制

    目录 一,服务帐号 1.ServiceAccount介绍 2.Secret与SA(ServiceAccount)的关系 3.默认的服务帐户 4.使用自定义SA 5.ServiceAccount中添加图片拉秘诀 二,RBAC 1.RBAC介绍 2,角色和集群角色 3,角色绑定和集群角色绑定 实践:创建一个用户只能管理称为vfan的NameSpace 一,服务帐号 1.ServiceAccount介绍 首先,Kubernetes中账户区分为:用户帐户(用户帐户)和服务帐户(服务帐

    Dragon的博客 3212

    Proteus一体化安装STC15库添加

    Proteus一体化安装与STC15库添加指南 本文详细介绍了Proteus 8.9 SP2专业版的一体化安装流程和STC15系列单片机库文件的添加方法。安装过程简单快捷,无需破解,稳定性好。通过将两个库文件(Lib和LIB)复制到Proteus安装目录的DATA/LIBRARY文件夹中,即可实现STC15W4K32S4芯片的仿真功能。文中还提供了新建工程和器件放置的步骤说明,特别指出STC15W4K32S4芯片可兼容仿真其他STC15系列芯片,并附带下载链接获取资源。该教程适用于电子设计初学者和开发者。

    #法外狂徒张三的博客 4万+

    (头歌作业)—6.1 葡萄酒评论分析报告(project)

    请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。请读取文件中的数据,完成以下任务:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬。

    2301_80677920的博客 1239

    k8s 认证和权限控制

    可以得到 namespace,secret.name,service-account.name,service-account.uid 等信息 ,ServiceAccount 相当重要,之前我们说到过访问 pod 元数据的时候,就提到过 ServiceAccount**,以及相应的挂载文件:**文件来进行身份认证的,这是代表了运行的 pod 中的应用程序的身份证明,技术是开放的,我们的心态,更应是开放的。,并且,我们需要清楚,这些都是得再同一个命名空间下的,我们解码后,可以看到具体的信息。

    m0_37322399的博客 867

    基于Spring Boot + Vue 3构建高并发华为数码商城交易平台:全栈架构设计与实现

    内容将涵盖系统架构、数据库设计、核心模块开发(用户、商品、订单、购物车)、安全认证、性能优化以及前后端分离部署等关键环节,并提供详尽的代码示例,旨在为开发者提供一个可落地的企业级项目实战指南。<el-button text class="button" @click.stop="addToCart(product)">加入购物车</el-button>.antMatchers("/api/user/login", "/api/user/register").permitAll() // 公开接口。

    2201_76125393的博客 302

    十. k8s--访问控制 serviceaccount和RBAC 学习笔记

    目录 用户账户与服务账户 访问控制过程 K8s内建用户组: 认证. 授权与准入控制 认证方式 内建的授权插件: 准入控制器 ServiceAccount管理与应用 ...

    weixin_30565327的博客 800

    模型可解释性分析:基于SHAP的深度探索

    SHAP模型可解释性分析摘要 本文系统性地介绍了SHAP(SHapley Additive exPlanations)方法在机器学习模型可解释性分析中的应用。SHAP基于博弈论的Shapley值理论,为特征重要性评估提供了统一框架。文章详细阐述了四种核心算法:Kernel SHAP(模型无关方法)、Tree SHAP(针对树模型的高效算法)、Deep SHAP(适用于深度学习)和Linear SHAP(线性模型专用)。通过Python实现展示了从数据准备到SHAP分析的全流程,包括摘要图、依赖图等可视化技术

    huanghm88的专栏 593

    LVGL(lv_canvas)

    这篇文章介绍了LVGL图形库中的lv_canvas组件,主要内容包括: lv_canvas是一个绘图缓冲区对象,提供丰富的绘图API,可以理解为LVGL的"离屏画布"。 基本使用流程:创建缓冲区->创建canvas对象->设置缓存和尺寸->进行绘图操作。 详细列举了常用的绘图函数,如绘制线条、矩形、文字、图片等。 提供了示例代码展示如何创建画布并绘制一条红色线段。 介绍了canvas的典型应用场景,如动态波形绘制、自定义控件底图等。 对比了canvas与普通img的区别

    m0_49476241的博客 1017

    Kubernetes RBAC实战:ServiceAccount与Role/ClusterRole的精细化权限管理

    本文深入探讨Kubernetes RBAC实战,重点解析ServiceAccount与Role/ClusterRole的精细化权限管理。通过实际案例演示如何创建专属ServiceAccount、配置最小化权限的Role/ClusterRole,以及正确使用RoleBinding和ClusterRoleBinding。文章还分享了权限继承、检查工具和模板等高级技巧,帮助开发者避免常见权限配置陷阱,实现安全的k8s权限管理。

    sand8的博客 161

    NTscan扫描工具

    ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

    K8S初级入门系列之十一-安全

    metadata:创建完成后,查看详情可以看到 mountable secret和tokens都关联了一个名为my-servicesaccount-token-cz8kp的secret,我们查看其secret的详情Data====其data包含ca.crt,namespace,token密钥三部分,其中ca.crt即颁发的CA证书,namespace即命名空间,token文件中存放的密钥。这三部分的用途我们待会讲到。

    恰恰虎的博客 1112

    假人有限元模型

    假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

    WINCC7.3破解文件

    WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

    《Kubernetes in action》Kubernetes API权限认证(一)

    Kubernetes API权限认证了解认证机制用户和组ServiceAccount介绍ServiceAccount 资源创建ServiceAccount将 ServiceAccount 分配给 pod通过基于角色的权限控制加强集群安全介绍RBAC授权插件介绍RBAC资源 了解认证机制 API 服务器接收到的请求会经过一个认证插件的列表,列表中的每个插件都可以检查这个请求和尝试确定谁在发送这个请求。列表中的第一个插件可以提取请求中客户端的用户名、用户 ID 和组信息,并返回给 API 服务器。 API服务器

    qq_36652517的博客 788

    迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

    迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

    Kubernetes(K8s)_10_认证机制

    Kubernetes(K8s)保证安全的认证机制/插件

    爱喝可乐的w 1764

    【Kubernetes从入门到精通】第53篇:RBAC——基于角色的访问控制完全指南,别再给CI/CD账号开“管理员“了

    摘要 本文深入解析Kubernetes RBAC授权机制,重点讲解Role、ClusterRole、RoleBinding和ClusterRoleBinding四者的区别与用法。通过可视化关系图清晰展示命名空间级与集群级权限的划分逻辑,特别指出ClusterRole+RoleBinding这一"缩小权限范围"的特殊组合。文章还介绍了聚合ClusterRole的自动化管理技巧,并通过CI/CD场景实战演示如何创建最小权限的ServiceAccount,避免赋予过高权限导致安全隐患。最后给出生产环境推荐配置,强

    xyghehehehe的专栏 299

    30分钟快速1:1 复刻企业级 DevOps 架构实战(六)单机搭建「企业K8s环境」

    这篇文章提供了一个完整的本地DevOps环境搭建方案,使用Docker Compose一键部署企业级开发工具链。主要内容包括: 环境准备:仅需安装Docker Desktop和IDEA开发工具 全套组件部署:通过docker-compose.yml文件配置了8个核心企业组件: 代码管理(Gitea) CI流水线(Jenkins) 代码质量检测(SonarQube) 制品仓库(Nexus) 配置中心(Nacos) 监控系统(Prometheus+Grafana) 详细的使用说明: 各组件访问地址和默认账号 S

    echo的博客 425

    【k8s之RBAC:基于角色的访问控制】

    用户,服务,节点认证流程与步骤;CSR,kubeconfig,OIDC,TLSBootstrapping详细介绍

    du_12138的博客 329

    09-RBAC

    安全始终是Kubernetes发展过程中的一个关键领域。从本质上来说,Kubernetes可被看作一个多用户共享资源的资源管理系统,这里的资源主要是各种Kubernetes里的各类资源对象,比如 Pod、Service、Deployment等。只有通过认证的用户才能通过Kubernetes的API Server查询、创建及维护相应的资源对象,理解这一点很关键。Kubernetes里的用户有两类:我们开发的运行在Pod里的应用;

    weixin_58423196的博客 1256

    API密钥安全与云服务控制台管理实战指南

    API密钥是现代应用与云服务交互的核心凭证,其本质是用于身份验证和授权的数字令牌。其安全原理基于非对称加密或签名机制,确保通信双方的可信身份。在技术价值上,妥善管理API密钥是保障云资源安全、防止数据泄露与未授权访问、实现精细化成本控制的基础。应用场景广泛覆盖Web应用、移动App、微服务架构及第三方集成等。本文将聚焦于云服务控制台的高效使用与API密钥全生命周期管理,深入探讨如何通过仪表盘监控、项目隔离、权限策略配置等控制台功能,结合环境变量、秘密管理服务等存储方案,以及IP白名单、临时凭证等高级加固手段

    weixin_33912638的博客 315

    运维--学习阶段问题解答(1)(自测)

    对学习运维的阶段问题进行解答(面试常问,多用于自测)

    2503_91800161的博客 680
    上一篇: Java 类加载冲突
    下一篇: Python虚拟环境(Virtual Environment)
    riverz1227
    博客等级 码龄12年 121粉丝 56原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

    当前余额3.43元 前往充值 >
    需支付:10.00元
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付元
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值