【OCP最新题库解析(052)--题15】 Which two are true about roles?_oracle

       

    该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。

 

Q题目  Which two are true about roles?

A. Roles are owned by SYSTEM.

B. A secure application role can be set only by its associated PL/SQL package.

C. The CONNECT role is granted automatically to a user when it is created.

D. A role can be granted a combination of system and object privileges and other roles.

E. The RESOURCE role is granted the CREATE SESSION privilege.



 

 

     A答案

 

 

Answer:BD

对于A选项,Roles应该属于SYS。

对于C选项,创建用户后没有任何权限。

对于E选项,CONNECT角色被授予了CREATE SESSION的权限。

 

Connect角色允许用户从表中插入更新删除属于其它用户的记录,在取得了适当的许可权限以后用户也可以创建表视图序列簇和同义词

SYS@raclhr>col ADMIN_OPTION format a12

SYS@raclhr>select*from dba_sys_privs d where d.GRANTEE='CONNECT';

 

GRANTEE PRIVILEGE ADMIN_OPTION

------------------------------------------

CONNECT CREATE SESSION NO

 

表3-2Oracle预定义角色

预定义角色

创建脚本

描述

CONNECT

SQL.BSQ

从Oracle 10g开始,CONNECT角色只保留CREATE SESSION权限。

RESOURCE

SQL.BSQ

包括以下系统权限:CREATE CLUSTER、CREATE INDEXTYPE、CREATE OPERATOR、CREATE PROCEDURE、CREATE SEQUENCE、CREATE TABLE、CREATE TRIGGER、CREATE TYPE。

DBA

SQL.BSQ

所有系统权限并具有关键字WITH ADMIN OPTION。

EXP_FULL_DATABASE

CATEXP.SQL

提供执行全部和增量的数据库导出时需要的权限。包括:SELECT ANY TABLE、BACKUP ANY TABLE、EXECUTE ANY PROCEDURE、EXECUTE ANY TYPE、ADMINISTER RESOURCE MANAGER、和INSERT、DELETE和UPDATE系统表SYS.INCVID、SYS.INCFIL和SYS.INCEXP。拥有以下角色:EXECUTE_CATALOG_ROLE和SELECT_CATALOG_ROLE。

IMP_FULL_DATABASE

CATEXP.SQL

提供执行整个数据库导入时需要的权限。包括系统权限详尽列表中的权限(可以在DBA_SYS_PRIVS视图中浏览这些权限)和以下角色:EXECUTE_CATALOG_ROLE和SELECT_CATALOG_ROLE。

DELETE_CATALOG_ROLE

SQL.BSQ

一个角色在所有数据字典包中的DELETE权限。

EXECUTE_CATALOG_ROLE

SQL.BSQ

一个角色在所有数据字典包中的EXECUTE权限,还有HS_ADMIN_ROLE。

SELECT_CATALOG_ROLE

SQL.BSQ

一个角色在所有目录表和视图中的SELECT权限,还有HS_ADMIN_ROLE。

RECOVERY_CATALOG_OWNER

CATALOG.SQL

为恢复目录的拥有者提供的权限。包括:CREATE SESSION、ALTER SESSION、CREATE SYNONYM、CREATE VIEW、CREATE DATABASE LINK、CREATE TABLE、CREATE CLUSTER、CREATE SEQUENCE、CREATE TRIGGER、CREATE PROCEDURE。

HS_ADMIN_ROLE

CATHS.SQL

用来防止对HS(Heterogeneous Services)数据字典表(授予SELECT)和包(授予EXECUTE)的访问。普通数据字典中的用户被授予了SELECT_CATALOG_ROLE和EXECUTE_CATALOG_ROLE后同样可以访问HS数据字典。

AQ_USER_ROLE

CATQUEUE.SQL

已废除,但为了和Oracle 8.0相兼容而保留下来,提供执行DBMS_AQ和DBMS_AQIN包的权限。

AQ_ADMINISTRATOR_ROLE

CATQUEUE.SQL

提供管理进度队列的权限,包括ENQUEUE ANY QUEUE、DEQUEUE ANY QUEUE和MANAGE ANY QUEUE,还包括对AQ表的SELECT权限和对AQ包的EXECUTE权限。

SNMPAGENT

CATSNMP.SQL

这个角色是由Enterprise Manager/Intelligent代理所使用的,包括ANALYZE ANY和对不同的视图授予SELECT权限。

如果想查询角色所拥有的权限,那么可以通过视图DBA_SYS_PRIVS来查询。如下例所示,查询的是RESOURCE角色拥有的权限:

SYS@orclasm>col GRANTEE for a15

SYS@orclasm>col PRIVILEGE for a30

SYS@orclasm>col ADMIN_OPTION for a15

SYS@orclasm>SELECT*FROM DBA_SYS_PRIVS D WHERE D.GRANTEE='RESOURCE';

GRANTEE PRIVILEGE ADMIN_OPTION

------------------------------------------------------------

RESOURCE CREATE TRIGGER NO

RESOURCE CREATE SEQUENCE NO

RESOURCE CREATE TYPE NO

RESOURCE CREATE PROCEDURE NO

RESOURCE CREATE CLUSTER NO

RESOURCE CREATE OPERATOR NO

RESOURCE CREATE INDEXTYPE NO

RESOURCE CREATE TABLE NO

 

可以通过验证保护角色,如下:

 

【OCP最新题库解析(052)--题15】 Which two are true about roles?_sequence_02

还可以通过编程保护角色:

CREATE ROLE secure_application_role

IDENTIFIED USING security_procedure_name

 

默认情况下通常会启用角色,这意味着如果将角色授予给某个用户,则该用户就可以行使指定给角色的权限。在连接时会为用户分配默认角色。

此时用户可以:

• 使角色成为非默认角色。将角色授予给用户后,取消选中“DEFAULT(默认)”复选框。现在,用户必须先显式启用角色,才可以行使角色的权限。

• 要求对角色进行附加验证。默认情况下角色的验证为“无”,但可以要求对角色进行附加验证,之后才能设置角色。

• 创建只有成功地执行了PL/SQL过程后才能启用的安全应用程序角色。通过PL/SQL过程可以检查某些方面,如用户的网络地址、用户正在运行的程序、当日时间以及恰当保护权限组所需的其它元素。

• 使用Oracle Database Vault选件可以轻松管理角色。可以简化安全应用程序角色,并进一步地限制普通角色。