Authing 文档文档
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
应用集成
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
应用集成
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
旧版
使用指南
  • 快速开始

  • 对用户进行认证

  • 对用户进行权限管理

    • 选择合适的权限模型
    • 集成 RBAC 权限模型到你的应用系统
    • 集成 ABAC 权限模型到你的应用系统
    • 使用权限分组管理权限资源
    • 管理资源权限
  • 授权

  • 管理用户账号

  • 管理用户目录

  • 同步中心

  • 应用

  • 成为联邦认证身份源

  • 连接外部身份源(IdP)

  • 微信生态全场景能力

  • 迁移用户到 Authing

  • 管理组织机构

  • 安全设置

  • 品牌化

  • 自动化

  • 审计日志

  • 设置

  • Authing 令牌
  • 私有化部署方案

  • 常见问题 FAQ

  1. 使用指南
  2. /
  3. 对用户进行权限管理
  4. /
  5. 集成 ABAC 权限模型到你的应用系统

¶ 集成 ABAC 权限模型到你的应用系统

更新时间: 2022-04-20 11:18:51
编辑

前面我们介绍了什么是基于属性的访问控制(ABAC),接下来这篇文章介绍如何基于 Authing 快速将 ABAC 权限模型集成到你的系统中。在上一讲中我们介绍了如何将 RBAC 权限模型的集成方法,相信你也意识到了,RBAC 权限模型是静态的,也就是没有环境、对象属性等动态属性参与,所以很难实现类似于以下场景的访问控制:

  • 当一个文档的所属部门跟用户的部门相同时,用户可以访问这个文档;
  • 当用户是一个文档的拥有者并且文档的状态是草稿,用户可以编辑这个文档;
  • 早上九点前禁止 A 部门的人访问 B 系统;
  • 在除了上海以外的地方禁止以管理员身份访问 A 系统;

¶ ABAC 的主要组成部分

在 ABAC 中,一个操作是否被允许是基于对象、资源、操作和环境信息共同动态计算决定的。

  • 对象:对象是当前请求访问资源的用户。用户的属性包括ID,个人资源,角色,部门和组织成员身份等;
  • 资源:资源是当前访问用户要访问的资产或对象(例如文件,数据,服务器,甚至API)。资源属性包含文件的创建日期,文件所有者,文件名和类型以及数据敏感性等等;
  • 操作:操作是用户试图对资源进行的操作。常见的操作包括“读取”,“写入”,“编辑”,“复制”和“删除”;
  • 环境:环境是每个访问请求的上下文。环境属性包含访问尝试的时间和位置,对象的设备,通信协议和加密强度等。

¶ ABAC 如何使用属性动态计算出决策结果

在 ABAC 的决策语句的执行过程中,决策引擎会根据定义好的决策语句,结合对象、资源、操作、环境等因素动态计算出决策结果。、

每当发生访问请求时,ABAC 决策系统都会分析属性值是否与已建立的策略匹配。如果有匹配的策略,访问请求就会被通过。

例如,策略「当一个文档的所属部门跟用户的部门相同时,用户可以访问这个文档」会被以下属性匹配:

  • 对象(用户)的部门 = 资源的所属部门;
  • 资源 = “文档”;
  • 操作 = “访问”;

策略「早上九点前禁止 A 部门的人访问B系统;」会被以下属性匹配:

  • 对象的部门 = A 部门;
  • 资源 = “B 系统”;
  • 操作 = “访问”;
  • 环境 = “时间是早上 9 点”。

¶ 在 Authing 中授权资源的时候指定限制条件

我们在授权资源的时候,可以指定限制条件。例如在下面的例子中,我们添加了一个限制条件:要求当前请求的用户经过了 MFA 认证。

除了 MFA 认证这个属性外,你还可以在 Authing 的策略引擎上下文中获取以下属性:

  • 用户对象属性,如性别、组织机构、分组、角色、邮箱是否验证、手机号是否验证、自定义数据、是否经过了 MFA 认证、用户上次 MFA 认证时间等;
  • 环境属性:客户端 IP、客户端 UA、客户端浏览器、请求来源国家、请求来源省份、请求来源城市等;
  • 资源属性:资源创建时间、资源拥有者、资源标签等;

你可以根据这些属性组成灵活的策略授权语句。

上一篇: 集成 RBAC 权限模型到你的应用系统 下一篇: 使用权限分组管理权限资源
  • ABAC 的主要组成部分
  • ABAC 如何使用属性动态计算出决策结果
  • 在 Authing 中授权资源的时候指定限制条件

用户身份管理

集成第三方登录
手机号闪验 (opens new window)
通用登录表单组件
自定义认证流程

企业内部管理

单点登录
多因素认证
权限管理

开发者

开发文档
框架集成
博客 (opens new window)
GitHub (opens new window)
社区用户中心 (opens new window)

公司

400 888 2106
sales@authing.cn
北京市朝阳区北辰世纪中心 B 座 16 层(总)
成都市高新区天府五街 200 号 1 号楼 B 区 4 楼 406 室(分)

京ICP备19051205号

beian京公网安备 11010802035968号

© 北京蒸汽记忆科技有限公司