Casbin

Casbin

  • 文档
  • API
  • 编辑器
  • IDE 插件
  • Single Sign-On (SSO)
  • 论坛
  • 帮助
  • 博客
  • Pricing
  • Contact Sales
  • Languages icon中文
    • English
    • 한국어
    • Русский
    • Français
    • Deutsch
    • 日本語
    • 参与翻译
  • GitHub

›高级用法

基础知识

  • 概述
  • 开始使用
  • 工作原理
  • 教程

Model

  • 支持的Models
  • Model语法
  • 效果器
  • 函数
  • 基于角色的访问控制
  • RBAC with Pattern
  • 域内RBAC
  • Casbin RBAC v.s. RBAC96
  • ABAC
  • 优先级模型
  • 超级管理员

存储

  • Model存储
  • Policy存储
  • 政策子集加载

扩充功能

  • Enforcers
  • 适配器
  • 观察者
  • 调度器
  • 角色管理器
  • 中间件
  • Graphql 中间件
  • 云端原生中间值

API

  • API 概述
  • 管理 API
  • RBAC API
  • 域内基于角色的访问控制 API
  • RoleManager API
  • 数据权限

高级用法

  • 多线程
  • 基准测试
  • 性能优化
  • Kubernetes的授权
  • 通过特使核准服务网格。

管理

  • 管理员门户
  • Casbin 服务
  • 日志 & 错误处理
  • 前端使用

编辑器

  • 在线编辑器
  • IDE 插件

更多

  • 本项目使用者
  • 贡献中
  • 隐私政策
  • 服务条款
Translate

Kubernetes的授权

K8s-authz 是基于Casbin实现的 Kubernetes (k8s) RBAC & ABAC授权中间件 这个中间件使用 K8s 验证访问 webhook 来检查 casbin 定义的策略,了解每个 K8s 资源的请求。 这些自定义接入控制器在由 api 服务器转发并基于逻辑的请求对象上执行某种验证, 向包含允许或拒绝请求信息的 api 服务器发送回复。 这些控制器使用 ValidatingAdmissionWebhook 在 Kubernetes 注册。

K8s API服务器需要知道何时将传入请求发送到我们的接入控制器。 这方面, 我们已经定义了一个验证 webhook,它将代理任何类型的 K8s 资源/子资源的请求,并对其进行策略核查。 只有在casbin enforcer 授权的情况下,才允许用户利用这些资源进行操作。 The enforcer checks the roles of the user defined in the policies. 这种中间件将部署在K8s集群中。

安装要求

在继续之前,请确保以下各项:

  • 正在运行的 k8s 集群。 您可以通过 Docker 桌面上启用它来运行集群,也可以在本地或在您的服务器上设置完整的 K8s 生态系统。 您可以按照这个详细的 指南 来设置本地在 Windows 上的 k8s 集群,如果想要为 Linux 设置,请点击这个 指南。
  • Kubectl CLI 这是在Windows上设置它的 指南 。还有这个 Linux的指南。
  • OpenSSL

使用方法

  • 使用 openssl 并运行下面的脚本,为每个用户生成证书和密钥: -
./gen_cert.sh
  • 通过 Dockerfile 手动运行下面的命令构建Dockerfile,然后根据build在 部署文件上更改构建版本。
 docker build -t casbin/k8s_authz:0.1 .
  • 在 model.conf 和 policy.csv 中定义 casbin 策略。 You can refer the docs to get to know more about the working of these policies.

  • 在部署之前,您可以根据您的用法更改 main.go 的端口,同时也可以更改验证webhook 配置文件 中的端口。

  • 通过运行以下程序来在 k8s 集群上部署验证控制器和 webhook ︰ -

kubectl apply -f deployment.yaml
  • 对于生产服务器,我们需要创建一个 k8s secret 来放置证书以保证安全性。
kubectl create secret generic casbin -n default \
  --from-file=key.pem=certs/casbin-key.pem \
  --from-file=cert.pem=certs/casbin-crt.pem
  • 只要完成了这一部分我们需要更改 证书目录 ,然后在 manifest中用 secret 显示

现在服务器应该运行并准备验证在 k8s 资源上操作的请求。

如果有任何疑问,您可以在我们的 Gitter频道 上询问。

← 性能优化通过特使核准服务网格。 →
  • 安装要求
  • 使用方法
Casbin
Docs
Getting StartedManagement APIRBAC APIMiddlewares
Community
Who's using Casbin?Stack Overflow
Casbin          jCasbin
Node-Casbin   PHP-CasbinPyCasbin          Casbin.NETCasbin-CPP        Casbin-RS
Follow @casbinHQ
Copyright © 2022 Casbin Organization