数据库安全性相关概念及一些DCL语言

安全性概念

1.什么是数据库安全性?

数据库的安全性是指保护数据库,以防止不合法使用所造成的数据泄漏,篡改或破坏。

2.举例说明对数据库安全性产生威胁的因素

1.非授权用户对数据库的恶意存取和破坏,一些黑客。

2.数据库中重要或敏感的数据被泄露。通过SQL注入,进行非授权访问。

3.安全环境的脆弱性。如果网络协议安全性不足或者操作系统安全性脆弱都会让数据库安全遭到破坏,所以要加强计算机系统整体的安全性保护。

3.说出实现数据库安全性控制的常用方法和技术

1.用户身份鉴别

2.自主存取控制

3.强制存取控制

4.视图机制

5.审计功能

6.数据加密

7.通信加密

4.什么是数据库中的自主存取控制方法和强制存取控制办法。

自主存取控制方法:系统管理员会给访问数据库的用户赋于访问数据库的权利如查询,更改等,然后当用户访问数据库并执行操作时数据库会检查该用户是否有此权限,如果没有则拒绝执行。此外在自主存取控制方法中权利是可以再被赋于其它用户的。

强制存取控制方法:每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证,对于任意一个对象只有具有合法许可证的用户才可以存取。

5.解释强制存取控制机制中主体,客体,敏感度标记的含义。

主体:是系统中的活动实体,既包括数据库管理系统所管理的用户,也包括代表用户的各个进程。

客体:是系统中的被动实体,是受主体操纵的,包括:表,索引等。

敏感度标记:对于主体和客体,数据库管理系统为它们的每个实例指派一个敏感度标记。主体的敏感度标记为许可证级别,客体的敏感度标记被成为密级。强制存取控制机制就是通过对比主体和客体的敏感度标记,最终确定主体是否能存取客体。

6.举例说明强制存取控制机制是如何确定主题能否存取客体的。

比如说主体只能对客体进行向上写,和进行向下读。

7.什么是数据库的审计功能,为什么要提供审计功能?

审计功能可以把用户对数据库的所有操作自动记录下来放入审计日志。

因为所有安全保护措施都不是完美的,审计功能是数据库管理系统达到C2以上安全级别必不可少的一项指标。可以通过查看审计日志,找出非法存取数据的人,时间和内容;还可以通过对审计日志分析,对潜在的威胁加以防范。

一些DCL语言:

1.用户王明对两个表有SELECT权限

GRANT SELECT ON `职工` TO '王明';
GRANT SELECT ON `部门` TO '王明';

回收权限:
REVOKE SELECT ON `职工` FROM '王明';
REVOKE SELECT ON `部门` FROM '王明';

2.用户李勇对两个表有INSERT和DELETE权限

GRANT INSERT, DELETE ON `职工` TO '李勇';
GRANT INSERT, DELETE ON `部门` TO '李勇';

撤销权限:
REVOKE INSERT, DELETE ON `职工` FROM '李勇';
REVOKE INSERT, DELETE ON `部门` FROM '李勇';

3.每个职工只对自己的记录有SELECT权限:这里需要为每个职工创建一个视图,仅允许其查看自己的记录,然后授予SELECT权限。例如,假设有一个职工ID为1的职工:

CREATE VIEW `职工_1_view` AS
SELECT * FROM `职工` WHERE `职工号` = 1;

GRANT SELECT ON `职工_1_view` TO '职工1用户';


撤销权限:
REVOKE SELECT ON `职工_1_view` FROM '职工1用户';
DROP VIEW `职工_1_view`;

4.用户刘星对职工表有SELECT权限,对“工资”字段具有更新权限

GRANT SELECT ON `职工` TO '刘星';

GRANT UPDATE (`工资`) ON `职工` TO '刘星';


撤销权限:
REVOKE SELECT ON `职工` FROM '刘星';
REVOKE UPDATE (`工资`) ON `职工` FROM '刘星';

5.用户张新具有修改这两个表的结构的权限

GRANT ALTER ON `职工` TO '张新';
GRANT ALTER ON `部门` TO '张新';

撤销权限:
REVOKE ALTER ON `职工` FROM '张新';
REVOKE ALTER ON `部门` FROM '张新';

6.用户周平具有对两个表的所有权限,并具有给其他用户授权的权限

GRANT ALL PRIVILEGES ON `职工` TO '周平' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `部门` TO '周平' WITH GRANT OPTION;

撤销权限:
REVOKE ALL PRIVILEGES ON `职工` FROM '周平';
REVOKE ALL PRIVILEGES ON `部门` FROM '周平';

7.用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权限,但不能查看每个人的工资

CREATE VIEW `部门工资视图` AS
SELECT 部门号, MAX(工资) AS 最高工资, MIN(工资) AS 最低工资, AVG(工资) AS 平均工资
FROM `职工`
GROUP BY 部门号;

GRANT SELECT ON `部门工资视图` TO '杨兰';


撤销权限:
REVOKE SELECT ON `部门工资视图` FROM '杨兰';
DROP VIEW `部门工资视图';

1.

grant all privileges on  学生,班级 to U1 with grant option

2.

grant select,update(家庭住址) on 学生 to U2

3.

grant select on 学生 to public

 4.

-- 创建角色R1
CREATE ROLE 'R1';
-- 将SELECT和UPDATE权限授予角色R1
GRANT SELECT, UPDATE ON `学生` TO 'R1';
-- 将角色R1授予用户U1
GRANT 'R1' TO 'U1';

-- 允许用户U1继续授权角色R1给其他用户或角色
GRANT OPTION FOR 'R1' TO 'U1';
-- 撤销角色R1的所有权限
REVOKE ALL PRIVILEGES ON `学生` FROM 'R1';

-- 删除角色R1
DROP ROLE 'R1';

-- 删除角色R2(如果存在)
DROP ROLE 'R2';

-- 删除用户U1
DROP USER 'U1';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值