数据库安全管理2课件

PPT
  • 阅读 48 次
  • 下载 0 次
  • 页数 64 页
  • 大小 360.001 KB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
数据库安全管理2课件
可在后台配置第一页与第二页中间广告代码
数据库安全管理2课件
可在后台配置第二页与第三页中间广告代码
数据库安全管理2课件
可在后台配置第三页与第四页中间广告代码
数据库安全管理2课件
数据库安全管理2课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 64
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】数据库安全管理2课件.ppt,共(64)页,360.001 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92416.html

以下为本文档部分文字说明:

Oracle体系结构与管理第十四章数据库安全管理14.3管理权限权限是执行SQL语句或存取数据的权力。通过授予用户权限,用户可以对自己的模式对象进行查询、删除和修改等操作,也可以查询、删除和修改其它用户的模式对象。Oracle有两类权限:系统权限对象权限Oracle通过两种方

法将权限授予用户:直接将权限授予用户。先将权限授予角色,然后再将角色授予用户。14.3管理权限系统权限的管理【任务14.10】授予TEST用户系统权限CREATESESSION。14.3管理权限系统权限的管理1.系统权限分类在数据库系统范围内操作的权限在用户自己

的模式内操作的权限在任何模式内操作的权限在数据库系统范围内操作的权限系统权限名称作用ADMINISTERSECURITY管理安全性ALTERDATABASE设置数据库属性ALTERRESOURCECOST设置资源开销属性ALTERSESS

ION设置会话属性ALTERSYSTEM设置系统属性ANALYZEANY对数据库的表、索引或者簇进行分析AUDITANY审计数据库的所有用户或对象AUDITSYSTEM审计数据库系统BACKUPANYTABLE备份任何数据表BECOMEUSER执行完全

导入操作时成为另外的用户COMMENTANYTABLE在数据库的所有表上创建注释………..………………..………在用户自己的模式内操作的权限系统权限名称作用CREATECLUSTER创建特定簇CREATEDAT

ABASELINK创建特定数据库链接CREATEDIMENSION创建特定维CREATEINDEXTYPE创建特定索引类型CREATELIBRARY创建特定库CREATEOPERATOR创建特定操作符CREATEPR

OCEDURE创建特定过程CREATEPROFILE创建特定配置文件………..………..………..………..在任何模式内操作的权限系统权限名称作用ALTERANYCLUSTER设置任何簇属性ALTERANYDIMENSION设置任何维属

性ALTERANYINDEX设置任何索引属性ALTERANYINDEXTYPE设置任何索引类型属性ALTERANYLIBRARY设置任何库(程序包)属性ALTERANYOUTLINE设置任何大纲属性ALTERANYPROCEDURE设置任何过程属性………..………..……….

.………..14.3管理权限系统权限的管理DBA在使用系统权限时需要注意以下几点:系统权限中没有CREATEINDEX权限,而是CREATETABLE权限包含了CREATEINDEX权限。因此在创建索引时,用

户必须具有CREATETABLE权限,而且必须在表空间上具有一定的配额,或者具有UNLIMITEDTABLESPACE的权限。如果用户具有了CREATETABLE、CREATEPROCEDURE、CREATECLUSTER的权限,那么该用户也具有删除这些对象的权限。UN

LIMITEDTABLESPACE权限不能授予角色。14.3管理权限系统权限的管理DBA在使用系统权限时需要注意以下几点(续):用户要想截断一个表,必须具有DROPANYTABLE的权限。连接数据库的用户必须具有CREATESESSION的

权限。如果用户具有CREATEANYPROCEDURE(或EXECUTEANYPROCEDURE)权限,那么用户就能够建立、替换、删除(或执行)、任何存储过程、函数和包。如果用户具有CREATET

ABLE权限,那么该用户就可以对自己模式中的所有表进行创建、修改、删除或查询操作。SELECT、INSERT、UPDATE和DELETE都是对象权限,它们只是针对某一个对象的操作权限,而SELECTALL、INSERTALL、UPD

