讲解Oracle对用户的访问控制

原创|其它|编辑:郝浩|2010-02-05 16:09:09.000|阅读 739 次

概述:这个是在introduction to Oracle 9i SQL student guide第二卷中看到的,写完才发现之前有过相关、甚至更全面的介绍了。但还是发布吧。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  这个是在introduction to Oracle 9i SQL student guide第二卷中看到的,写完才发现之前有过相关、甚至更全面的介绍了。但还是发布吧。

  1、控制user的访问

  主要有以下几方面:

  * 控制database的访问

  * 控制database中特定的对象的访问

  * 授予一定的访问Oracle 数据字典的权限

  * 为database对象创建synonym

  database的安全性可以被定义为两类:系统的安全和data的安全。前者包括在system 级别的database的访问与使用,如username和password、给user分配的磁盘空间以及user可执行的系统操作。后者包括对database对象的访问及操作的安全控制。

  1)系统权限

  主要有:CREATE USER, DROP USER, DROP ANY TABLE, BACKUP ANY TABLE, SELECT ANY TABLE, CREATE ANY TABLE

  2)创建users

  CREATE USER user IDENTIFIED BY password;

  3)授予权限

  GRANT privilege [, privilege ...] TO user [, user| role, PUBLIC ...];

  对于应用开发者,一般至少会需要下面的权限:

  CREATE SESSION, CREATE TABLE, CREATE SEQUENCE, CREATE VIEW, CREATE PROCEDURE

  4)修改user的密码

  ALTER USER user IDENTIFIED BY nowpassword;

  5)对象权限

  GRANT object_priv|ALL [(columns)] ON object TO {user | role | PUBLIC} [WITH GRANT OPTION];

  其中,ALL表示所有对象权限

  2、role

  1)role是一组相关权限的集合,可以被一起授予user,从而简化授权和收回权限的操作。一个user可以被授予多个roles,一个role也可以被授予给多个user。

  CREATE ROLE role;

  随后,可以用grant语句给role授权。PUBLIC表示将对象权限授予所有users。

  2)给role授予相应权限的操作和上面讲的给user授权是一致的。

  3、获得权限上授予情况信息的视图

  4、对象权限的收回

  REVOKE {privilege [, privilege ... ] | ALL} ON object FROM {user [, user ... ] | role | PUBLIC} [CASCADE CONSTRAINTS];

  其中,CASCADE CONSTRAINTS子句会收回所有通过REFERENCES方法创建的参照完整性约束的权限。在revoke之后,所有由with grant option进行授权的user的相应权限也会被收回。

  5、database link(可以使本地user访问远程database)

  database link是一个指针,定义了一个Oracle database server与另一个database server进行交互的方法。link 指针实际是一个数据字典表中的实体。为了访问link,必须连接包含该数据字典实体的本地database。

  database link的最大的优点是它允许users访问其他user在远程database的objects。

  具体创建实例:

  CREATE PUBLIC DATABASE LINK hq.acme.com USING ’sales’;

  其中,USING子句指明了远程database的service名称。database link创建之后,就可发起如下的访问:

  SELECT * FROM fred.emp@HO.ACME.COM;


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP