从 RBAC 到 NGAC ,企业如何实现自动化权限管理?
随着各领域加快向数字化、移动化、互联网化的发展,企业信息环境变得庞大复杂,身份和权限管理面临巨大的挑战。为了满足身份管理法规要求并管理风险,企业必须清点、分析和管理用户的访问权限。如今,越来越多的员工采用移动设备进行工作,企业数据与个人应用程序共享同一设备空间,导致关键数据的所有权变得模糊不清。企业需要采取更加综合和创新的安全措施,以确保数据中心内部的资源和信息受到充分的保护。谁具有特定数据的访问权限?您的企业是否实现了对员工权限的有效管理?
01.权限管理四大难题
开通难
人员入转调离后账号和权限无法自动更新状态,容易造成账号泄密,并且企业内部无审计日志,账号操作也无法追溯。当企业的员工规模庞大且员工流动率较高时,传统的手动权限管理往往变得异常繁琐且低效,导致权限漏洞和错误配置。随着企业规模的扩大,系统的功能权限、附加权限、菜单权限等,甚至下沉到业务本身,针对相同员工在不同系统内的角色划分、业务责任也不尽相同。运营人员需要投入更多的时间和精力来管理权限,极大降低了工作效率。
管理难
由于业务架构、技术能力、区域法规等多种客观因素的差异,各子公司基于自身业务架构和管理需求独立建设数字化体系,不同子公司中员工、经销商、供应商、上下游合作伙伴等角色各不相同。随着企业业务的不断扩展和复杂化,涉及资源共建共享和跨部门协同协作等,用户的角色和资源授权关系复杂且常常发生变化,企业管理员对各个系统的使用情况难以把控,容易造成数据安全隐患。传统权限管理方法无法实现细粒度的权限授予,缺乏统一的权限实体,难以贴合业务现况。
审计难
2018 年证监会发布《证券基金经营机构信息技术管理办法》(第 152 号令),第三十二条明确提出关于账号管理“最少功能、最小权限分配原则”和“对信息系统权限的定期检查与核对机制,确保用户权限与其工作职责相匹配,防止出现授权不当的情形”的监管要求。依据监管要求,部分企业定期开展信息系统用户权限检查与核对的审计工作,需要各系统管理员导出用户权限,结合公司人事信息对 IT 系统用户权限进行审计比对和抽检。但内外审计周期长,需要多部门人员参与配合审计工作,且不同信息系统的权限管理模式不统一,未形成统一的管理规范。同时权限变更工作未留痕,发现风险隐患时难以追查责任。传统人工审计缺乏自动化工作抓手,难以及时发现权限风险,且工作效率低下。
自研难
自行开发和维护权限管理系统是一个复杂和耗时的任务。系统无论是技术框架,还是业务逻辑的完备性和可扩展性方面,很难做到产品通用化。随着企业业务领域扩张,自研系统的改造往往动一发而牵全身,迭代速度难以跟上业务创新的需求。特别是当自研系统需要上云或出海时会面临如下的困难:部署方案重新构建、数据合规方案实施和技术框架升级改造。企业需要投入大量人工和财力来维护自研系统,这不仅成本高昂,而且周期长。因此,企业更倾向于采用现成的解决方案,以减轻管理权限的难题。
02.Authing 统一权限管理平台,轻松实现细粒度授权策略
Authing 帮助企业能将多个不同权限架构的应用轻松集成至一个统一的后台,将各应用的功能拆分为细粒度的资源,即可集中控管各应用下的资源,无需付出额外的应用对接成本。目前被大家广泛采用的两种权限模型为:基于角色的访问控制(RBAC)和基于属性的访问控制(ABAC)以及一种新的访问控制模型 —— 下一代访问控制(NGAC),并比较三者之间的异同,以及为什么你应该考虑 NGAC ?
ABAC、 RBAC 和 NGAC,企业该如何选择?
基于角色的访问控制
什么是 RBAC ?
RBAC 指通过用户的角色(Role)授权其相关权限。角色可以被定义为岗位、项目组、部门等,企业只需把角色赋予成员,即可授予成员该角色下的权限。
面向场景
你的企业是中小型企业,外部用户很少,并且组织角色有明确的定义。比起复杂的权限场景,你更需要快速地建立清晰的、扩展性强的权限管理架构。通过 RBAC 权限模型能够帮助您快速建立适合您业务需求的权限结构,无需过度复杂的配置和管理,快速实施权限控制,确保数据和资源的安全,同时也提供了良好的扩展性,以适应未来业务的增长和变化。
基于属性的访问控制
什么是 ABAC ?
ABAC 指的是在授权资源时,通过「属性」进行条件限制,动态判断一个操作是否被允许。属性包括 IP、请求来源国家、访问时间等。
面向场景
你在一个人员流动高、内外部多方协作、重度依赖运营的大型企业中,需要确保隐私安全符合政策监管需求,权限管理需要更加精细和详尽,从某一行数据到某一按钮的权限控制都必须考虑到。大型企业通常面临复杂的组织结构和庞大的员工群体,各种敏感数据和资源需要受到保护,必须确保只有经过授权的人员才能访问特定的信息和执行特定的操作。权限管理必须变得更加精细化,以降低数据泄漏和滥用的风险,应对复杂的业务需求和不断变化的组织结构。
下一代访问控制
什么是 NGAC ?
NGAC,即下一代访问控制。NGAC 可以实现系统化、策略一致的访问控制方法,以高精细度授予或拒绝用户管理能力。NGAC 使用图的概念以简单、集中的方式管理访问。它可以在任何组织规模下线性扩展,并且不会出现性能问题。它最大的好处是灵活性——它可以允许基于对象属性、时间、位置或任何其他标准进行访问。NGAC 的另一个独特功能是它支持实时访问,例如,它可以授予承包商对资源的一次性访问权以进行维护,然后自动撤销访问权。
面向场景
NGAC 是基于这样一个假设:你可以用一个图来表示你要保护的系统,这个图代表了你要保护的资源和你的组织结构,这个图对你有意义,并且符合你的组织语义。在这个对你的组织非常特殊的模型之上,你可以叠加策略。在资源模型和用户模型之间,定义了权限。其本质上就是创建了一个图,以对每个组织都有意义的方式对用户想要保护的资源和组织结构进行建模。基于此自定义的组织模型,管理员可以添加访问策略和权限。这样 NGAC 提供了一种优雅的方式来表示你要保护的资源,系统中的不同角色,以及如何用权限把这两个世界联系在一起。
03. Authing — 国内目前唯一支持 NGAC 权限模型的身份云
在 ABAC 的情况下,需要跟踪所有对象的属性,这造成了可管理性的负担。RBAC 减少了负担,因为提取了所有角色的访问信息,但是这种模式存在角色爆炸的问题,也会变得不可管理。NGAC 通过使用一种新颖、优雅的革命性方法来修复这些差距:在用户提供的现有世界表示之上叠加访问策略。你也可以对 RBAC 和 ABAC 策略进行建模。
NGAC 真正出彩的地方在于灵活性。它可以被配置为允许或不允许访问,不仅基于对象属性,而且基于其他条件 —— 时间、位置等,包括能够一致地设置策略(以满足合规性要求)和设置历时性策略的能力。例如,NGAC 可以在中断期间授予开发人员一次性的资源访问权,而不会留下不必要的权限,以免日后导致安全漏洞。NGAC 可以在一个访问决策中评估和组合多个策略,同时保持其线性时间的复杂度。
结合自动化能力,减少手动操作的低效和风险
使用 Authing 一次配置好入/转/调/离涉及的业务流程,实现自动化、 0 人工参与的身份管理,减少人力成本, 并保障流程配合业务的实时性变化,一人离职,全系统权限及账号秒级收回,降低企业数据泄露风险。当员工入职、离职或组织架构变动时, 能自动触发管理流程并进行权限的申请、审批、开关,能有效减少管理成本,和漏关/错开权限带来的数据泄漏风险。目前身份自动化已预集成了飞书、企业微信、钉钉、北森、金蝶云、阿里云、MySQL 等上百个应用与工具,身份同步模板覆盖 IM 应用、HR 应用、云服务、开发工具等多个主流应用。
一键生成权限视图,统一查看人员多应用权限
Authing 以用户为单位,提供可视化、全局的权限视图,清晰展示每个用户在不同应用下的资源权限和关联策略,为企业提供了全面的可视化信息,帮助企业管理员轻松查看和管理员工的权限情况。 通过筛选生成多个权限视图,企业能够更轻松地进行事后审计,降低了重复低效的工作。企业不再需要手动检查每个用户在每个应用中的权限,而是可以依靠全局的权限视图来实现快速的权限管理和审计,提高工作效率,减少潜在的失误和风险,确保企业在个人信息保护相关法律和法规方面数据合规。
04.最佳实践:某大型金融企业
需求挑战
- 企业内部基于自身业务架构和管理需求独立构建系统,组织结构复杂,且人员变动频繁。企业内部权限难统一管理,手动操作不仅无法即时调整权限,也将带来漏关/错开权限的巨大风险。同时企业业务扩展,这些独立的系统需要进行跨部门或跨业务线的信息共享和集成,很难实现统一和标准化的身份验证和访问控制。
- 金融企业处于严格的法律和监管环境之中,不同地区和国家的法规要求可能有所不同,各种各样的法律和规定都对金融企业的身份管理提出了严格的要求。金融企业必须时刻密切关注法规的变化,并确保其身份管理和数据安全措施符合这些法规的要求。任何数据泄露或违反隐私法规都可能导致巨大的罚款和声誉损害。
- 企业通常与各种外部组织和个体有密切的业务合作关系。除了内部员工,还需要管理大量的外部用户,包括客户、合作伙伴、供应商等。这些用户群体有着各自不同的业务需求和安全风险,给身份管理带来了额外的复杂性。在这种多方合作的环境中,如何有效地管理各方的访问权限和身份信息成了一个巨大的挑战。由于每个合作伙伴都有其自己的系统和数据需求,因此需要一种能够跨系统、跨组织实现安全和合规性的身份管理解决方案。
解决方案
- 将配置好的权限策略结合 Authing 身份自动化能力,一次配置好入/转/调/离涉及的业务流程,实现自动化、 0 人工参与的身份管理,减少人力成本, 并保障流程配合业务的实时性变化,一人离职,全系统权限及账号秒级收回,降低企业数据泄露风险。
- Authing 身份云的解决方案可以追踪用户在系统中的行为,并详细记录其访问和操作日志。这些日志可以用于合规审计,确保企业在个人信息保护相关法律和法规方面遵守规定。一旦出现安全事件,能够追踪到具体的操作人员和操作时间是解决问题的关键。同时,Authing 身份云还提供了报告和分析功能,内部身份治理体系会记录所有的访问和操作信息,不仅有助于事后调查,也有助于企业进行风险评估和合规审计。
- 基于事件驱动的身份管理平台帮助企业可以随时调整自己的身份治理策略,允许企业根据实际情况灵活地定义和修改事件响应规则,以适应不断变化的外部环境和内部需求。无论是新的业务合作、法律法规或是技术挑战,事件驱动的身份基础设施都能为企业提供足够的灵活性,确保其身份治理策略始终与时俱进。
相关文章:

从 RBAC 到 NGAC ,企业如何实现自动化权限管理?
随着各领域加快向数字化、移动化、互联网化的发展,企业信息环境变得庞大复杂,身份和权限管理面临巨大的挑战。为了满足身份管理法规要求并管理风险,企业必须清点、分析和管理用户的访问权限。如今,越来越多的员工采用移动设备进行…...
vue3中如何使用TypeScript?
在Vue 3中引入和使用TypeScript非常简单。下面是在Vue 3中引入和使用TypeScript的步骤: 创建Vue 3项目:首先,使用Vue CLI创建一个新的Vue 3项目。可以使用以下命令: vue create my-project在创建项目时,选择TypeScri…...
Git基础操作:合并某个分支的一个目录到另一个分支
有的时候不小心在错误的分支A上开发了一点代码,也已经提交了;或者分支A原计划先上线的,但是业务调整需要插一个需求进来,但是插进来的需求中有一部分代码在分支A中已经写过了。 这个时候如果想把这部分代码移到正确的分支B上可以…...

学习grdecl文件格式
一、初步了解 最近在学习grdecl文件格式,文档不多。查找资料发现,这个格式的文件是由斯伦贝谢公司的ECLIPSE专业软件生成的。 搜到一些文档,都是2010年之前的,似乎有些用处。文档也交代了这个文件格式分为二进制和文本格式…...