ATEALL和DELETEALL是系统权限,它们针对的是数据库中的所有模式。14.3管理权限系统权限的管理2.授予系统权限使用GRANT命令可以将系统权限授予用户、角色或PUBLIC公共工作组。该语句的语法为:GRANTsystem_privilege[,system_privilege]...

TO{user|role|PUBLIC}[,{user|role|PUBLIC}]...[WITHADMINOPTION]14.3管理权限系统权限的管理2.授予系统权限关键字和参数的含义为:system_p

rivilege系统权限名称。User用户名。Role角色名。PUBLIC公共工作组。如果某一系统权限授予该工作组,那么数据库中的所有用户都将具有该权限。WITHADMINOPTION表示被授予者可以将该

系统权限授予其他的用户。14.3管理权限系统权限的管理2.授予系统权限授予系统权限时应注意以下原则:用户将某一系统权限授予其他用户时,该用户本身首先应具有这个权限,并且在被授予该权限时必须在GRANT语句中明确声明WITHADMINOPTION。用户将某一系统权

限授予其他用户时,在GRANT语句中可以设置WITHADMINOPTION,以便其他用户能够将该系统权限授予另一个用户。具有GRANTANYPRIVILEGE系统权限的用户可以在数据库中授予用户任何权限。在授予系统权限时设置了WITHADMINOPTION子句的用户可以从任何用户或

角色中收回该系统权限。14.3管理权限系统权限的管理2.授予系统权限例如,新创建的用户没有任何权限,这时DBA应首先授予CREATESESSION系统权限,以便让用户能够连接到数据库上。首先用SYSTEM用户登录SQL

*Plus,因为SYSTEM用户具有GRANTANYPRIVILEGE系统权限,然后执行下列语句:SQL>GRANTCREATESESSIONTOTEST;14.3管理权限系统权限的管理3.收回系统权限使用REVOKE语句可以

收回用户拥有的系统权限。该语句的语法为:REVOKEsystem_privilege[,system_privilege]...FROM{user|role|PUBLIC}[,{user|role|PUBLIC}]...

例如,从用户TEST收回CREATESESSION系统权限。SQL>REVOKECREATESESSIONFROMTEST;14.3管理权限系统权限的管理3.收回系统权限收回系统权限时应注意以下原则:能够收回某项系统权限的用户必须具有授予该权限的权力。如果只是想收回WIT

HADMINOPTION子句,那么可以先收回该系统权限,然后再使用不带WITHADMINOPTION子句的GRANT语句授予用户该项系统权限。如果用户使用系统权限执行了某项操作,收回该系统权限不会对操作的

结果产生影响。例如,用户具有CREATETABLE的系统权限,用户利用该权限创建了一些表,收回CREATETABLE权限后,这些表仍然可以使用。如果用户A具有某项系统权限,A将该项系统权限授予了用户B

,当收回用户A的这个系统权限时,用户B的该系统权限仍然保留。14.3管理权限对象权限的管理【任务14.11】授予TEST用户查询SCOTT用户的EMP表的对象权限。对象权限是指执行某些特殊的SQL语句或者是访问某些对象的权利。用户对属于自己的

对象具有全部的对象权力。但是,他无权使用其他用户的对象,除非将其他用户的某个对象的权限授予了该用户。对于有些模式对象,如索引、触发器等没有相应的对象权限,而是由系统权限管理。14.3管理权限对象权限

的管理1.对象权限分类Oracle的对象权限主要有8种,分别作用在7类对象上。TABLECOLUMNVIEWSEQUENCEPROCEDURE/FUNCTION/PACKAGE操作权限SELECT√√√查询操作INSERT√√√插入操作UPDATE√√√更新操作DELETE√√删除操作

EXECUTE√执行过程、函数或包ALTER√√修改表或序列的结构INDEX√为表建立索引REFERENCES√√建立引用对象权限分类表14.3管理权限对象权限的管理2.授予对象权限授予对象权限语句的语法为:GRANT{object_privilege[(co

lumn_list)][,object_privilege[(column_list)]]...|ALL[PRIVILEGES]}ON[schema.]objectTO{user|role|PUBLIC}[,{user|role|PUBLIC}]...[WITHGRANTOPTION

]14.3管理权限对象权限的管理2.授予对象权限语句中各关键字和参数的含义如下:object_privilege对象权限名称。column_list模式对象中的列名。ALL将所有对象权限授予已具有WITHGRANTOPTION子句的用户。

