信息安全架构技术关注点-访问控制

2023-10-08 17:10

本文主要是介绍信息安全架构技术关注点-访问控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图 安全架构关注点

《系统信息安全等级保护基本要求》中规定的二级要求:

  1. 访问控制
  1. 系统由授权用户配置其他用户的访问控制策略,新增用户能够控制其权限,且新用户登录后权限符合其应有的权限。
  2. 系统如果有默认账户,该用户不能进行权限变更、用户增删等操作过期的、多余的账户需要删除(自动)。
  3. 为用户设置能满足其业务操作的最小权限。
  4. 不同帐户的权限分离(如管理员不能审计、审计员不能管理、安全员不能审计和管理等、审计员不能修改自己的行为日志等)。
  5. 系统管理员、安全管理员、安全审计员由不同的人员和用户担当,至少应该有系统管理员和安全管理员,安全审计员在有第三方审计工具时可以不要求。

 

访问控制,都是某个主体对某个客体需要实施某种操作,而系统对这种操作的限制就是权限控制。

在一个安全系统中,确定主体的身份是“认证”解决的问题;而客体是一种资源,是主体发起的请求的对象。在主体对客体进行操作的过程中,系统控制主体不能“无限制”地对客体进行操作。

在Web应用中,根据访问客体的不同,常见的访问控制可以分为“基于URL的访问控制”、“基于方法的访问控制”和“基于数据的访问控制”。

  1. 垂直权限管理

系统采用基于权限的访问控制(Role-Based Access Control)简称RBAC。

图 RBAC权限模型

 

图 RBAC流程图

RBAC在系统中定义出不同的角色,不同的角色拥有不同的权限,一个角色实际上就是一个全权限的集合。系统所有的用户都会被分配到不同的角色中,一个用户可能拥有多个角色,角色之间有高低之分(权限高低)。在系统验证权限是,只需要验证用户所属的角色,就可以根据该角色所拥有的权限进行授权。

不同角色的权限有高低之分,高权限角色访问低权限角色的资源科被允许,而低权限用户访问高权限角色的资源则被禁止,如果一个低权限角色的用户通过一些方法能够获得高权限角色的能力,则发生了“越权访问”。

在配置权限时,应当使用“最小权限原则”,并使用“默认拒绝”的策略,只对有需要的主题单独配置“允许”的策略。

  1. 水平权限管理

在RBAC的“基于角色的访问控制”模型下,系统不会判断用户是否访问了其他同等级别的用户的私有数据,这就会发生“水平越权管理问题”。

相对于垂直权限管理来说,水平越权问题出在同一个角色上,系统只验证了能访问数据的角色,没有对角色内的用户做细分,也没有对数据的子集做细分,因此缺乏一个用户到数据之间的对应关系。水平权限管理又称为“基于数据的访问控制”。

可采用用户组的概念,一个用户组的数据只属于该组内的成员,只有同一用户的成员才能实现对这些数据的操作。

还可以实现一个规则引擎,将访问控制的规则写在配置文件中,通过规则引擎对数据的访问进行控制。

图 水平权限控制

欢迎关注技术公众号:架构师成长营

 

这篇关于信息安全架构技术关注点-访问控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/166786

相关文章

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构