Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
rakkess — Review Access - kubectl 插件,用于显示 k8s 服务器资源的访问矩阵 | Kitploit
工具/GitHubGitHub/corneliusweig/rakkess
身份验证与授权云基础设施安全配置审计云安全身份与访问管理 (IAM)
GitHubcorneliusweig/rakkess

rakkess

Review Access - kubectl 插件,用于显示 k8s 服务器资源的访问矩阵

查看仓库
1.4k603年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

rakkess

Build Status Code Coverage Go Report Card LICENSE Releases

审查访问权限 - 一个 kubectl 插件,用于显示服务器资源的访问矩阵

简介

你是否曾想过自己在提供的 Kubernetes 集群上拥有哪些访问权限? 对于单个资源,你可以使用 kubectl auth can-i list deployments,但也许你正在寻找一个完整的概览? 这就是 rakkess 的用途。 它会列出当前用户对所有服务器资源的访问权限,类似于 kubectl auth can-i --list。

它还可用于查找哪些主体可以访问某个服务器资源。 请查看子命令 rakkess resource,详见 下文。

演示

rakkess 演示

示例

显示所有资源的访问权限

  • ...在集群范围

    root@kitploit:~
    rakkess
    
  • ...在某个命名空间中

    root@kitploit:~
    rakkess --namespace default
    
  • ...附带动词

    root@kitploit:~
    rakkess --verbs get,delete,watch,patch
    
  • ...针对其他用户

    root@kitploit:~
    rakkess --as other-user
    
  • ...针对其他服务账号

    root@kitploit:~
    rakkess --sa kube-system:namespace-controller
    
  • ...并与常见的 kubectl 参数结合使用

    root@kitploit:~
    KUBECONFIG=otherconfig rakkess --context other-context
    

显示对给定资源有访问权限的主体1

rakkess 演示

  • ...全局跨所有命名空间(仅考虑 ClusterRoleBindings)

    root@kitploit:~
    rakkess resource configmaps
    
  • ...在给定命名空间中(考虑 RoleBindings 和 ClusterRoleBindings)

    root@kitploit:~
    rakkess resource configmaps -n default
    
  • ...使用简写符号

    root@kitploit:~
    rakkess r cm   # 等同于 rakkess resource configmaps
    
  • ..附带自定义动词

    root@kitploit:~
    rakkess r cm --verbs get,delete,watch,patch
    
名称受限的角色

某些角色仅适用于具有特定名称的资源。 要查看此类配置,请将资源名称作为附加参数提供。 例如,显示名为 ingress-controller-leader-nginx 的 ConfigMap 在命名空间 ingress-nginx 中的访问权限(注意与上一个示例中 nginx-ingress-serviceaccount 的细微差别):

rakkess 演示

由于 rakkess resource 需要查询 Roles、ClusterRoles 及其绑定,通常需要集群管理员权限。

另请参阅 用法。

安装

有几种安装 rakkess 的方法。推荐通过 krew 安装。

通过 krew

Krew 是一个 kubectl 插件管理器。如果你尚未安装 krew,请访问 https://github.com/kubernetes-sigs/krew 获取。 然后安装就非常简单:

root@kitploit:~
kubectl krew install access-matrix

该插件将以 kubectl access-matrix 的形式使用,详见 doc/USAGE。

二进制包

如果使用二进制包安装,也请查看 doc/USAGE。

Linux

root@kitploit:~
curl -LO https://github.com/corneliusweig/rakkess/releases/download/v0.5.0/rakkess-amd64-linux.tar.gz \
  && tar xf rakkess-amd64-linux.tar.gz rakkess-amd64-linux \
  && chmod +x rakkess-amd64-linux \
  && mv -i rakkess-amd64-linux $GOPATH/bin/rakkess

OSX

root@kitploit:~
curl -LO https://github.com/corneliusweig/rakkess/releases/download/v0.5.0/rakkess-amd64-darwin.tar.gz \
  && tar xf rakkess-amd64-darwin.tar.gz rakkess-amd64-darwin \
  && chmod +x rakkess-amd64-darwin \
  && mv -i rakkess-amd64-darwin $GOPATH/bin/rakkess

Windows

https://github.com/corneliusweig/rakkess/releases/download/v0.5.0/rakkess-windows-amd64.zip

从源码编译

在宿主机上编译

要求:

  • go 1.16 或更新版本
  • GNU make
  • git

编译:

root@kitploit:~
export PLATFORMS=$(go env GOOS)
make all   # 二进制文件将放置在 out/ 目录下

在 Docker 中编译

要求:

  • docker

编译:

root@kitploit:~
mkdir rakkess && cd rakkess
curl -Lo Dockerfile https://raw.githubusercontent.com/corneliusweig/rakkess/master/Dockerfile
docker build . -t rakkess-builder
docker run --rm -v $PWD:/go/bin/ --env PLATFORMS=$(go env GOOS) rakkess
docker rmi rakkess-builder

二进制文件将放置在当前目录中。

用户评价


[1]: 该模式灵感来源于 kubectl-who-can

下载工具
其他人对 rakkess 的评价
“嗯,看起来很方便!rakkess,一个用于显示所有可用资源访问矩阵的 kubectl 插件。” – @mhausenblas
“确实很有帮助。rakkess --as system:serviceaccount:my-ns:my-sa -n my-ns 可以打印某个命名空间中服务账号的访问矩阵。” – @fakod
“太棒了。爱了爱了。” – @ralph_squillace
“这让我很开心。嗯,其实不是今天,但以后肯定经常用。” – @Soukron