schema.object模式对象的名称。user将对象权限授予的用户名。role将对象权限授予的角色名。PUBLIC将对象权限授予PUBLIC公共工作组。WITHGRANTOPTION允许将此权限授予其他用户或角色。14.3管理权限对象权限的管理2.授予对象权限授予对象权限时应注意

以下原则:模式对象的拥有者自动具有该模式对象的所有对象权限,无需再授予这些对象权限。如果某个模式对象不属于该用户,但是该用户具有这个模式对象的对象权限时,并且在授予权限的语句中使用了WITHGRANTOPTION子句,那么该用户可以将这

个对象的权限授予其他的用户。模式对象的拥有者可以将该对象的任何对象权限授予其他用户,如果允许该用户将这些对象权限授予另外一些用户,必须在GRANT语句中使用WITHGRANTOPTION子句。WIT

HGRANTOPTION子句不能用于授予角色的GRANT语句中。14.3管理权限对象权限的管理2.授予对象权限例如,将查询SCOTT用户的EMP表的对象权限授予TEST用户。SQL>GRANTSELECT2ONSCOTT.EMP3TOTEST;结果显示为:授权成

功。14.3管理权限对象权限的管理3.收回对象权限收回用户对象权限语句的语法为:REVOKE{object_privilege[,object_privilege]...|ALL[PRIVILEGES]}ON[schema.]objectFROM{user|

role|PUBLIC}[,{user|role|PUBLIC}]...[CASCADECONSTRAINTS];其中,CASCADECONSTRAINTS表示删除使用REFERENCES或ALL权限

定义的任何完整性约束。14.3管理权限对象权限的管理3.收回对象权限例如,从用户TEST收回SCOTT用户EMP表的SELECT对象权限。SQL>REVOKESELECT2ONSCOTT.EMP3FROMTEST;结果显示为

:撤销成功。14.3管理权限对象权限的管理3.收回对象权限收回对象权限时应注意以下原则:用户具有的对象权限只能由授予者收回。假设有多个用户为某用户授予了同一个对象权限,如果其中的某个用户收回了该对象权限,那么该用户仍然具有这个对象权限。只要有一个用户没有收回该权限,该权限仍然有效。如果

用户A具有某个对象权限,A将该项系统权限授予了用户B,当收回用户A的这个对象权限时,用户B的该对象权限也将收回。14.3管理权限查询权限信息视图名称说明DBA_SYS_PRIVS描述了用户和角色具有的系统权限信息。SESSION_PRIVS描述了当前用户具有的权限

信息。ALL_TAB_PRIVS描述了当前用户和PUBLIC具有的权限信息。DBA_TAB_PRIVS描述了数据库中所有用户具有的权限信息。USER_TAB_PRIVS描述当前用户具有的权限信息。ALL_TAB_PRIVS_MADE描述了当前用户授予的权限信息。USER_TAB_PRIV

S_MADE描述了当前用户所有对象上的权限信息。ALL_TAB_PRIVS_RECD描述了当前用户和PUBLIC具有权限的模式对象的信息。USER_TAB_PRIVS_RECD描述了当前用户具有权限的模式对象的信息。ALL_COL_PRI

VS描述了当前用户和PUBLIC中具有权限的字段上所授予的权限信息。DBA_COL_PRIVS描述了所有字段上所授予的权限信息。USER_COL_PRIVS描述了当前用户具有权限的字段上所授予的权限信息。ALL_COL_PRIVS_RECD描述了当前用户和PUBLIC中具有权限的字段的

模式对象的信息。USER_COL_PRIVS_RECD描述了当前用户具有权限字段的模式对象的信息。14.3管理权限查询权限信息从DBA_TAB_PRIVS数据字典用户视图中查询TEST用户的权限信息。SQL>SELECTGRANTEE,2OWNER,3TABLE_N

