授权机制|学习笔记

简介: 快速学习授权机制

开发者学堂课程【云安全基础课 - 访问控制概述 授权机制】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/495/detail/6645


授权机制


内容介绍:

一、授权的介绍

二、访问控制模型

三、自主访问控制

四、非自主访问控制

五、自主访问控制与非自主(强制)访问控制的区别


一、授权的介绍

授权的概念

授权︰规定主体可以对客体执行的操作∶读、写、执行、拒绝访问等等。

访问控制有两个重要的过程,第一步是鉴别,检验主体的合法身份,第二个就是授权,限制用户对资源的访问权限,这是两个非常重要过程。

授权就是规定主体可以对客体执行哪些操作,我们常见的像读写、执行、拒绝访问等都属于操作。

 

二、访问控制模型

1、访问的概念

访问控制模型使用许多不同类型的授权机制或方法来控制谁可以访问特定的对象。访问控制模型就是对一系列访问控制规则进行集合的描述,可以是非形式化的,也可以是形式化的。

2、访问的类型

l 自主访问控制

l 非自主访问控制

image.png

图示访问控制模型包括主体、客体,然后具有访问控制的实施过程以及访问控制的决策过程。一般情况下主体提交一个请求来访问客体的请求,此时访问控制的措施来请求决策,决策通过识别完成判断。

如果通过了,提出的请求就会转到客体,此时主体就成功地访问了客体。访问控制模型使用许多不同的授权机制或者方法来控制谁可以访问哪些客体、对象。


三、自主访问控制

访问控制模型有很多,我们主要讲的是自主访问控制和非自主房控制。非自主访问控制相当于除自主访问控制之外的,我们就把他们全部归为非自住访问控制。

1、自主访问控制的概念

l 允许客体的属主决定主体对该客体的访问权限。

就是主体自身或者主体所属的这个群体来限制客体访问的一种方法,然后主体或者客体的拥有者可以将自己的控制权限转给其他的主体,即可以进行权限的转移。

l 自主访问控制:“根据主体身份和/或主体所属群体来限制他们对客体的访问的一种方法。这些控制具有任意之意,是因为拥有某一访问权的主体可以把该访问权转移(或许是间接转移)给任何其他主体。”

2、举例说明

l 举例1:通常大多数计算机操作系统的默认访问控制机制就是自主访问控制

Windows 操作系统由管理员账户创建的文件,可以对文件进行设置,谁可以访问谁不可以访问。

如果换一个账户重新登录操作系统,访问文件的时候,如果是管理员账户创建该文件时允许 everyone 访问,换了账号登录依旧可以访问。文件被访问的客体可以因为他的主体把权限转移给其他的主体,让很多人都能访问这个客体。

image.png

图示表格就是用户和目标,也就是主体和客体,而不同的主体和不同的客体,他们之间的权限是不一样的。用户 a 和目标 X,他有读写,并且是拥有者,用户 c 对目标 Y,就只有读和写,他不是拥有者,这是一个很常见的例子,也是一个很好理解的例子。

l 举例2:

我们经常在 IT 中接触到路由器、交换机,他们也有访问控制列表(Access Control List)的概念,叫做 ACL,是路由器或者交换机接口的一个指令列表,用来控制端口对数据包的转发、进出,这就是交换机、路由器的访问控制表。

ACL 通过过滤数据包并且丢弃不希望抵达目的地的数据包来控制通信流量。

在 ACL 的最后,有一条隐含的“全部拒绝”的命令(即︰隐式拒绝),所以在 ACL 里一定至少有一条“允许”的语句

3、自主访问控制的实现方法

l 访问控制列表(Access Control Lists )

l 访问能力表(Capacity List )

自主访问控制在实现的过程中会涉及到两个概念,一个就是访问控制列表(Access Control Lists ),一个就是访问能力表(Capacity List )

两者都是基于自主访问控制的实现机制,也就是访问控制矩阵。

image.png

主体 abcd 是一个竖列,客体 xyz 是横列,如果按竖列去看,就是访问控制表,客体y能被主体 b、d 访问;如果按横列看,就是访问能力表,主体b的横列,能够访问客体 x、y,即对主体来说是一个访问能力表,对客体来说是一个访问控制表。

4、自主访问控制的优缺点

l 优点

主体的身份和访问权限能够进行决策,具有某种访问能力的主体,能够对主体能访问某个子集的权限授予给其他的主体,灵活性高,能够被大量的采用,十分方便。

l 缺点

信息在传递的过程中,其访问权限发生了改变,这相对来说是不安全的,因为主体可以把他拥有的客体重新分配给其他的主体,所以权限关系的变化就带来了安全问题。


四、非自主访问控制

1、非自主访问控制模型的概念

非自主访问控制就是任何不能自由支配的模型都是非自主访问控制模型。

2、非自主访问控制模型的分类

这里比较典型的三种非自主访问控制模型,分别是 MAC——强制访问控、Role-BAC——基于角色的访问控制、基于内容的访问控制。

l 强制访问控制——Mac

>MAC 是“根据客体所含信息的敏感性(通过标签标识)以及对主体访问此类敏感信息的正式授权(即许可),来限制主体访问客体的一种方法。”主体对客体的所有访问请求都是按照强制访问控制策略进行控制的。客体的属主没有权限去控制客体的访问权限,这是防止对信息的非法和越权访问。

