首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    这些用来审计 Kubernetes RBAC 策略的方法你都见过吗?

    Kubernetes 社区也越来越关注容器的安全评估(包括渗透测试,配置审计,模拟攻击),如果你是应用安全工程师,或者是安全感知的 DevOps 工程师,最好了解一下 Kubernetes 的授权模型。...Kubectl Can-I 某些生产环境不允许安装额外的服务,只能使用 kubectl,我们可以使用 kubectl 的内置命令 kubectl auth can-i来查看 RBAC 权限。...例如,查看你是否拥有 get pod 的权限: $ kubectl auth can-i get pods yes 查看你是否拥有 cluster-admin 的权限: $ kubectl auth can-i...例如,查看名为 unprivileged-service-account 的 Service Account 是否拥有 get pod 的权限: $ kubectl auth can-i get pod...API Server 的请求头。

    1.2K10

    让 RBAC Forbidden 现形:一次 CoreDNS 因 ServiceAccount 授权不全导致的生产故障复盘

    在一次 Kubernetes 集群小版本升级后,我遭遇了一个非常阴魂不散的 DNS 故障:业务 Pod 间歇性解析失败,kubectl exec 进入容器后 nslookup 时好时坏,且没有明显的网络丢包或者...用 kubectl auth can-i 直击权限矩阵kubectl auth can-i --as=system:serviceaccount:kube-system:coredns-coredns...更有意思的一点是,Kubernetes API 的 Forbidden 错误本身可能包含额外的 RBAC 信息,这在安全审视里也被提过,虽然不是根因,但说明 Forbidden 文案本身就足以给出定位方向...status deploy/coredns随后再次核验:kubectl auth can-i --as=system:serviceaccount:kube-system:coredns-coredns...kubectl auth can-i --as="$SA" "$verb" "$res" --all-namespaces >/dev/null; then echo "[MISS] $SA cannot

    31410

    上篇:运维人员不得不看的K8S API入门实战,呕心沥血整理得又臭又长,有人看吗

    Kubernetes中的各种组件,包括kubectl命令行工具、kubeadm等工具,都通过调用这些API来执行操作。 除了使用kubectl等工具之外,也可以直接使用REST调用来访问API。... auth can-i list pods --namespace rook-ceph --as tantianran yes [root@k8s-a-master api-user]# kubectl... auth can-i list pods --namespace default --as tantianran # 可以看到,处于default命名空间下的pod的,tantianran是没有权限的...[root@k8s-a-master api-user]# kubectl auth can-i create pods --namespace rook-ceph yes [root@k8s-a-master... api-user]# kubectl auth can-i create pods --namespace default  no 客户端库 当要使用 Kubernetes REST API 来操作K8S

    1.7K30

    Kubernetes身份认证和授权操作全攻略:上手操作Kubernetes身份认证

    这是本系列文章的第二篇,在上篇文章中我们介绍了Kubernetes访问控制。在本文中,我们将通过上手实践的方式来进一步理解身份认证的概念。...假设你是集群管理员并且拥有管理全局资源和对象的权限,你需要登上Bob的账户并帮助他获取访问Kubernetes集群所需的凭据。...CLI以auth的形式提供了非常有用的开关,可以验证特定用户的权限。...kubectl auth can-i list pods --namespace engineering yes 我们也能够检查Bob能否访问engineering命名空间。...kubectl auth can-i list pods --namespace engineering --as bob no 很显然,Bob无法访问命名空间,这是因为我们创建了凭据但是没有明确授权Bob

    2.1K20

    红队视角出发的k8s敏感信息收集——Kubernetes API 扩展与未授权访问

    要检查某个ServiceAccount是否具有对特定CRD执行某些操作(例如创建databases.example.com类型的资源)的权限,可以使用kubectl auth can-i命令。...auth can-i create databases.example.com --all-namespaces 如果返回 "yes",表示该ServiceAccount确实有权限创建这种类型的资源。...发现聚合 API 服务 列出所有 API 资源 列出所有Kubernetes API资源是一个了解集群中可用资源类型及其属性的有效方法。...--namespaced=true 识别未授权端点 使用 kubectl proxy 命令可以为Kubernetes API服务器创建一个代理服务器,它默认情况下会通过本地的API服务器认证和授权机制进行通信...下面是如何检测这种情况的具体步骤: 首先,需要启动kubectl proxy,它会在本地机器上打开一个端口(这里以8080为例),并将请求转发到Kubernetes API服务器。

    90420

    k8s故障排查常用方法

    -- SRETALK 9月14日 k8s更新了1.28.2版本,这更新速度杠杠的,你们还在用什么版本,停留在1.18-1.20的小伙伴举个手 --k8s k8s故障排查常用方式 在Kubernetes中排查故障是一个常见但有时复杂的任务...以下是常用的方式和方法,可以帮排查Kubernetes中的故障: 查看Pod状态和事件: 使用 kubectl get pods 命令来获取Pod的状态。...Kubernetes组件排查: 如果问题似乎涉及Kubernetes控制平面组件(如kube-apiserver、kube-controller-manager、kube-scheduler等),检查它们的日志以获取更多信息...升级和维护: 确保Kubernetes集群和应用程序组件处于最新版本,因为某些故障可能已在较新的版本中修复。...使用kubectl auth can-i命令验证用户或服务帐户是否有特定操作的权限。 在排查故障时,重要的是有系统地方法来分析问题,从Pod级别到节点级别,甚至到集群级别。

    61040

    关于Kubernetes中kube-apiserver使用token、kubeconfig认证的一些笔记

    ----- 《季羡林谈人生》 ---- API Server认证管理 Kubernetes集群中所有资源的访问和变更都是通过Kubernetes API Server的REST API来实现的,所以集群安全的关键点就在于如何鉴权和授权...当 API 服务器的命令行设置了--token-auth-file=SOMEFILE选项时,会从文件中 读取持有者令牌。目前,令牌会长期有效,并且在不重启 API 服务器的情况下 无法更改令牌列表。...kubectl 命令行工具使用 kubeconfig 文件来查找选择集群所需的信息,并与集群的 API 服务器进行通信。...┌──[root@vms81.liruilongs.github.io]-[~/ansible/k8s-rbac-create] └─$kubectl auth can-i list pods --as...] └─$kubectl auth can-i list pods -n kube-system --as liruilong #检查 是否具有 list 命名空间 kube-system 里 pod

    4.3K31
    领券