AME,4GRANTOR,5PRIVILEGE6FROMDBA_TAB_PRIVS7WHEREGRANTEE='TEST';结果显示为:GRANTEEOWNERTABLE_NAMEGRANTORPRIVILEGE------------------------------------

-----------------------------------------------------TESTSCOTTEMPSCOTTSELECT14.3管理权限查询权限信息从DBA_SYS_PRIVS视图中查询TEST用户

的系统权限信息。SQL>SELECTGRANTEE,PRIVILEGE2FROMDBA_SYS_PRIVS3WHEREGRANTEE='TEST';结果显示为:GRANTEEPRIVILEGE---------------

----------------------------------------------TESTCREATESESSION14.4管理角色角色是一组相关权限的集合。DBA可以使用角色为用户授权,也可以从用户中收回角色。由于一个角色中可以具有

多个权限,因此在授权时可以一次授予用户多个权限,同时,还可以将同一个角色授予不同的用户,非常便于权限管理。14.4管理角色使用角色管理权限具有以下优点:减少权限管理动态权限管理权限的有效性安全性方便灵活14.4管理角色数据库角色

包含下列特点:角色授予与收回语句同系统权限的授予与收回命令完全一样。一个角色可拥有多个系统权限或对象权限。一个角色可授权给其它角色,但不能自己授予自己,即使间接授予也不行。任何角色都可以授权给任何数据库用户。授权给用户的每一角色可以被激活或禁止。

在一个数据库中,每一个角色名必须唯一。角色不是模式,不包含在任何模式中,授予角色的用户被删除后不影响该角色。角色的信息保存在数据字典中。14.4管理角色创建角色【任务14.13】创建TEST_ROLE角色,该角色具有CREATEROLE的系统权限、查询SCOTT用户EMP表的对象权限,以

及授予CONNECT角色。14.4管理角色创建角色创建角色语句的语法为:CREATEROLErole[NOTIDENTIFIED|IDENTIFIED{BYpassword|EXTERNALLY|GLOBALLY}];14.4管理角色创建角色各关键字和参数的含义为:role角

色名。角色名必须是唯一的,不能与数据库中的其他用户或角色重名。NOTIDENTIFIED当角色被激活和禁用时,不需要验证口令。该值为默认值。IDENTIFIED当角色被激活和禁用时,需要验证口令。角色的认证方式

有数据库认证和操作系统认证两种。password当角色被激活和禁用时需要输入的口令。EXTERNALLY使用外部服务进行认证。GLOBALLY使用Oracle安全服务器(OracleSecurityServer)进行认证。这些

角色称为全局角色(GlobalRole)。14.4管理角色创建角色角色可以有2种认证方式:数据库认证方式在激活和禁用角色时需要输入口令,由数据库对口令的正确性进行验证。操作系统认证方式在激活和禁用角色时不需要输入口令,因为操

作系统已对口令的正确性进行了验证。14.4管理角色创建角色数据库采用何种方式验证可以通过初始化参数OS_ROLES设置。如果该参数设置为TRUE,将由操作系统完全管理角色的验证工作,否则,角色将由数据

库验证和管理。例如,现创建一个TEST_ROLE角色,该角色由数据库验证,口令为TEST。SQL>CREATEROLETEST_ROLE2IDENTIFIEDBYTEST;14.4管理角色创建角色例如,向TEST_ROLE角色授予CREATEROLE的系统权限。SQL>GRANTCRE

ATEROLETOTEST_ROLE;例如,向TEST_ROLE角色授予查询SCOTT用户EMP表的对象权限。SQL>GRANTSELECTONSCOTT.EMPTOTEST_ROLE;例如,向TEST_ROLE角色授予

CONNECT角色。SQL>GRANTCONNECTTOTEST_ROLE;14.4管理角色授予角色【任务14.14】将TEST_ROLE角色授予TEST用户。使用授予角色权限语句GRANT可以将一个或多个角色授予用户或其它的角色,该

语句的语法为:GRANTrole[,role]...TO{user|role|PUBLIC}[,{user|role|PUBLIC}]...[WITHADMINOPTION];14.4管理角色授予角色其中

,各关键字和参数的含义为:role角色名称。通过一条语句可以将多个角色授予一个或多个用户、角色或PUBLIC公共工作组user用户名PUBLIC公共工作组。如果某一系统权限授予该工作组,那么数据库中的所有

