首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Permission-Manager:一款针对Kubernete的用户管理工具

Permission-Manager:一款针对Kubernete的用户管理工具

作者头像
FB客服
发布2023-04-26 21:13:51
发布2023-04-26 21:13:51
50900
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

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:

代码语言:javascript
代码运行次数:0
运行
复制
template-namespaced-resources___

比如说:template-namespaced-resources___developer

新增模板

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

默认模板

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

代码语言:javascript
代码运行次数:0
运行
复制
kubectl apply -f k8s/k8s-seeds

用户定义

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

工具安装&使用

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

工具要求

1、创建命名空间:

代码语言:javascript
代码运行次数:0
运行
复制
kubectl create namespace permission-manager

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

代码语言:javascript
代码运行次数:0
运行
复制
---
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`)

工具部署

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

代码语言:javascript
代码运行次数:0
运行
复制
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”数据。

访问应用

代码语言:javascript
代码运行次数:0
运行
复制
kubectl port-forward svc/permission-manager 4000 --namespace permission-manager

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

工具运行截图

工具首页:

创建用户:

用户概览:

用户Kubeconfig:

工具使用演示样例

https://raw.githubusercontent.com/sighupio/permission-manager/master/docs/assets/e2e.gif

项目地址

Permission-Manager:https://github.com/sighupio/permission-manager

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Permission-Manager
  • 工具运行机制
    • 模板介绍
    • 新增模板
    • 默认模板
    • 用户定义
  • 工具安装&使用
    • 工具要求
  • 工具部署
  • 基础认证
  • 访问应用
  • 工具运行截图
    • 工具首页:
    • 创建用户:
    • 用户概览:
    • 用户Kubeconfig:
  • 工具使用演示样例
  • 项目地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档