17.3.2 创建角色

在理解了角色是数据库管理员的好帮手之后,掌握在数据库中创建角色是至关重要的。创建角色也可以在企业管理器和SQL*Plus中完成。下面就分别通过这两种方式讲解如何创建角色。

1.在企业管理器中创建角色

在企业管理器中的服务器选项页面(如图17.1所示),选择【安全性】列表中的【角色】选项,进入角色浏览页面,如图17.17所示。

17.3.2 创建角色 - 图1

图 17.17 角色浏览页面

【示例18】在企业管理器中创建角色

创建用户角色可以分为两个步骤:

(1)创建角色的名称

在图17.17所示页面中,单击【创建】按钮,出现创建角色界面,如图17.18所示。

17.3.2 创建角色 - 图2

图 17.18 创建角色界面

在图17.18所示界面中,填入角色的名称,并选择角色的验证方式即可创建一个角色。角色的验证方式除了同用户的验证方式一样的口令验证、外部验证、全局验证3种之外,还有就是没有验证的方式,可以根据需要创建不同验证方式的角色。

(2)授予角色权限或其他角色

角色创建好后,角色中不包含任何角色,就像新创建的一个文件夹一样,没有任何文件。如果要想使用角色还要为角色授予权限,这个权限也包括系统权限和对象权限两类。前面已经学习过如何为用户授予权限,授予角色的权限与授予用户的权限类似,这里就不再重复讲解了。这里主要讲解一个为角色授予其他角色。授予其他已经在数据库中存在的角色,那么当前的角色就拥有了这个角色中存在的权限。为当前的角色授予角色,选择图17.18中的【角色】选项卡,出现如图17.19所示界面。

17.3.2 创建角色 - 图3

图 17.19 查看角色信息

在图17.19所示界面中,单击【编辑列表】按钮,即可为当前的角色添加角色。页面如图17.20所示。

17.3.2 创建角色 - 图4

图 17.20 编辑角色

为当前角色添加角色后,单击【确定】按钮,即完成了角色的添加。当要移除当前角色中的角色时,也可以在【所选角色】列表框中移去多余的角色。

2.在SQL*Plus中创建角色

在企业管理器中创建角色分为创建角色和授予角色权限两个步骤,而在SQL*Plus中创建角色也分为两个步骤。

(1)创建角色

创建角色就是在数据库中创建一个只有名称的角色。具体语法如下:


CREATE ROLE role

[NOT IDENTIDIED|IDENTIFIED BY[password]|IDENTIFIED BY

EXETERNALLY|IDENTIFIED BY GLOBALLY]


【语法说明】

在创建角色时要注意验证的方式,可以选择的验证方式有四种,第一种是NOT IDENTIDIED,不需要验证;第二种是IDENTIFIED BY[password],这是口令验证的方式;第三种是IDENTIFIED BY EXETERNALLY,这是外部验证的方式;第四种是IDENTIFIED BYGLOBALLY,这是全局验证方式。

(2)授予角色权限

授予角色权限与授予用户权限所使用的语法一样,只是授予对象不是用户而是角色。这里只给出一个授予角色系统权限的语法,授予角色对象权限的语法可以参考17.2节自己动手修改一下。具体语法如下:


GRANT system_privilege

|ALL PRIVILEGES TO role

[WITH ADMIN OPTION]


在给角色授予权限时,数据库管理员必须拥有GRANT_ANY_PRIVIEGES权限才可以给角色赋予任何权限。

【示例19】在SQL*Plus中创建角色

下面就利用上面的两个步骤来创建角色TESTROLE,并给角色授予CREATE SESSION权限。具体代码如下:


CREATE ROLE TESTROLE

NOT IDENTIFIED;

GRANT CREATE SESSION TO TESTROLE;


这样,就在数据库中创建了一个拥有CREATE SESSION的角色TESTROLE。用户可以根据创建角色的步骤,创建不同验证方式和授予不同权限的角色。