Database System - Privilege Management
Database System - Privilege Management
Grant privileges
Syntax
1
2
3
4
GRANT <OPERATION>
ON <TABLE>
TO <USER> [<USER1> <USER2> ...]
[WITH GRANT OPTION];
<USER>可为PUBLIC,意为所有人。注意:使用PUBLIC授予权限,意味着未来创建的用户仍然拥有此权限。 (实际上 PUBLIC 的实现方式为标记某<OPERATION>的PUBLIC权限为真,因此PUBLIC为真时,所有用户均具有其权限。 因此,先授予PUBLIC权限,再撤销某用户的权限,此用户仍具有此权限)WITH GRANT OPTION允许被授权的用户传播其权力。
Revoke privileges
Syntax
1
2
3
4
REVOKE <OPERATION>
ON <TABLE>
FROM <USER> [<USER1> <USER2> ...]
[CASCADE]
<USER>可为PUBLIC,意为所有人。CASCADE允许级联撤销权限。该命令此时会同时撤销所有由WITH GRANT OPTION派生的权限。
Examples
1
2
3
REVOKE UPDATE(Sno)
ON Student
FROM shelpam
Role
Role (角色) 是权限的集合,可以供 USER 使用。一个 USER 可以是多个 Character,同一操作的权限取“或”。
Syntax
- 授权
1 2
GRANT <CHARACTER> TO <USER> [<USER1> <USER2> ...]
- 撤销
1 2
GRANT <CHARACTER> TO <USER> [<USER1> <USER2> ...]
Mandatory Access Control and Discretionary Access Control
DAC (自主存取控制):只对登录系统的用户进行验证,拷入U盘内加密失效。
MAC (强制存取控制):对数据使用者的验证,拷入U盘内加密仍生效。
Audit log
Audit log (审计) 把用户对数据库的所有操作自动记录并放入审计日志。
It’s costly on time and space.
This post is licensed under
CC BY 4.0
by the author.