CN116633636A - 一种企业信息系统中的分级访问控制方法 - Google Patents
一种企业信息系统中的分级访问控制方法 Download PDFInfo
- Publication number
- CN116633636A CN116633636A CN202310616480.3A CN202310616480A CN116633636A CN 116633636 A CN116633636 A CN 116633636A CN 202310616480 A CN202310616480 A CN 202310616480A CN 116633636 A CN116633636 A CN 116633636A
- Authority
- CN
- China
- Prior art keywords
- organization
- user
- hierarchical
- access
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000008520 organization Effects 0.000 claims abstract description 181
- 238000013475 authorization Methods 0.000 claims description 36
- 238000001914 filtration Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000001174 ascending effect Effects 0.000 claims description 4
- 230000014509 gene expression Effects 0.000 claims description 4
- 239000013589 supplement Substances 0.000 claims description 4
- 238000002372 labelling Methods 0.000 claims description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 21
- 238000007726 management method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种企业信息系统中的分级访问控制方法,包括:基于组织属性的访问规则配置确定具体的访问控制逻辑以及设置规则继承;基于角色的用户权限配置确定用户对规则本身的访问控制;用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问。本发明结合了RBAC和ABAC模型的特点,并利用组织架构的自身的层级关系进行基于用户的组织属性的访问规则继承和基于数据的组织属性的访问规则继承,实现了一种新的层级式的访问控制方法。大大减少了系统访问规则配置的工作量。
Description
技术领域
本发明涉及数据安全技术领域,具体涉及一种企业信息系统中的分级访问控制方法。
背景技术
访问控制是企业信息系统的基础功能,也是企业信息系统的安全保障,在系统中的作用不可或缺。传统的系统访问控制使用自主访问控制(DAC)、强制访问控制(MAC)、基于角色的访问控制(RBAC)、基于属性的访问控制(ABAC)等方法实现,其中RBAC和ABAC是在管理信息系统中最常用到的访问控制方法。
在RBAC中,需要由最高管理员来设计、分配角色吗,角色的功能往往存在重叠。随着系统功能越来越多、组织越来越复杂的时候,创建的角色会快速增加,造成角色爆炸,使得系统难以继续开发和维护。基于ABAC模型,使用用户属性、资源属性结合规则来进行的权限管理,能够实现更加细粒度的访问控制,但规则配置本身较复杂。在具有复杂组织架构的信息管理系统中,用户权限通常和组织架构有很强的关联性,传统的RBAC和ABAC难以利用组织架构本身的层级特征,权限配置困难。
发明内容
本发明提供一种企业信息系统中的分级访问控制方法,以解决现有技术中存在的上述问题。
本发明提供一种企业信息系统中的分级访问控制方法,包括:
S100,基于组织属性的访问规则配置确定具体的访问控制逻辑以及设置规则继承;
S200,基于角色的用户权限配置确定用户对规则本身的访问控制;
S300,用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问。
优选的,所述S100包括:
S101,将用户和制定的业务数据表进行绑定;
S102,设置业务数据表的可见字段,对特定的字段进行隐藏处理;
S103,配置分级访问的继承逻辑,基于用户的组织属性、岗位属性以及数据的组织属性进行继承逻辑的设置。
优选的,所述S103包括:
S1031,基于用户的组织属性进行继承,用于实现组织树上其他组织用户基于当前规则进行同级数据的访问,岗位分级数据作为用户组织数据的补充,进行更加细化的分级设置;
S1032,基于数据的组织属性进行继承,可以实现当前用户对组织树上其他组织的数据的访问;
S1033,设置继承规则:自身被授予的组织或岗位、自身被授予的组织或岗位及其直属下级组织或岗位、自身被授予的组织或岗位的直属下级组织或岗位、自身被授予的组织或岗位及其全部子级组织或岗位、自身被授予的组织或岗位的全部子级组织或岗位、自身被授予的组织或岗位及其直属上级组织或岗位、自身被授予的组织或岗位的直属上级组织或岗位、自身被授予的组织或岗位及其全部父级组织或岗位、自身被授予的组织或岗位的全部父级组织或岗位;
S1034,继承规则实行标签化管理,每种类型对应其标签代码。
优选的,所述S200包括:
S201,将用户分配予指定角色,形成用户角色,并授予相应组织;所述用户角色包括:统管理员、分级管理员、普通角色和特殊角色;
S202,角色与访问规则,与用户关联;
S203,在一个角色里如果同一用户拥有一个以上的组织权限,将此用户分配予该角色多次并授予相应不同组织。
优选的,所述S201包括:
S2011,系统管理员是系统级的管理员,不需要关联组织,该类型角色不需要在用户数据权限分级配置里进行用户分配,在系统权限管理模块角色管理分配用户;被授予系统管理员角色的用户在用户数据权限分级配置中进行用户及其组织的配置
S2012,分级管理员、普通角色、特殊角色,需要关联组织,而且系统可能涉及多类型组织,需要且仅限绑定一类组织的数据源表,绑定组织的数据源表需包含属性为:组织数据源表表名、组织标识属性名、组织名称属性名、父级组织标识属性名;
S2013,分级管理员角色是可根据树形组织进行分级授权的角色。分级管理员角色中用户可分配用户至分级管理员角色,但配置的组织只能是自身被授予的组织的直属下级组织;分级管理员角色中用户可分配用户至普通角色,但配置的组织只能是自身被授予的组织;
S2014,特殊角色是根据业务数据自动分配用户及其组织权限的特殊类型的角色,需要绑定分配用户及授予组织的函数名。另特殊角色的用户及其组织权限由系统自动分配,则特殊角色在用户数据权限分级配置里不允许进行分配。
优选的,所述S300包括:
S301,控制当前系统登录用户在特定应用程序的可查看数据范围;
S302,获取当前系统登录用户所在应用程序配置的过滤条件和用户数据权限分级配置的角色及组织;
S303,结合过滤条件表达式的标签和用户被授予的组织形成应用程序对应相关数据表的过滤条件SQL语句并拼装到相应应用程序数据查询SQL中,实现数据查询范围控制。
优选的,还包括:
S400,当第三方应用程序调用开放接口时,企业信息系统要对第三方应用进行身份认证,并按照不同的级别对其访问进行控制;
S500,当需要调用用户的个人资料时,需要获得用户的授权;采用安全授权机制保证用户隐私不被第三方应用获取和滥用。
优选的,所述S400包括:
S401,对第三方应用身份进行验证,确保应用身份的合法性;
S402,通过一个应用令牌来完成针对应用身份的认证;
S403,应用令牌由平台颁发给对应的应用开发人员,并由第三方应用进行保管;企业信息系统负责该令牌的审核、生成、发放和生命周期的管理;
S404,当第三方应用每一次执行API调用请求的时候,在该次请求中携带该令牌,并由企业信息系统完成令牌的验证。
优选的,所述S400还包括:
S405,对API调用请求的参数进行签名验证,以确保API调用请求调用的合法性;
所述S405包括:
S4051,对除了签名和图片以外的所有请求中的参数名进行排序,把参数按字母升序排序;
S4052,参数名和参数值连接后,得到拼装字符串,使用MD5加密;
S4053,将应用密钥拼接到MD5加密后的字符串尾部,再次进行MD5加密,生成标准的32位MD5值,得到sig的值,一并作为访问接口的参数;
S4054,拼装URL,发送HTTP请求;将所有参数值转换为UTF-8,拼装为URL;当使用浏览器访问该地址时,为成功调用一次接口。
优选的,所述S500包括:
S501,第三方应用程序从用户方面请求授权,授权请求直接发送给用户,或者间接地通过授权服务器作为中介使得用户被引导到授权页面;
S502,用户进行身份认证,并同意授权;
S503,第三方应用收到一个访问许可,代表由资源服务器提供的授权;
S504,第三方应用使用自己的私有证书到授权服务器上验证,并出示访问许可,来请求一个访问令牌;
S505,授权服务器验证第三方应用发送的私有证书和访问许可的有效性,如果验证通过则分发一个访问令牌;
S506,第三方应用通过出示访问令牌,向资源服务器请求受保护资源;
S507,资源服务器验证访问令牌的有效性,如果验证通过则响应这个资源请求,返回访问资源。
与现有技术相比,本发明具有以下优点:
本发明提供一种企业信息系统中的分级访问控制方法,包括:基于组织属性的访问规则配置确定具体的访问控制逻辑以及设置规则继承;基于角色的用户权限配置确定用户对规则本身的访问控制;用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问。本发明结合了RBAC和ABAC模型的特点,并利用组织架构的自身的层级关系进行基于用户的组织属性的访问规则继承和基于数据的组织属性的访问规则继承,实现了一种新的层级式的访问控制方法。大大减少了系统访问规则配置的工作量。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种企业信息系统中的分级访问控制方法的流程图;
图2为本发明实施例中基于组织属性的访问规则配置确定具体的访问控制逻辑以及设置规则继承的方法流程图;
图3为本发明实施例中基于角色的用户权限配置确定用户对规则本身的访问控制的方法流程图;
图4为本发明实施例中用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问的方法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种企业信息系统中的分级访问控制方法,请参照图1,该方法包括:
S100,基于组织属性的访问规则配置确定具体的访问控制逻辑以及设置规则继承;
S200,基于角色的用户权限配置确定用户对规则本身的访问控制;
S300,用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问。
上述技术方案的工作原理为:本实施例采用的方案是基于组织属性的访问规则配置确定具体的访问控制逻辑以及设置规则继承;基于角色的用户权限配置确定用户对规则本身的访问控制;用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问。
本实施例结合了RBAC、ABAC模型特点和分级访问控制方法。在使用角色进行访问控制的基础上,加入组织属性作为协同的访问控制依据,根据用户的组织属性和资源的组织属性配置具体的访问规则。并依赖组织树的层级关系以及组织内部岗位的级别关系实现分级的权限继承。大大简化权限配置与管理工作。
本发明方法主要由基于组织属性的访问规则配置、基于角色的用户权限配置和用户数据权限控制三部分构成。其中基于组织属性的访问规则配置用来编写具体的访问控制逻辑以及设置规则继承,基于角色的用户权限配置用来实现用户对规则本身的访问控制,用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问。
因此,本发明结合了RBAC和ABAC模型的特点,并利用组织架构的自身的层级关系进行基于用户的组织属性的访问规则继承和基于数据的组织属性的访问规则继承,实现了一种新的层级式的访问控制方法。大大减少了系统访问规则配置的工作量。
在另一实施例中,所述S100包括:
S101,将用户和制定的业务数据表进行绑定;
S102,设置业务数据表的可见字段,对特定的字段进行隐藏处理;
S103,配置分级访问的继承逻辑,基于用户的组织属性、岗位属性以及数据的组织属性进行继承逻辑的设置。
所述S103包括:
S1031,基于用户的组织属性进行继承,用于实现组织树上其他组织用户基于当前规则进行同级数据的访问,岗位分级数据作为用户组织数据的补充,进行更加细化的分级设置;
S1032,基于数据的组织属性进行继承,可以实现当前用户对组织树上其他组织的数据的访问;
S1033,设置继承规则:自身被授予的组织或岗位、自身被授予的组织或岗位及其直属下级组织或岗位、自身被授予的组织或岗位的直属下级组织或岗位、自身被授予的组织或岗位及其全部子级组织或岗位、自身被授予的组织或岗位的全部子级组织或岗位、自身被授予的组织或岗位及其直属上级组织或岗位、自身被授予的组织或岗位的直属上级组织或岗位、自身被授予的组织或岗位及其全部父级组织或岗位、自身被授予的组织或岗位的全部父级组织或岗位;
S1034,继承规则实行标签化管理,每种类型对应其标签代码。
上述技术方案的工作原理为:本实施例采用的方案是将用户和制定的业务数据表进行绑定;设置业务数据表的可见字段,对特定的字段进行隐藏处理;配置分级访问的继承逻辑,基于用户的组织属性、岗位属性以及数据的组织属性进行继承逻辑的设置。
访问规则配置使用参数化的方法,用于定义具有特定属性的用户可以如何访问具有特定属性的数据。属性包括必要的组织属性、岗位属性以及其他业务参数,基于用户的属性和数据的属性完成函数式的访问规则的配置。主要步骤包括:1.绑定用户和制定的业务数据表,2,指定数据表可见字段,对某些字段进行隐藏3进一步配置分级访问的继承逻辑可以基于用户的组织属性、岗位属性以及数据的组织属性进行继承逻辑的设置。基于用户的组织属性进行继承,用于实现组织树上其他组织用户基于当前规则进行同级数据的访问,岗位分级数据作为用户组织数据的补充,进行更加细化的分级设置;基于数据的组织属性进行继承,可以实现当前用户对组织树上其他组织的数据的访问。
继承规则包括:自身被授予的组织(岗位)、自身被授予的组织(岗位)及其直属下级组织(岗位)、自身被授予的组织(岗位)的直属下级组织(岗位)、自身被授予的组织(岗位)及其全部子级组织(岗位)、自身被授予的组织(岗位)的全部子级组织(岗位)、自身被授予的组织(岗位)及其直属上级组织(岗位)、自身被授予的组织(岗位)的直属上级组织(岗位)、自身被授予的组织(岗位)及其全部父级组织(岗位)、自身被授予的组织(岗位)的全部父级组织(岗位)。继承规则实行标签化管理,每种类型对应其标签代码。
在另一实施例中,所述S200包括:
S201,将用户分配予指定角色,形成用户角色,并授予相应组织;所述用户角色包括:统管理员、分级管理员、普通角色和特殊角色;
S202,角色与访问规则,与用户关联;
S203,在一个角色里如果同一用户拥有一个以上的组织权限,将此用户分配予该角色多次并授予相应不同组织。
上述技术方案的工作原理为:本实施例采用的方案是用户角色与组织配置是用于将用户分配予指定角色,并授予相应组织。角色与访问规则,也与用户关联。在一个角色里如果同一用户拥有一个以上的组织权限,可以将此用户分配予该角色多次并授予相应不同组织。根据实际需要,角色类型设计为四类,分别为系统管理员、分级管理员、普通角色、特殊角色。
在另一实施例中,所述S201包括:
S2011,系统管理员是系统级的管理员,不需要关联组织,该类型角色不需要在用户数据权限分级配置里进行用户分配,在系统权限管理模块角色管理分配用户;被授予系统管理员角色的用户在用户数据权限分级配置中进行用户及其组织的配置
S2012,分级管理员、普通角色、特殊角色,需要关联组织,而且系统可能涉及多类型组织,需要且仅限绑定一类组织的数据源表,绑定组织的数据源表需包含属性为:组织数据源表表名、组织标识属性名、组织名称属性名、父级组织标识属性名;
S2013,分级管理员角色是可根据树形组织进行分级授权的角色。分级管理员角色中用户可分配用户至分级管理员角色,但配置的组织只能是自身被授予的组织的直属下级组织;分级管理员角色中用户可分配用户至普通角色,但配置的组织只能是自身被授予的组织;
S2014,特殊角色是根据业务数据自动分配用户及其组织权限的特殊类型的角色,需要绑定分配用户及授予组织的函数名。另特殊角色的用户及其组织权限由系统自动分配,则特殊角色在用户数据权限分级配置里不允许进行分配。
上述技术方案的工作原理为:本实施例采用的方案是设置的相关规则如下:
【1】系统管理员是系统级的管理员,不需要关联组织,该类型角色不需要在用户数据权限分级配置里进行用户分配,在系统权限管理模块角色管理分配用户即可。被授予系统管理员角色的用户可在用户数据权限分级配置中进行用户及其组织的配置。
【2】分级管理员、普通角色、特殊角色,需要关联组织,而且系统可能涉及多类型组织,需要且仅限绑定一类组织的数据源表,绑定组织的数据源表需包含属性为:组织数据源表表名、组织标识属性名、组织名称属性名、父级组织标识属性名。
【3】分级管理员角色是可根据树形组织进行分级授权的角色。分级管理员角色中用户可分配用户至分级管理员角色,但配置的组织只能是自身被授予的组织的直属下级组织;分级管理员角色中用户可分配用户至普通角色,但配置的组织只能是自身被授予的组织。
【4】特殊角色是根据业务数据自动分配用户及其组织权限的特殊类型的角色,需要绑定分配用户及授予组织的函数名。另特殊角色的用户及其组织权限由系统自动分配,则特殊角色在用户数据权限分级配置里不允许进行分配。
在另一实施例中,所述S300包括:
S301,控制当前系统登录用户在特定应用程序的可查看数据范围;
S302,获取当前系统登录用户所在应用程序配置的过滤条件和用户数据权限分级配置的角色及组织;
S303,结合过滤条件表达式的标签和用户被授予的组织形成应用程序对应相关数据表的过滤条件SQL语句并拼装到相应应用程序数据查询SQL中,实现数据查询范围控制。
上述技术方案的工作原理为:本实施例采用的方案是用户数据权限控制是用于控制当前系统登录用户在特定应用程序中可查看数据范围。通过该功能模块,可获取当前系统登录用户所在应用程序配置的过滤条件和用户数据权限分级配置的角色及组织,结合过滤条件表达式的标签和用户被授予的组织形成应用程序对应相关数据表的过滤条件SQL语句并拼装到相应应用程序数据查询SQL中,实现数据查询范围控制。因此使用分级权限管理组件,只需对接用户数据权限控制中的统一服务接口,即可自动实现数据查询范围控制。
在另一实施例中,还包括:
S400,当第三方应用程序调用开放接口时,企业信息系统要对第三方应用进行身份认证,并按照不同的级别对其访问进行控制;
S500,当需要调用用户的个人资料时,需要获得用户的授权;采用安全授权机制保证用户隐私不被第三方应用获取和滥用。
上述技术方案的工作原理为:本实施例采用的方案是开放接口是第三方应用程序与注册用户之间进行数据交互的唯一途径。区别于普通的互联网服务,开放接口是面对应用的,而不是直接面对用户的。由于所有应用的可用性直接依赖于开放接口的可用性,因此,开放接口一旦出现问题,影响的就不仅仅是一个模块,而是开放平台上的所有应用。其次,开放接口作为企业信息系统中数据交互的重要渠道,对于安全性的要求也要比普通的互联网服务高很多。最后,为了方便第三方开发人员的使用,开放接口必须要设计的方便易用。综上所述,企业信息系统中的开放接口在可用性、安全性、易用性上三个方面都提出了极高的要求。
上述技术方案的有益效果为:采用本实施例提供的方案使用REST架构风格,具有跨平台性和高度可重用性,只依赖于基础的HTTP协议,因此,所有的API调用都是通过向企业信息系统的服务器发送HTTP请求来实现的。API的调用过程,是API调用端(即第三方应用)与API服务端(即开放平台提供的API服务器)之间的数据交互过程。
在另一实施例中,所述S400包括:
S401,对第三方应用身份进行验证,确保应用身份的合法性;
S402,通过一个应用令牌来完成针对应用身份的认证;
S403,应用令牌由平台颁发给对应的应用开发人员,并由第三方应用进行保管;企业信息系统负责该令牌的审核、生成、发放和生命周期的管理;
S404,当第三方应用每一次执行API调用请求的时候,在该次请求中携带该令牌,并由企业信息系统完成令牌的验证。
上述技术方案的工作原理为:本实施例采用的方案是身份验证机制是访问控制机制的第一道防线。当第三方应用访问企业信息系统,调用Open API实现自身功能时,平台必须首先对应用身份进行验证,确保应用身份的合法性。在数据企业信息系统的设计中,一般是通过一个应用令牌来完成针对应用身份的认证。这个令牌由企业信息系统颁发给对应的应用开发人员,并由第三方应用进行保管。企业信息系统只负责该令牌的审核、生成、发放和生命周期的管理。当第三方应用每一次执行API调用请求的时候,必须在该次请求中携带该令牌,并由企业信息系统完成令牌的验证。
在另一实施例中,所述S400还包括:
S405,对API调用请求的参数进行签名验证,以确保API调用请求调用的合法性;
所述S405包括:
S4051,对除了签名和图片以外的所有请求中的参数名进行排序,把参数按字母升序排序;
S4052,参数名和参数值连接后,得到拼装字符串,使用MD5加密;
S4053,3)将应用密钥拼接到MD5加密后的字符串尾部,再次进行MD5加密,生成标准的32位MD5值,得到sig的值,一并作为访问接口的参数;
S4054,)拼装URL,发送HTTP请求;将所有参数值转换为UTF-8,拼装为URL;当使用浏览器访问该地址时,为成功调用一次接口。
上述技术方案的工作原理为:本实施例采用的方案是签名算法设计如下:
(1)对除了签名和图片以外的所有请求中的参数名进行排序,把参数按字母按字母升序排序。
例如:Array([b]=Apple,[c]=Orange,[a]=Peach)排序后为Array([a]=Peach,[b]=Apple,[c]=Orange),仅按照参数名排序,与参数值无关。
(2)参数名和参数值连接后,得到拼装字符串,使用MD5加密。
例如:得到拼装字符串“a=Peachb=Applec=Orange”,将该字符串进行加密。
(3)将App Secrect拼接到步骤(2)加密后的字符串尾部,再次进行MD5加密,生成标准的32位MD5值,得到sig的值(不区分大小写),一并作为访问接口的参数;
(4)拼装URL,发送HTTP请求。将所有参数值转换为UTF-8,拼装为URL。当使用浏览器访问该地址时,即成功调用一次接口。
算法示例:
调用API:data.getBusInfo,使用App Key=245734,App Secret=
72d99b094e1c2326e402216c29f501e1(参数值仅为示例,只体现算法逻辑)
(1)输入参数为:
method=data.getBusInfo;
time=1356756475;
format=xml;
app_key=245734;
ver=1.0;
sign_method=md5;
(2)按照参数名排序后:
app_key=245734;
format=xml;
method=data.getBusInfo;
time=1356756475;
ver=1.0;
(3)拼装字符串:
把参数名与参数值进行连接后,得到字符串:
app_key=245734format=xmlmethod=data.getBusInfotime=1356756475ver=1.0,
进行MD5加密后得到值:6b32045bf5c5406e2bc97eaf405bfd25。
(4)在其尾部加上App Secret的值,再次进行MD5加密,生成签名:
bbbdba151cd0a4461d6eb435c484f576。
在另一实施例中,所述S500包括:
S501,第三方应用程序从用户方面请求授权,授权请求直接发送给用户,或者间接地通过授权服务器作为中介使得用户被引导到授权页面;
S502,用户进行身份认证,并同意授权;
S503,第三方应用收到一个访问许可,代表由资源服务器提供的授权;
S504,第三方应用使用自己的私有证书到授权服务器上验证,并出示访问许可,来请求一个访问令牌;
S505,授权服务器验证第三方应用发送的私有证书和访问许可的有效性,如果验证通过则分发一个访问令牌;
S506,第三方应用通过出示访问令牌,向资源服务器请求受保护资源;
S507,资源服务器验证访问令牌的有效性,如果验证通过则响应这个资源请求,返回访问资源。
上述技术方案的工作原理为:本实施例采用的方案是相对于应用的身份认证来说,访问权限的控制是一个更为复杂的过程,必须清晰的给出各种应用之间的用户角色、用户组和权限,对每个应用对与API的访问权限做出详细的规定。
依据应用发来的请求,通过读取其传递的参数并进行身份验证,经由应用等级认证模块,确认应用等级和API等级,随后做出权限决定,判断该应用是否有权限访问该API,主要依据以下原则:
(1)最小化授权原则。在平台上接入的API,应该根据企业的业务划分,应用的开发者等级,以及实际业务需要,授权给尽可能小的应用群体。这种授权可以由平台通过简单的对应完成。
(2)最小泄漏原则。最小泄露原则是指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权利。在本文的设计中,对于第三方应用调用平台接口,传递的fields参数值指明了应用需要获取的信息,平台接收请求后根据应用审核时应用实际业务逻辑情况的记录,赋予应用调用权利。
(3)某应用只能访问同一安全级别的API或低级别的API,没有权限访问安全级别高于它的API接口。
企业信息系统中的数据公开功能主要通过第三方应用接入实现,当越来越多的应用加入企业信息系统时,企业信息系统对应用的管理显得十分重要。本实施例的方案可以保障第三方应用的安全接入,实现应用的安全审核、安全接入和安全监管功能。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种企业信息系统中的分级访问控制方法,其特征在于,包括:
S100,基于组织属性的访问规则配置确定具体的访问控制逻辑以及设置规则继承;
S200,基于角色的用户权限配置确定用户对规则本身的访问控制;
S300,用户数据权限控制模块将规则转换成可执行的代码实现分级的数据权限访问。
2.根据权利要求1所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S100包括:
S101,将用户和制定的业务数据表进行绑定;
S102,设置业务数据表的可见字段,对特定的字段进行隐藏处理;
S103,配置分级访问的继承逻辑,基于用户的组织属性、岗位属性以及数据的组织属性进行继承逻辑的设置。
3.根据权利要求2所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S103包括:
S1031,基于用户的组织属性进行继承,用于实现组织树上其他组织用户基于当前规则进行同级数据的访问,岗位分级数据作为用户组织数据的补充,进行更加细化的分级设置;
S1032,基于数据的组织属性进行继承,可以实现当前用户对组织树上其他组织的数据的访问;
S1033,设置继承规则:自身被授予的组织或岗位、自身被授予的组织或岗位及其直属下级组织或岗位、自身被授予的组织或岗位的直属下级组织或岗位、自身被授予的组织或岗位及其全部子级组织或岗位、自身被授予的组织或岗位的全部子级组织或岗位、自身被授予的组织或岗位及其直属上级组织或岗位、自身被授予的组织或岗位的直属上级组织或岗位、自身被授予的组织或岗位及其全部父级组织或岗位、自身被授予的组织或岗位的全部父级组织或岗位;
S1034,继承规则实行标签化管理,每种类型对应其标签代码。
4.根据权利要求1所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S200包括:
S201,将用户分配予指定角色,形成用户角色,并授予相应组织;所述用户角色包括:统管理员、分级管理员、普通角色和特殊角色;
S202,角色与访问规则,与用户关联;
S203,在一个角色里如果同一用户拥有一个以上的组织权限,将此用户分配予该角色多次并授予相应不同组织。
5.根据权利要求4所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S201包括:
S2011,系统管理员是系统级的管理员,不需要关联组织,该类型角色不需要在用户数据权限分级配置里进行用户分配,在系统权限管理模块角色管理分配用户;被授予系统管理员角色的用户在用户数据权限分级配置中进行用户及其组织的配置
S2012,分级管理员、普通角色、特殊角色,需要关联组织,而且系统可能涉及多类型组织,需要且仅限绑定一类组织的数据源表,绑定组织的数据源表需包含属性为:组织数据源表表名、组织标识属性名、组织名称属性名、父级组织标识属性名;
S2013,分级管理员角色是可根据树形组织进行分级授权的角色。分级管理员角色中用户可分配用户至分级管理员角色,但配置的组织只能是自身被授予的组织的直属下级组织;分级管理员角色中用户可分配用户至普通角色,但配置的组织只能是自身被授予的组织;
S2014,特殊角色是根据业务数据自动分配用户及其组织权限的特殊类型的角色,需要绑定分配用户及授予组织的函数名。另特殊角色的用户及其组织权限由系统自动分配,则特殊角色在用户数据权限分级配置里不允许进行分配。
6.根据权利要求1所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S300包括:
S301,控制当前系统登录用户在特定应用程序的可查看数据范围;
S302,获取当前系统登录用户所在应用程序配置的过滤条件和用户数据权限分级配置的角色及组织;
S303,结合过滤条件表达式的标签和用户被授予的组织形成应用程序对应相关数据表的过滤条件SQL语句并拼装到相应应用程序数据查询SQL中,实现数据查询范围控制。
7.根据权利要求1所述的一种企业信息系统中的分级访问控制方法,其特征在于,还包括:
S400,当第三方应用程序调用开放接口时,企业信息系统要对第三方应用进行身份认证,并按照不同的级别对其访问进行控制;
S500,当需要调用用户的个人资料时,需要获得用户的授权;采用安全授权机制保证用户隐私不被第三方应用获取和滥用。
8.根据权利要求7所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S400包括:
S401,对第三方应用身份进行验证,确保应用身份的合法性;
S402,通过一个应用令牌来完成针对应用身份的认证;
S403,应用令牌由平台颁发给对应的应用开发人员,并由第三方应用进行保管;企业信息系统负责该令牌的审核、生成、发放和生命周期的管理;
S404,当第三方应用每一次执行API调用请求的时候,在该次请求中携带该令牌,并由企业信息系统完成令牌的验证。
9.根据权利要求8所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S400还包括:
S405,对API调用请求的参数进行签名验证,以确保API调用请求调用的合法性;
所述S405包括:
S4051,对除了签名和图片以外的所有请求中的参数名进行排序,把参数按字母升序排序;
S4052,参数名和参数值连接后,得到拼装字符串,使用MD5加密;
S4053,将应用密钥拼接到MD5加密后的字符串尾部,再次进行MD5加密,生成标准的32位MD5值,得到sig的值,一并作为访问接口的参数;
S4054,拼装URL,发送HTTP请求;将所有参数值转换为UTF-8,拼装为URL;当使用浏览器访问该地址时,为成功调用一次接口。
10.根据权利要求7所述的一种企业信息系统中的分级访问控制方法,其特征在于,所述S500包括:
S501,第三方应用程序从用户方面请求授权,授权请求直接发送给用户,或者间接地通过授权服务器作为中介使得用户被引导到授权页面;
S502,用户进行身份认证,并同意授权;
S503,第三方应用收到一个访问许可,代表由资源服务器提供的授权;
S504,第三方应用使用自己的私有证书到授权服务器上验证,并出示访问许可,来请求一个访问令牌;
S505,授权服务器验证第三方应用发送的私有证书和访问许可的有效性,如果验证通过则分发一个访问令牌;
S506,第三方应用通过出示访问令牌,向资源服务器请求受保护资源;
S507,资源服务器验证访问令牌的有效性,如果验证通过则响应这个资源请求,返回访问资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310616480.3A CN116633636A (zh) | 2023-05-29 | 2023-05-29 | 一种企业信息系统中的分级访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310616480.3A CN116633636A (zh) | 2023-05-29 | 2023-05-29 | 一种企业信息系统中的分级访问控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116633636A true CN116633636A (zh) | 2023-08-22 |
Family
ID=87591664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310616480.3A Pending CN116633636A (zh) | 2023-05-29 | 2023-05-29 | 一种企业信息系统中的分级访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116633636A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077120A (zh) * | 2023-10-18 | 2023-11-17 | 深圳竹云科技股份有限公司 | 应用系统权限解析方法、装置、计算机设备、及介质 |
CN117118751A (zh) * | 2023-10-23 | 2023-11-24 | 城云科技(中国)有限公司 | 基于OAuth2的访问控制模型的拓展方法及其应用 |
CN117407849A (zh) * | 2023-12-14 | 2024-01-16 | 四川省电子产品监督检验所 | 一种基于工业互联网技术的工业数据安全保护方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130232539A1 (en) * | 2012-03-01 | 2013-09-05 | Humanconcepts | Method and system for controlling data access to organizational data maintained in hierarchical |
CN106850231A (zh) * | 2017-02-22 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 一种保护接口安全的方法、服务端及系统、一种客户端 |
CN110298192A (zh) * | 2019-06-05 | 2019-10-01 | 中国长江三峡集团有限公司 | 一种适配多类型组织的管理信息系统的分级权限管理组件 |
CN112822675A (zh) * | 2021-01-11 | 2021-05-18 | 北京交通大学 | 面向MEC环境的基于OAuth2.0的单点登录机制 |
-
2023
- 2023-05-29 CN CN202310616480.3A patent/CN116633636A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130232539A1 (en) * | 2012-03-01 | 2013-09-05 | Humanconcepts | Method and system for controlling data access to organizational data maintained in hierarchical |
CN106850231A (zh) * | 2017-02-22 | 2017-06-13 | 济南浪潮高新科技投资发展有限公司 | 一种保护接口安全的方法、服务端及系统、一种客户端 |
CN110298192A (zh) * | 2019-06-05 | 2019-10-01 | 中国长江三峡集团有限公司 | 一种适配多类型组织的管理信息系统的分级权限管理组件 |
CN112822675A (zh) * | 2021-01-11 | 2021-05-18 | 北京交通大学 | 面向MEC环境的基于OAuth2.0的单点登录机制 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077120A (zh) * | 2023-10-18 | 2023-11-17 | 深圳竹云科技股份有限公司 | 应用系统权限解析方法、装置、计算机设备、及介质 |
CN117077120B (zh) * | 2023-10-18 | 2024-02-09 | 深圳竹云科技股份有限公司 | 应用系统权限解析方法、装置、计算机设备、及介质 |
CN117118751A (zh) * | 2023-10-23 | 2023-11-24 | 城云科技(中国)有限公司 | 基于OAuth2的访问控制模型的拓展方法及其应用 |
CN117118751B (zh) * | 2023-10-23 | 2024-01-30 | 城云科技(中国)有限公司 | 基于OAuth2的访问控制模型的拓展方法及其应用 |
CN117407849A (zh) * | 2023-12-14 | 2024-01-16 | 四川省电子产品监督检验所 | 一种基于工业互联网技术的工业数据安全保护方法及系统 |
CN117407849B (zh) * | 2023-12-14 | 2024-02-23 | 四川省电子产品监督检验所 | 一种基于工业互联网技术的工业数据安全保护方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100968303B1 (ko) | Java에 대한 일반적인 선언적 권한부여 방법, 시스템및 컴퓨터 저장 매체 | |
CN116633636A (zh) | 一种企业信息系统中的分级访问控制方法 | |
CA2649862C (en) | Translating role-based access control policy to resource authorization policy | |
US7748027B2 (en) | System and method for dynamic data redaction | |
US7827598B2 (en) | Grouped access control list actions | |
US7546462B2 (en) | Systems and methods for integration adapter security | |
Chadwick et al. | PERMIS: a modular authorization infrastructure | |
US20150193603A1 (en) | Method and system to support dynamic rights and resources sharing | |
US20090205018A1 (en) | Method and system for the specification and enforcement of arbitrary attribute-based access control policies | |
US20060259977A1 (en) | System and method for data redaction client | |
US9473499B2 (en) | Federated role provisioning | |
US7904504B2 (en) | Policy enforcement and access control for distributed networked services | |
US20120131641A1 (en) | Optimizing interactions between co-located processes | |
WO2016026320A1 (zh) | 访问控制方法及装置 | |
Bacon et al. | Enforcing End-to-End Application Security in the Cloud: (Big Ideas Paper) | |
CN111062028A (zh) | 权限管理方法及装置、存储介质、电子设备 | |
Lorch et al. | The PRIMA grid authorization system | |
Emig et al. | An access control metamodel for web service-oriented architecture | |
Guth et al. | Experiences with the enforcement of access rights extracted from ODRL-based digital contracts | |
Lange et al. | The IDS Information Model: A Semantic Vocabulary for Sovereign Data Exchange. | |
CN114995879A (zh) | 一种基于低代码化平台的信息处理方法及系统 | |
Roscheisen | A Network-centric design for relationship-based rights management | |
Mazzocca et al. | Evaluating Tangle Distributed Ledger for Access Control Policy Distribution in Multi-region Cloud Environments | |
Ruo-Fei et al. | A united access control model for systems in collaborative commerce | |
Menzel et al. | SOA Security-Secure Cross-Organizational Service Composition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |