常用的用户身份鉴别方法有以下几种:
- 静态口令鉴别
- 动态口令鉴别
- 生物特征鉴别
- 智能卡鉴别
安全性:保护数据库,防止不合法的使用所造成的数据泄露和破坏。 保证数据安全性的主要措施 存取控制:控制用户只能存取他有权存取的数据 规定不同用户对于不同数据对象所允许执行的操作
存取控制机制主要包括定义用户权限和合法权限检查两个部分。这两个部分一起组成了数据库管理系统的存取控制子系统。
C2级的数据库管理系统支持自主存取控制,B1级的数据库管理系统支持强取存取控制。
用户权限由两个要素组成:数据库对象和操作类型。在数据库系统中,定义存取权限成为授权
授予权限:
GRANT <权限>[,<权限>]...
[ON <对象类型> <对象名>]
TO <用户>[,<用户>]...
[WITH GRANT OPTION];
--表示授予的权限还可以授予他人,没有就代表不能随意转交。
WITH GRANT OPTION
?疑问
收回权限
REVOKE语句的一般格式为:
REVOKE <权限>[,<权限>]...
[ON <对象类型> <对象名>]
FROM <用户>[,<用户>]...;
注意
例如授予权限给u5(u5还可以把权限授予给他人u6,u6授予给了u7),收回u5的权限也相当于收回了u6和u7的权限。
例9 把用户U5对SC表的INSERT权限收回
REVOKE INSERT
ON SC
FROM U5;
系统将收回直接或间接从U5处获得的对SC 表的INSERT权限: -->U5--> U6--> U7 收回U5、U6、U7获得的对SC表的INSERT 权限: <--U5<-- U6<-- U7
小结:
- DBA拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。
- 用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。
- 被授权的用户如果有“继续授权”的许可,还可以把获得的权限再授予其他用户。
- 所有授予出去的权力在必要时又都可以用REVOKE语句收回。