数据库安全性

旧城冷巷雨未停 提交于 2019-12-05 09:22:37
 1 all previleges语法错误
 2 
 3 二、数据库的安全性控制
 4 1、存取控制
 5 ①自主存取控制(DAC)(C2级)
 6 [例1] 把查询Student表权限授给用户U1
 7 grant select
 8 on student
 9 to u1
10 [例2] 把对Student表和Course表的全部权限授予用户U2和U3
11 
12 [例3] 把对表SC的查询权限授予所有用户
13 grant select 
14 on sc
15 to public 
16 [例4] 把查询Student表和修改学生学号的权限授给用户U4
17 grant select, update(sno)
18 on student
19 to u4
20 [例5] 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户
21 grant insert
22 on sc
23 to u1
24 with grant option
25 [例8] 把用户U4修改学生学号的权限收回
26 revoke update(sno)
27 on student
28 from u1
29 [例9] 收回所有用户对表SC的查询权限
30 revoke select
31 on sc
32 from public
33 [例10] 把用户U5对SC表的INSERT权限收回
34 revoke insert
35 on sc
36 from u1 cascade
37 
38 2、数据库角色
39 [例11] 通过角色来实现将一组权限授予一个用户。
40 create role r1
41 grant select, update, insert
42 on student
43 to r1
44 将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限
45 grant r1
46 to 王平, 张明, 赵玲
47 一次性通过R1来回收王平的这3个权限
48 revoke r1
49 from 王平
50 [例12] 角色的权限修改
51 grant delete
52 on student
53 to r1
54 revoke select
55 on student
56 from r1
57 自主存取控制缺点:可能存在数据的“无意泄露”
58 原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记
59 
60 ②强制存取控制
61 (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
62 (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体
63 实现MAC时要首先实现DAC
64 DAC与MAC共同构成DBMS的安全机制
65 
66 视图机制:
67 create view cs_student
68 as
69 select *
70 from student
71 where sdept = 'cs'
72 在视图上进一步定义存取权限
73 grant select
74 on cs_student
75 to u1
76 
77 审计机制:(编译不成功)
78 audit alter, update
79 on sc
80 noaudit alter, update
81 on sc
82 ------------------------------------------
83 创建用户:
84 create login lwh with password = '123', default_database = student
85 更改用户密码:
86 alter login lwh with password = '123456'
87 删除用户:
88 drop login lwh

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!