Excel使用VLOOKUP查询数据
VLOOKUP函数在百度百科中的解释是: 解释一下,函数需要4个参数: 参数1(lookup_value):需要匹配的值参数2(table_array):在哪个区域里进行匹配参数3(col_index…...

SpectralGPT: Spectral Foundation Model 论文翻译2
遥感领域的通用大模型 2023.11.13在CVPR发表 原文地址:[2311.07113] SpectralGPT: Spectral Foundation Model (arxiv.org) 实验 在本节中,我们将严格评估我们的SpectralGPT模型的性能,并对其进行基准测试SOTA基础模型:ResN…...
Java编译过程中的JVM
流程 源代码编写: 首先,开发者使用Java编程语言编写源代码。这些源代码通常保存在扩展名为.java的文件中。 编译源代码: 使用Java编译器(例如javac),这些.java文件被编译成Java字节码。字节码是一种中间形…...

Python BDD 框架比较之 pytest-bdd vs behave
pytest-bdd和behave是 Python 的两个流行的 BDD 测试框架,两者都可以用来编写用户故事和可执行的测试用例, 具体选择哪一个则需要根据实际的项目状况来看。 先简单看一下两者的功能: pytest-bdd 基于pytest测试框架,可以与pytest…...
【面经八股】搜广推方向:常见面试题(一)
【面经&八股】搜广推方向:常见面试题(一) 文章目录 【面经&八股】搜广推方向:常见面试题(一)1. 线下效果提升、线上效果不好。2. XGBoost 和 GBDT是什么?有什么区别?3. 偏差与方差。延伸知识(集成学习的三种方式: Bagging、Boosting、Stacking)。4. 随机森林…...

斐讯K2结合Padavan实现锐捷认证破解方法
前言 众所周知,校园网在传统模式下是不能直接插路由使用的,但苦于校园网只能连接一台设备的烦恼,不得不“另辟蹊径”来寻求新的解决路径,这不,它来了,它来了,它带着希望走来了。 本文基于斐讯…...

SpringBoot : ch06 整合 web (一)
前言 SpringBoot作为一款优秀的框架,不仅提供了快速开发的能力,同时也提供了丰富的文档和示例,让开发者更加容易上手。在本博客中,我们将介绍如何使用SpringBoot来整合Web应用程序的相关技术,并通过实例代码来演示如何…...

C++:OJ练习(每日练习系列)
编程题: 题一:把字符串转换成整数 把字符串转换成整数_牛客题霸_牛客网 示例1 输入: "2147483647" 返回值: 2147483647思路一: 第一步:it从str的第一个字符开始遍历,定义一个最后输…...

C语言—什么是数组名
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int arr[]{1,2,3,4};printf("%p\n",arr);printf("%p\n",&arr);printf("%p\n",*arr);return 0; } 结论:数组名是数组首元素地址(下标为0的元素…...

如何与死锁斗争!!!
其他系列文章导航 Java基础合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、死锁场景现场 二、死锁是如何产生的 三、死锁排查思路 四、sql模拟死锁复现 五、死锁的解决方案 前言 为避免影响业务,应尽可能避…...

【Java并发】聊聊不安全的HashMap以及ConcurrentHashMap
在实际的开发中,hashmap是比较常用的数据结构,如果所开发的系统并发量不高,那么没有问题,但是一旦系统的并发量增加一倍,那么就可能出现不可控的系统问题,所以在平时的开发中,我们除了需要考虑正…...

数据结构--->单链表
文章目录 链表链表的分类 单链表单链表的存储结构单链表主要实现的接口函数单链表尾插动态申请新节点单链表头插单链表的尾删单链表的头删在指定位置之前插入单链表查找插入 在指定位置之后插删除指定位置元素删除指定位置之后的元素顺序输出链表销毁单链表 顺序表和单链表的区…...

RT-Thread 线程间同步【信号量、互斥量、事件集】
线程间同步 一、信号量1. 创建信号量2. 获取信号量3. 释放信号量4. 删除信号量5. 代码示例 二、互斥量1. 创建互斥量2. 获取互斥量3. 释放互斥量4. 删除互斥量5. 代码示例 三、事件集1. 创建事件集2. 发送事件3. 接收事件4. 删除事件集5. 代码示例 简单来说,同步就是…...

B 树和 B+树 的区别
文章目录 B 树和 B树 的区别 B 树和 B树 的区别 了解二叉树、AVL 树、B 树的概念 B 树和 B树的应用场景 B 树是一种多路平衡查找树,为了更形象的理解。 二叉树,每个节点支持两个分支的树结构,相比于单向链表,多了一个分支。 …...

Go iota简介
当声明枚举类型或定义一组相关常量时,Go语言中的iota关键字可以帮助我们简化代码并自动生成递增的值。本文档将详细介绍iota的用法和行为。 iota关键字 iota是Go语言中的一个预定义标识符,它用于创建自增的无类型整数常量。iota的行为类似于一个计数器…...

PyQt6库和工具库QTDesigner安装与配置
锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计12条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...