用户都将具有该权限WITHADMINOPTION表示被授予者可以将该角色授予其他的用户14.4管理角色授予角色例如,将TEST_ROLE角色授予TEST用户。SQL>GRANTTEST_ROLETOTEST2WITHADMINOPTION;结果显示为:授

权成功。14.4管理角色授予角色缺省角色在用户登录上数据库时自动被激活。设置角色为缺省角色的语句语法为:ALTERUSERuserDEFAULTROLE{role[,role]...|ALL[EXCEPTrole[,role]...

]|NONE};14.4管理角色授予角色其中,各关键字和参数的含义为:User用户名role被设置为缺省角色的角色名。可以同时设置多个角色为缺省角色ALL设置所有角色为缺省角色EXCEPT除了所给出的角色外,所有角色均为缺省角色NONE

设置所有角色不为缺省角色14.4管理角色授予角色例如,将TEST用户的TEST_ROLE角色设置为缺省角色。SQL>ALTERUSERTEST2DEFAULTROLETEST_ROLE;结果显示为:用户已更改。14.4管理角色授予角色重新使用TEST用户身份登录数据库后,就

可以查询SCOTT用户的EMP表。因为TEST_ROLE角色中授予了查询SCOTT用户EMP表的权限。例如,将TEST用户的所有角色设置为缺省角色。SQL>ALTERUSERTEST2DEFAULTROLEALL;结果显示为:用户已更改。14.4管理角色授予角色例如,

将TEST用户的所有角色设置为非缺省角色。SQL>ALTERUSERTEST2DEFAULTROLENONE;结果显示为:用户已更改。14.4管理角色管理角色【任务14.15】将TEST_ROLE角色的口令修改为ROLE,并设置TEST_ROLE角色为

无效。14.4管理角色管理角色1.修改验证方法角色创建好之后,可以通过ALTERROLE语句对角色的验证方法进行修改,其语法为:ALTERROLErole{NOTIDENTIFIED|IDENTIFIED{BYpa

ssword|EXTERNALLY|GLOBALLY}};14.4管理角色管理角色1.修改验证方法其中,各关键字和参数的含义为:role角色名。角色名必须是唯一的,不能与数据库中的其他用户或角色重名。NOTIDENTIFIED当角色被激活和禁用时,不需要验证口令。该值为默认值。I

DENTIFIED当角色被激活和禁用时,需要验证口令。角色的认证方式有数据库认证和操作系统认证两种。password当角色被激活和禁用时需要输入的口令。EXTERNALLY使用外部服务进行认证。GLOBALLY使用Oracle安全服务器(Orac

leSecurityServer)进行认证。14.4管理角色管理角色1.修改验证方法例如,在上一个例子中创建的TEST_ROLE角色,该角色由数据库验证,口令为TEST,现将其口令改为ROLE。SQL>ALTERROLETE

ST_ROLE2IDENTIFIEDBYTEST;14.4管理角色管理角色2.激活和禁止角色在将角色授予用户后,用户可以在当前会话中控制角色的状态,可以激活角色使其有效,也可以禁止角色使其暂时无效。角色有效时,用户可以根据该角色具有的权限执行相应

的操作,角色无效时,用户就没有该角色拥有的权限。激活或禁止角色只在当前会话连接中生效,在新建的会话连接中,角色仍为默认状态。14.4管理角色管理角色2.激活和禁止角色激活和禁止语句的语法为:SETROLE{role[IDENTIFIEDBYpassword]

[,role[IDENTIFIEDBYpassword]]...|ALL[EXCEPTrole[,role]...]|NONE};14.4管理角色管理角色2.激活和禁止角色其中,各关键字和参数的含义为:role被激活或禁止的角色名。在SETRO

LE语句中可以同时激活和禁用多个角色。IDENTIFIED如果角色采用数据库认证方式,当角色被激活和禁用时,需要验证口令。password当角色被激活和禁用时需要输入的口令。ALL激活所有角色。EXC