>举例:一个人如果请求访问某一涉密文件,这个人必须符合拥有者的访问控制策略,允许以及适当许可之后,才能被授予访问权。也就是说如果是强制访问控制,这个人一定是在访问控制策略符合的前提下,经过授权后才能被授予访问权限,而这个访问控制策略是事先预定好的,即使是这个设计文件的拥有者,它也无法改变该策略。

>典型的强制访问控制模型

BLP模型是多级安全模型,该模型于1973年提出,这个模型影响了许多模型的发展,因此是对计算机安全技术的发展影响很大的一个模型。它最大的一个特点就是向下读、向上写,怎么理解呢?

简单举个例子,当一个高级别的主体要与一个低级别的主题进行通信的时候,高级别的主体要写信息到低级别的客体上,以便低级别的主体可以去读取低级别的客体,此时相当于高级别的主体创建了一个低级别的客体,并且让低级别的主体去访问该客体,这就是向下读。主体会有一个高的安全等级和一个当前的安全等级,当前的安全等级就是降低了客体之后的安全等级,最高安全等级必须能支配到当前等级,主体可以从高等级降为低等级,以便低等级实体进行通信。反之向上写也是一样的。

l 基于角色的访问控制

>在基于角色的系统中,确定访问权的依据是系统拥有者创建或授权的一份规则列表,该列表规定了应该授予用户的权限(即访问,读、写、执行等操作)。这个概念是 nsp,由美国国家标准化委员会在90年代的时候提出来的,然后 nsd 专门组织了这个研究,1996年提出一个比较完善的基于角色的访问控制参考模型,就是 Role-Bac。

>基于角色的房控制的基本思想是根据用户所承担的角色来决定用户在系统中的访问权限。如图所示管理员指定一个用户在系统里创建一个用户,这个用户有一一定角色并且为这个角色赋予相应的权限,然后其他用户在使用这个用户时要进行激活,就有了相应的访问操作权限。当然这种方法具有局限性,所以在这种模型里面一个用户是必须扮演某一种角色,而且必须要激活该角色,才能对一个对象进行访问或者执行某种操作。

image.png

>举例:一个账号或者是某个群体,在某一天的某一个时刻可以访问某个网站。

l 基于内容的访问控制

基于内容和基于角色都是相对的概念,基于本身内容的访问控制,基于数据的访问控制以及基于系统中数据或者是功能的访问控制都属于基于内容的访问控制。

>举例:

机构内的经理如果访问公司数据库查看与自己手下相关的数据,但是他们不能查看其他经理手下的相关数据,这是基于数据来控制的。所以他属于基于内容的访问控制,但是为什么不是基于角色的访问控制,实际上他也是基于角色的访问控制,这是一个并列的关系,或者说在这个系统的设计里,它既基于了角色,也基于了内容来进行访问控制。

 

五、自主访问控制与非自主(强制)访问控制的区别

自主访问控制的颗粒度比较粗,灵活性比较高,配置效率比较低,而强制访问控制的颗粒度很大,灵活性不高,所以安全性就相对于更强一些。

相关文章
|
2月前
|
人工智能 架构师 搜索推荐
智能体来了:IP操盘手如何用AI智能体实现企业赋能
AI时代,IP操盘手正升级为“AI赋能架构师”。本文以阿里云百炼平台为例,解析如何将IP专业力与AI智能体结合,打造服务企业的“知识库+工具”闭环,实现从内容IP到商业引擎的跃迁。
|
4月前
|
XML JSON API
巧用电商 API,实现多平台订单管理一键搞定
在电商运营中,多平台订单管理常面临登录繁琐、数据孤岛、效率低下等问题。通过电商 API,商家可打通各平台的订单、库存与物流系统,实现数据自动同步与统一管理。本文详解 API 集成方案,涵盖订单同步、库存联动、物流追踪等核心功能,并提供自研与无代码两种实施路径,助力商家构建高效智能的订单管理体系,显著提升运营效率。
282 0
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
SQL 关系型数据库 MySQL
MySQL 高级(进阶) SQL 语句
MySQL 提供了丰富的高级 SQL 语句功能,能够处理复杂的数据查询和管理需求。通过掌握窗口函数、子查询、联合查询、复杂连接操作和事务处理等高级技术,能够大幅提升数据库操作的效率和灵活性。在实际应用中,合理使用这些高级功能,可以更高效地管理和查询数据,满足多样化的业务需求。
1620 3
|
安全 Linux 数据库
|
中间件 编译器 开发工具
如何用易语言进行跨平台的软件开发?
如何用易语言进行跨平台的软件开发?
183 3
|
机器学习/深度学习 人工智能 搜索推荐
构建未来:AI驱动的自适应教育平台
【4月更文挑战第30天】 随着人工智能技术的迅猛发展,其在教育领域的应用正逐步从理论探索走向实践落地。本文将详细阐述一个基于AI技术的自适应学习平台的设计理念、核心功能以及潜在影响。该平台利用机器学习算法分析学生的学习行为和成绩,动态调整教学内容和策略,以实现个性化教学。研究结果表明,AI辅助的自适应学习能够显著提高学习效率,同时为教师提供强有力的教学辅助工具。
|
JavaScript 安全 数据安全/隐私保护
JS逆向 -- 分析某站aid、cid、w_rid和sid的加密过程
JS逆向 -- 分析某站aid、cid、w_rid和sid的加密过程
574 1
|
内存技术
如何看懂时序图(以SPI/I2C为例)
如何看懂时序图(以SPI/I2C为例)
600 1
|
Web App开发 JavaScript 前端开发
VsCode 常用好用插件/配置+开发Vue 必装的插件
VsCode 常用好用插件/配置+开发Vue 必装的插件
1105 0