freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Permission-Manager:一款针对Kubernete的RBAC与用户管理工具
2020-07-27 16:37:06

Permission-Manager

Permission-Manager是一款针对Kubernete的管理工具,Permission-Manager支持帮助管理员对Kubernete RBAC(基于角色的访问控制)和用户权限进行管理,并且提供了非常友好的Web用户接口。

Permission-Manager是一款由SIGHUP开发的应用程序,可以给用户提供功能强大的Kubernete RBAC管理功能。如果你在寻求一种简单且有效的Kubernetes集群用户管理方式的话,Permission-Manager将是你绝佳的选择。

在Permission-Manager的帮助下,我们可以轻松创建用户,分配命名空间和权限,并通过友好的Web用户接口来发布Kubeconfig YAML文件。

工具运行机制

Permission-Manager允许我们定义和选择权限标准模板(即定义谁可以在命名空间内或全局范围内做什么事情),并将它们与您可能要创建的所有用户进行关联。

模板系统是针对Cluster-Roles、RoleBinding和ClusterRolesBindigs的抽象实现。

模板介绍

一个模板就是一个带有下列前缀的ClusterRole:

template-namespaced-resources___

比如说:template-namespaced-resources___developer

新增模板

用户可以通过“template-namespaced-resources___”创建并部署一个ClusterRole。

默认模板

“developer”和“operation”默认模板可以通过部署“k8s/k8s-seeds/seed.yml”中的manifest来创建:

kubectl apply -f k8s/k8s-seeds

用户定义

一个用户,即是一种permissionmanagerusers.permissionmanager.user自定义资源。

工具安装&使用

接下来,我们一起看看如何在一个正在运行的Kubernetes集群上安装和部署Permission-Manager。

工具要求

1、创建命名空间:

kubectl create namespace permission-manager

2、使用下列内容创建或更新敏感凭证:

---

apiVersion: v1

kind: Secret

metadata:

  name: permission-manager

  namespace: permission-manager

type: Opaque

stringData:

  PORT: "4000" # port where server is exposed

  CLUSTER_NAME: "my-cluster" # name of the cluster to use in the generated kubeconfig file

  CONTROL_PLANE_ADDRESS: "https://172.17.0.3:6443" # full address of the control plane to use in the generated kubeconfig file

  BASIC_AUTH_PASSWORD: "changeMe" # password used by basic auth (username is `admin`)

工具部署

接下来,运行下列命令实现工具部署:

kubectl apply -f https://github.com/sighupio/permission-manager/releases/download/v1.6.0/crd.yml

kubectl apply -f https://github.com/sighupio/permission-manager/releases/download/v1.6.0/seed.yml

kubectl apply -f https://github.com/sighupio/permission-manager/releases/download/v1.6.0/deploy.yml

基础认证

工具的登录用户名为“admin”,密码为用户加载在敏感凭证中的“BASIC_AUTH_PASSWORD”数据。

访问应用

kubectl port-forward svc/permission-manager 4000 --namespace permission-manager

运行上述命令之后,我们就可以在浏览器中访问“http://localhost:4000”来使用Permission-Manager了。

工具运行截图

工具首页:

创建用户:

用户概览:

用户Kubeconfig:

工具使用演示样例

 【点我查看示例1

 【点我查看示例2

项目地址

Permission-Manager:【GitHub传送门

# 用户账户控制 # Kubernetes
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者