<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>casbin on 华说记录我的生活</title>
    <link>http://www.huasay.com/tags/casbin/</link>
    <description>Recent content in casbin on 华说记录我的生活</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh</language>
    <lastBuildDate>Thu, 14 Sep 2023 16:58:10 +0800</lastBuildDate>
    <atom:link href="http://www.huasay.com/tags/casbin/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>权限控制 - Casbin</title>
      <link>http://www.huasay.com/2023/09/14/casbin/</link>
      <pubDate>Thu, 14 Sep 2023 16:58:10 +0800</pubDate>
      <guid>http://www.huasay.com/2023/09/14/casbin/</guid>
      <description>最近在研究 iam 相关的内容，iam 即身份访问管理(identify access management) 身份: 用户在整个系统体系中扮演什么样的角色 访问管理：对身份的权限控制。 那既然谈到权限控制，不得不谈谈 casbin, casbin 目前是 github 上在权限控制处理方面 star 数是最多的，虽然之前没接触过 casbin,但也调研了一段时间，从易用性，扩展性，实现上来谈谈 casbin。
核心概念 权限模型目前主流的主要包括acl, rbac, abac。 简单先从这几个模型说起。而了解这几个模型之前，我们先约定一下一些术语。
subject 主体，在一般的权限体系中，主体一般是指操作者，比如某个用户，某个角色(其实角色最下面也是个用户)，当然更广义的讲，可能主体也可以代表其他需要约束的对象，比如在物联网中，他也可以代表一个iot设备。 resouce 资源，一切可操作的实体都可以当做是一种资源，比如aliyun上的我们购买的ecs实例，后台系统的一个user action 操作，主体对资源的操作，比如我们可以对ecs实例进行开机，关机，重启等操作，可以新增，删除，编辑一个user。 condition 操作的条件，一般基于主体与资源的约事条件，比如 user 的ip必须在172.168.0.1/24的段内 effect 影响效力，一般只有allow(允许)/deny(不允许) 有了这些术语，我们去解释对应的权限模型，可能更知道不同模型的区别 ACL acl(访问控制列表)，他代表的是，哪些用户（subject）或系统进程可以访问(action)资源(resource) 如果某个文件 apple.jpg（resource） 的 ACL 包含（Alice(subject): read(action),write(action)；Bob(subject): read(action)），这将赋予 Alice 读写文件的权限，而只赋予 Bob 读取文件的权限。
RBAC ABAC casbin 中的概念 理解casbin，最主要理解其核心思路，casbin中的核心思路是使用policy(策略)中的规则去应用到model(模型)中，model 是一个规则引擎，帮我们处理一个主体(subject)是否有操作(action)某个资源(subject)的权限。
policy策略：一组规则的集合, 规则 model模型：对每行规则进行解析
因此，对于我们使用者来说，大多时候仅仅只需要关注policy和model就行。
model 初览 在model层面，casbin又基于 PERM (Policy, Effect, Request, Matcher). 一个完整的model(perm)文件格式如下：</description>
    </item>
  </channel>
</rss>
