数据库安全 (ch.4)

4.2.4 授权与回收##

使用 Grant 授予权限 使用Revoke 回收权限

Grant <权限> [权限] ON <对象类型> <对象名> *..

to <用户> *
[with grant option]

with grant option 指定意味着 这个用户可以将指定的权限传播出去

不允许传播授权
grant select
on table Student
to u1

grant all privieges
on table Student,Course
To u2,u3

grant select on table sc
to public 向所有用户赋予权限

grant update(Sno),select
on table sc
to u4
u4 可以修改Sno 并且查询sc 表

granr update inset on table sc to u6 向u6 提供插入的权限

Revoke 回收权限
revoke <权限>*
on <对象> < 对象名>
from <用户> cascade restrcit

创建数据库模式的权限

create user [with][DBA | RESOURCE | CONNECT ]

默认CONNECT 只能登录 具体由管理员进行动态创建

RESOURCE 可以创建视图和基本表,称为该对象的属主,但不能创建模式,只能登录数据库

DBA 是数据库管理员 可以创建新的用户, ...

4.2.5数据库角色##

角色是一组被授权的权限, 角色是权限的集合
1 角色的创建
create role 角色名

2 给角色授权
grant 权限*
on 对象类型 对象名
to 角色

3 将1个角色授权给一个或多个角色

grant 角色1 角色2
to 角色3 【用户】
[with admin opetion]
4 角色的收回
rovke 权限 *
on 对象类型对象名
from 角色

4.2.6 强制存取控制方法 MAC##

TS S C P先是语法检查, 然后是 MAC 检查 DAC检查

主体 大于 客体 可读
客体 大于 主题 可写入

4.3 视图机制##

create view cs_student
as
select *
from Student where Sdept = "CS"

grant select on cs_student to wangping
grant all priviliege on cs_studnet to xizhuren

4.4 审计##

将用户的所有操作 记录到 日志 augit log 中
1 审计事件 服务器事件 系统权限 语句时间 模式对象事件

2 审计功能

3 语句
auidt 语句 和 noaudit 语句
audit alter,update on Sc

取消审计
noaudit alter,update
on sc;

必须吧审计开关打开, audit_true 才可以在系统表 sys_audittrail 中看到审计信息、

4.5 数据加密

原文地址:https://www.cnblogs.com/sfzyk/p/9186021.html