📋 前言
⏰诗赋清音:墨激雷霆势,心随碧波飘。山河承豪情滔天,梦御风云志浩荡。
🎉欢迎大家关注🔍点赞👍收藏⭐️留言📝
🔔作者留言:
欢迎来到我的【SQL Server】魔法学堂!这里是探索数据库世界的秘境,我的学习笔记博客为你打开SQL Server的魔法之门。在这里,我不仅分享SQL Server的基础知识和高级技巧,还有着涉猎实用技术和项目经验的魔法药水。无论你是新手还是数据库巫师,这个魔法堂会为你施展出奇幻的学习魔法,帮助你在SQL Server的魔法森林中踏上一场奇妙之旅。准备好了吗?跟着我,让我们一起编织属于自己的SQL Server魔法代码!
🌍1. 数据库安全性概述
1. 数据库的不安全因素
- 非授权用户对数据库的恶意存取和破坏
- 数据库中重要或敏感的数据被泄露
- 安全环境的脆弱性
2. 安全标准简介
2001年 CC V2.1版被我国采用为国家标准,目前CC已基本取代了TCSEC,成为评估信息产品安全性的主要标准。
TCSEC/TDI,从四个方面来描述安全性级别划分的指标
- 安全策略
- 责任
- 保证
- 文档
四组七个等级
D
C(C1,C2)
B(B1,B2,B3)
A(A1)
按系统可靠或可信程度逐渐增高
各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护要包含较低级别的所有保护要求,同时提供更多或更完善的保护能力
🌍2. 数据库安全性控制
🪐1. 用户身份鉴别
- 静态口令鉴别:静态口令一般由用户自己设定,这些口令是静态不变的
- 动态口令鉴别:口令是动态变化的,每次鉴别时均需使用动态产生的新口令登录数据库管理系统,即采用一次一密的方法
- 生物特征鉴别:通过生物特征进行认证的技术,生物特征如指纹、虹膜和掌纹等
- 智能卡鉴别:智能卡是一种不可复制的硬件,内置集成电路的芯片,具有硬件加密功能
🪐2. 存取控制
- 定义用户权限
- 合法权限检查
这两者一起组成了数据库管理系统的存取控制子系统
常用存取控制方法
- 自主存取控制-- C2级
- 强制存取控制--B1级
🌕2.1 自主存取控制方法
通过 SQL 的GRANT 语句和REVOKE 语句实现
用户权限组成
- 数据对象
- 操作类型
定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作
定义存取权限称为授权
🌕2.2 授予GRANT
GRANT语句的一般格式:
GRANT <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型> <对象名>]…
TO <用户>[,<用户>]...
[WITH GRANT OPTION];语义:将对指定操作对象的指定操作权限授予指定的用户
发出GRANT
- 数据库管理员
- 数据库对象创建者(即属主Owner)
- 拥有该权限的用户
接受权限的用户
- 一个或多个具体用户
- PUBLIC(即全体用户)
WITH GRANT OPTION子句:
指定:可以再授予
没有指定:不能传播
示例:
[例4.1] 把查询Student表权限授给用户U1
GRANT SELECT
ON TABLE Student
TO U1;
[例4.2] 把对Student表和Course表的全部权限授予用户U2和U3GRANT ALL PRIVILIGES
ON TABLE Student,Course
TO U2,U3;[例4.3] 把对表SC的查询权限授予所有用户
GRANT SELECT
ON TABLE SC
TO PUBLIC;[例4.4] 把查询Student表和修改学生学号的权限授给用户U4
GRANT UPDATE(Sno), SELECT
ON TABLE Student
TO U4;对属性列的授权时必须明确指出相应属性列名
[例4.5] 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户
GRANT INSERT
ON TABLE SC
TO U5
WITH GRANT OPTION;
执行例4.5后,U5不仅拥有了对表SC的INSERT权限,
还可以传播此权限:
[例4.6] GRANT INSERT
ON TABLE SC
TO U6
WITH GRANT OPTION;
同样,U6还可以将此权限授予U7:
[例4.7] GRANT INSERT
ON TABLE SC
TO U7;
但U7不能再传播此权限。
🌕2.3 回收REVOKE
授予的权限可以由数据库管理员或其他授权者用REVOKE语句收回
REVOKE语句的一般格式为:
REVOKE <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型><对象名>]…
FROM <用户>[,<用户>]...[CASCADE | RESTRICT];示例:
[例4.8] 把用户U4修改学生学号的权限收回
REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;
[例4.9] 收回所有用户对表SC的查询权限
REVOKE SELECT
ON TABLE SC
FROM PUBLIC;
[例4.10] 把用户U5对SC表的INSERT权限收回
REVOKE INSERT
ON TABLE SC
FROM U5 CASCADE ;
将用户U5的INSERT权限收回的时候应该使用CASCADE,否则拒绝执行该语句
如果U6或U7还从其他用户处获得对SC表的INSERT权限,则他们仍具有此权限,系统只收回直接或间接从U5处获得的权限
📝总结
数据库SQL Server领域就像一片未被勘探的信息大海,引领你勇敢踏入数据科学的神秘领域。这是一场独特的学习冒险,从基本概念到算法实现,逐步揭示更深层次的模式分析、匹配算法和智能模式识别的奥秘。渴望挑战数据库SQL Server中的模式匹配学习路径和掌握信息领域的技术?不妨点击下方链接,一同探讨更多数据科学的奇迹吧。我们推出了引领趋势的💻 数据科学专栏:《数据之谜 | 数据奇迹解码》,旨在深度探索数据库SQL Server中模式匹配技术的实际应用和创新。🌐🔍