SQL语句关于数据库安全性

sql语句关于数据库安全性

	cc评估保证级(EAL)的划分

评估保证级 定义 TCSEC安全级别(近似相当)
EAL1 功能测试
EAL2 结构测试 C1
EAL3 系统地测试和检查 C2
EAL4 系统地涉及,测试和复查 B1
EAL5 半形式化涉及和测试 B2
EAL6 半形式化验证的设计和测试 B3
EAL7 形式化验证的设计和测试 A1

	关系数据库系统中的存取权限

对象类型 对象 操作类型
模式 CREATE SCHEMA
数据库 基本表 CREATE TABLE,ALTER TABLE
模式 视图 CREATE VIEW
索引 CREATE INDEX

数据 基本表和视图 SELECT,INSERT,UPDATE,DELETE,
REFERENCES,ALL PRIVILEGES
属性列 SELECT,INSERT,UPDATE,REFERENCES,
ALL PRIVILEGES
4.2.2 授予与收回

1.GRANT
GRANT语句的一般格式为:
GRANT<权限>[,<权限>]…
ON<对象类型><对象名>[,<对象类型><对象名>]…
TO<用户>[,<用户>]…
[WITH GRANT OPTION];

例4.1 把查询Student表的权限授给用户U1.
GRANT SELECT
ON TABLE Student
TO U1;
例4.2 把对Student表和Course表的全部操作权限授予用户U2和U3.
GRANT ALL PRIVILEGES
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.6 U5可以将此权限授予U6
GRANT INSERT
ON TABLE SC
TO U6
WITH GRANT OPTION;
例4.7
GRANT INSERT
ON TABLE SC
TO U7;
在这里插入图片描述
2.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;
在这里插入图片描述
3.创建数据库模式的权限
CREATE USER语句一般格式如下:
CREATE USER [WITH][DBA | RESOURCE | CONNECT];
只有系统的超级用户才有权创建一个新的数据库用户.
新创建的数据库用户有三种权限:CONNECT,RESOURCE和DBA.
拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登陆数据库.
拥有RESOURCE权限的用户能创建基本表和视图,成为所创建对象的属主,但不能创建模式,不能创建新的用户.
拥有DBA权限的用户是系统种的超级用户,可以创建新的用户,创建模式,创建基本表和视图等.

4.2.5 数据库角色
1.角色的创建
CREATE ROLE <角色名>
2.给角色授权
GRANT <权限>[,<权限>]…
ON<对象类型>对象名
TO<角色>[,<角色>]…
3.将一个角色授予其他的角色或用户
GRANT<角色1>[,<角色2>]…
TO <角色 3>[,<用户1>]…
[WITH ADMIN OPTON]
4.角色权限的收回
REVOKE <权限>[,<权限>]…
ON <对象类型><对象名>
FROM <角色>[,<角色>]…

例4.11 通过角色来实现将一组权限授予一个用户.
1.首先创建一个角色R1.
CREATE ROLE R1;
2.然后使用GRANT语句,使角色R1拥有Student表的SELECT,UPDATE,INSERT权限.
GRANT SELECT,UPDATE,INSERT
ON TABLE Student
TO R1;
3.将这个角色授予王平,张明,赵玲,使他们具有角色R1所包含的全部权限.
GRANT R1
TO 王平,张明,赵玲;
4.当然,也可以一次性地通过R1来收回王平的这三个权限.
REVOKE R1
FROM 王平;

例4.12 角色的权限修改.
GRANT DELETE
ON TABLE Student
TO R1
例4.13
REVOKE SELECT
ON TABLE Student
FROM R1;

4.3 视图机制

例4.14 建立计算机系学生的视图,把对该视图的SELECT权限授予王平,把该视图上的所有操作权限授予张明.
CREATE VIEW CS_Student /先建立视图CS_Student/
AS
SELECT *
FROM Student
WHERE Sdept=‘CS’;

	GRANG SELECT 						/*王平老师只能检索计算机系学生的信息*/
	ON CS_Student
	TO 王平;
	
	GRANT ALL PRIVILEGES				/*系主任具有检索和增删改计算机系学生信息的所有权限*/
	ON CS_Student
	TO 张明;

4.4 审计

例4.15 对修改SC表结构或修改SC表数据的操作进行审计.
	AUDIT ALTER,UPDAE
	ON 	SC;
例4.16 取消对SC表的一切审计.
	NOAUDIT ALTER,UPDAE
	ON 	SC;

4.5 数据加密
1.存储加密
2.传输加密

关注和评论,是对我的鼓励和支持,我会竭尽所能帮助需要的朋友们

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

低调的小哥哥

你的关注就是我为你服务的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值