欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

ORACLE的权限管理

程序员文章站 2022-05-10 08:35:56
...
ORACLE的权限管理
ORACLE的安全机制,是由系统权限、实体权限和角色权限这三级体系结构组成的。
权限类型说 明
系统权限:是指对数据库系统及数据结构的操作权,例如创建/删除用户、表、同义词、索引等等
实体权限:是指用户对数据的操作权,如查询、更新、插入、删除、完整性约束等等
角色权限:是把几个相关的权限组成角色,角色之间可以进一步组合而成为一棵层次树,以对应于现实世界中的行政职位。角色权限除了限制操作权、控制权外,还能限制执行某些应用程序的权限。
这样的安全控制体系,使得整个系统的管理人员及程序开发人员能控制系统命令的运行、数据的操作及应用程序的执行。
(1) 系统权限
系统权限的授予命令为GRANT,例如把创建任何表视图的权限授予scott用户:
 GRANT create any view TO scott;

系统权限的回收命令为REVOKE,例如将create any view 权限从scott用户手中收回:

 REVOKE create any view FROM scott;


(2) 实体权限
每种类型的实体有与之相关的实体权限。
授予实体权限的命令举例(将EMP表上的Select和Insert权限授给scott):

 GRANT select,insert ON emp TO scott;


回收实体权限的命令举例(将EMP表上的Select权限从scott手中回收):

 REVOKE select ON emp FROM scott;

(3) 管理角色
角色是许多权限和角色的组合,它极大地方便了ORACLE的权限管理。
·创建角色,如创建一个名为dept1的角色,口令字为hello:

CREATE ROLE dept1 IDENTIFIED BY hello;


·使用角色,可以通过修改用户的缺省角色来使用角色,或通过授权的方法来将角色授予其它角色或用户。如将scott用户的缺省角色修改为DEVELOPER:

ALTER USER scott DEFAULT ROLE DEVELOPER;


将角色dept1授予manager角色:

 GRANT manager TO scott;

·使角色生效或失效,DBA可以通过控制角色的生效或失效,来暂时回收用户的一部分权限。如使dept1角色失效:

 SET ROLE dept1 DISABLE;


·删除角色,这将会影响到拥有该角色的用户和其它角色的权限。用DROP ROLE命令删除角色,如:

 DROP ROLE dept1;

以上就是ORACLE的权限管理,更多相关文章请关注PHP中文网(www.php.cn)!

相关标签: 权限管理,ORACLE