EPT除了所给出的角色外,所有角色均被激活。NONE设置所有角色均被禁止。如果角色需要认证,不能使用该选项。14.4管理角色管理角色2.激活和禁止角色将用户TEST的角色TEST_ROLE设置为激活状态。SQL>SETROLETEST_ROLE2IDENTIFIEDBYTEST;将TEST_

ROLE角色设置为禁止状态。SQL>SETROLETEST_ROLENONE;14.4管理角色收回角色【任务14.16】从TEST用户中收回TEST_ROLE角色。REVOKE语句的语法为:REVOKErole[,role]FROM{user|r

ole|PUBLIC}[,{user|role|PUBLIC}];14.4管理角色收回角色从用户TEST收回TEST_ROLE角色。SQL>REVOKETEST_ROLE2FROMTEST;结果显示为:撤

销成功。14.4管理角色删除角色【任务14.17】删除TEST_ROLE角色。使用DROPROLE语句可以删除角色。在删除角色后,Oracle将从所有用户和角色中删除该角色,并将保存在数据字典中的有关该角色的信息删除掉。该语句

的语法为:DROPROLErole;14.4管理角色删除角色删除TEST_ROLE角色。SQL>DROPROLETEST_ROLE;结果显示为:角色已丢弃14.4管理角色查询角色信息视图名称说明DBA_ROLES描述了数据

库中所有角色的基本信息。DBA_ROLE_PRIVS描述了已授予用户和角色的角色信息。ROLE_ROL_PRIVS描述了已授予角色的角色信息。DBA_SYS_PRIVS描述了已授予用户和角色的系统权限信息。ROLE_SYS_PRIVS描述了已授予角色的系统权限信息

。ROLE_TAB_PRIVS描述了已授予角色的对象权限信息。SESSION_ROLES描述了当前会话中被激活的角色信息。14.4管理角色查询角色信息从DBA_ROLES视图中查询所用角色的基本信息。SQL>S

ELECT*FROMDBA_ROLES;结果显示为:ROLEPASSWORD------------------------------------------------CONNECTNORESOURCENODBANO…………14.4管理角色查询角色信息从

DBA_ROLE_PRIVS视图中查询已授予用户的角色。SQL>SELECT*FROMDBA_ROLE_PRIVS2WHEREGRANTEE='SCOTT';结果显示为:GRANTEEGRANTED_ROLEADMDEF------------------------------

-----------------------------------------SCOTTCONNECTNOYESSCOTTRESOURCENOYES14.4管理角色查询角色信息从SESSION_ROLES视图中查询当前会话被激活的角色。SQL>SELE

CT*FROMSESSION_ROLES;结果显示为:ROLE------------------------------DBASELECT_CATALOG_ROLEHS_ADMIN_ROLE…………14.5本章小结Oracle数据库和系统中的主要资源包括CPU时

间、输入输出操作、会话空闲时间、会话连接时间、内存空间等。Oracle通过概要文件管理这些有限资源,防止用户随意占用。此外,概要文件中还对用户的口令进行管理,如口令有效时间、口令到期时间、口令历史、口令复杂度验证以及帐号锁定等。管理概

要文件包括创建、分配、修改、删除和查看概要文件等。用户管理是Oracle非常重要的安全保护措施之一,是DBA安全策略中的重要组成部分。用户管理的主要内容包括用户合法性认证方式、用户存储空间管理、用户资源管理、用户权限和角色管理等。14.5本章小结权限是执行SQ

L语句或存取数据的权力。通过授予用户权限,用户可以对自己的模式对象进行查询、删除和修改等操作,也可以查询、删除和修改其它用户的模式对象。Oracle的权限可分为系统权限和对象权限有两类。系统权限是指允许用户执行一种特殊的数据库操作或一类数据库操作的权力。

对象权限是指执行某些特殊的SQL语句或者是访问某些对象的权利。Oracle可以将权限直接授予用户,也可以先将权限授予角色,然后再将角色授予用户。14.5本章小结角色是一组相关权限的集合。DBA可以使用角色为用户

授权,也可以从用户中收回角色。使用角色管理权限具有方便、简单等优点。角色管理主要包括创建、授予、收回、删除角色

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?