第10章用户权限与安全

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库原理与应用(Oracle版)人民邮电出版社2第10章用户权限与安全10.1用户和模式10.2管理用户10.3用户配置文件管理10.4管理权限10.5管理角色10.1用户和模式由于Oracle中的对象是一种基于模式的管理方式,每个数据库对象都显式地属于一个用户,属于这个用户的对象的集合称为模式(Schema),通过灵活地控制用户的权限,即可灵活地控制用户模式对象的安全性。用户是定义在数据库中的一个名称,它是Oracle数据库的基本访问控制机制,用来连接和访问数据库对象。人民邮电出版社310.1用户和模式“数据库用户账户”是一种组织数据库对象的所有权和访问权限的方法,简称用户。要访问数据库,用户必须指定有效的数据库用户账户,而且还要根据该用户账户的要求成功通过验证。每个数据库用户都有一个唯一的数据库账户。每个数据库用户账户都由用户名标识,用户的属性(包括:认证方式、用于数据库认证的口令、用于永久和临时数据存储的默认表空间、表空间限额、账户状态、口令状态)组成。人民邮电出版社410.1用户和模式“数据库用户账户”是一种组织数据库对象的所有权和访问权限的方法,简称用户。要访问数据库,用户必须指定有效的数据库用户账户,而且还要根据该用户账户的要求成功通过验证。每个数据库用户都有一个唯一的数据库账户。每个数据库用户账户都由用户名标识,用户的属性(包括:认证方式、用于数据库认证的口令、用于永久和临时数据存储的默认表空间、表空间限额、账户状态、口令状态)组成。人民邮电出版社510.1用户和模式模式(Schema)对Oracle来说,模式是指数据库对象的集合,是对用户所创建的数据对象的总称。模式对象是数据库数据的逻辑结构,包括表、视图、索引、同义词、序列、过程和程序包等。一个用户一般对应一个模式,该用户的模式名等于用户名,并作为该用户缺省的模式。一个用户有一个缺省的模式,当然一个用户还可以使用其他的模式。人民邮电出版社610.2管理用户Oracle数据库的安全保护流程可以总结为3个步骤:首先,用户向数据库提供身份识别信息,即提供一个数据库账号;其次,用户还需要证明他们所给出的身份识别信息是有效的,这是通过输入口令实现的;最后,假设口令是正确的,那么数据库认为身份识别信息是可信赖的。此时,数据库将会在基于身份识别信息的基础上决定用户所拥有的权限,即用户可以对数据库执行什么操作。人民邮电出版社710.2管理用户数据库的存取控制包括:用户认证操作系统认证、Oracle数据库认证、网络服务认证用户的表空间设置和配额用户的缺省表空间、用户的临时表空间、数据库表空间的空间使用配额用户资源限制和配置文件用户可用的各种系统资源总量的限制是用户安全域的部分。利用显式地设置资源限制,管理员可防止用户无控制地消耗宝贵的系统资源。资源限制是由用户配置文件管理。用户配置文件是指定资源限制的命名集,可赋给Oracle数据库的有效用户。利用用户配置文件可容易地管理资源限制。人民邮电出版社810.2管理用户创建用户CREATEUSER用户名IDENTIFIEDBY口令[DEFAULTTABLESPACE缺省表空间名][TEMPORARYTABLESPACE临时表空间名][QUOTA存储空间配额[K|M]|UNLIMITEDON缺省表空间名][PROFILE配置文件名][PASSWORDEXPIRE][ACCOUNTLOCK|UNLOCK];人民邮电出版社910.2管理用户创建用户以system/ustb2012身份创建一个用户tom,其口令是ustb2012,默认的表空间是users,零时表空间是temp,并授予其CREATESESSION权限。SQLCONNsystem/ustb2012SQLCREATEUSERtomIDENTIFIEDBYustb2012DEFAULTTABLESPACEusersTEMPORARYTABLESPACEtempQUDTA3MONusers;SQLGRANTCREATESESSIONtotom;人民邮电出版社1010.2管理用户修改用户在创建用户之后,可以使用ALTERUSER语句对用户进行修改,一般由DBA或具有ALTERUSER系统权限的用户来进行用户的修改。对用户的修改包括:口令、缺省表空间、临时表空间、表空间配额、配置文件、缺省角色、用户账户的锁定或解锁等。修改口令以tom登录,并使用ALTERUSER修改其自己的口令为ustb2013。SQLCONNtom/ustb2012SQLALTERUSERtomBYustb2013;人民邮电出版社1110.2管理用户修改用户的默认表空间的语法如下:ALTERUSER用户名[DEFAULTTABLESPACE新缺省表空间名][TEMPORARYTABLESPACE新临时表空间名]修改用户的表空间配额【例10.3】以system/ustb2012身份将tom用户的users表空间的配额修改为100M。SQLCONNsysytem/ustb2012SQLALTERUSERtomQUOTA100MONusers;人民邮电出版社1210.2管理用户删除用户使用DROPUSER语句可以删除已有的用户,执行该语句的用户必须具有DROPUSER系统权限。删除用户后,Oracle会从数据字典中删除用户、模式及其所有模式对象。语法如下:DROPUSER用户名[CASCADE];显示用户信息1)显示当前会话用户:SQLSHOWUSER2)显示用户信息SQLSELECTusername,default_tablespace,temporary_tablespaceFROMDBA_USERS;人民邮电出版社1310.3用户配置文件管理用户配置文件作为Oracle安全策略的重要组成部分,利用它可以对数据库用户进行基本的资源限制,并且可以对用户的口令进行管理。用户配置文件(PROFILE)是口令限制、资源限制的命名集合。人民邮电出版社1410.3用户配置文件管理使用用户配置文件管理口令使用配置文件可以实现如下三种口令策略:(1)账户的锁定(2)口令的过期时间(3)口令的复杂度人民邮电出版社1510.3用户配置文件管理例如,您可能希望让口令每70天失效一次,也可能希望在用户账户尝试登录3次均失败后锁定该用户账户。您可能还希望要求口令足够复杂,以便针对企图通过猜出口令进入系统的入侵者提供合理的保护。例如,您可能指定,口令必须包含至少一个数字和一个标点符号。所有这些要求都可以通过修改DEFAULT配置文件的与口令相关的属性,来更改数据库中每个用户账户的口令策略。ALTERPROFILEDEFAULTLIMITPASSWORD_LIFE_TIME70FAILED_LOGIN_ATTEMPTS3PASSWORD_LOCK_TIME1PASSWORD_GRACE_TIME7PASSWORD_REUSE_TIMEUNLIMITEDPASSWORD_REUSE_MAXUNLIMITEDPASSWORD_VERIFY_FUNCTIONmy_verify_function;人民邮电出版社1610.3用户配置文件管理使用用户配置文件管理资源大部分资源限制都可以在两个级别进行:会话级或调用级。会话级资源限制是对用户在一个会话过程中所能使用的资源进行的限制;调用级资源限制是对一条SQL语句在执行过程中所能使用的资源进行的限制。人民邮电出版社1710.3用户配置文件管理创建用户配置文件【例10.5】假设现在要为用户tom创建一个用户配置文件,口令策略及资源限制如下:每30天修改一次登录口令,用户账户尝试登录3次均失败后锁定该用户账户,使用VERIFY_FUNCTION_11G函数对用户口令进行验证,最多只能建立5个数据库会话,每个会话持续连接到数据库的最长时间为60分钟,保持30分钟的空闲会话被自动断开,会话中每条SQL语句最多只能读取1000个数据块,会话中每条SQL语句最多占用100个单位的CPU时间。SQLCREATEPROFILEtomProfileLIMITSESSIONS_PER_USER5CPU_PER_SESSIONUNLIMITEDCPU_PER_CALL100CONNECT_TIME60IDLE_TIME30LAGICAL_READS_PER_SESSIONUNLIMITEDLAGICAL_READS_PER_CALL1000PASSWORD_LIFE_TIME30FAILED_LOGIN_ATTEMPTS3PASSWORD_VERIFY_FUNCTIONVERIFY_FUNCTION_11G;人民邮电出版社1810.3用户配置文件管理修改用户配置文件【例10.7】下面的语句对PROFILE文件RESOURCE_LIMIT进行修改。SQLALTERPROFILERESOURCE_LIMITLIMITCPU_PER_SESSION15000SESSIONS_PER_USER5CPU_PER_CALL500PASSWORD_LIFE_TIME30FAILED_LOGIN_ATTEMPTS5;人民邮电出版社1910.3用户配置文件管理删除用户配置文件使用DROPPROFILE语句可以删除配置文件。如果要删除的配置文件已经被指定给了用户,则必须在DROPPROFILE语句中使用CASCADE关键字。【例10.8】删除上面建立的配置文件tomProfile。SQLDROPPROFILEtomProfileCASCADE;人民邮电出版社2010.4管理权限权限是指执行特定类型SQL语句或访问另一用户的模式对象的权利。权限包括系统权限和对象权限2种类型。1)系统权限:是指执行特定类型SQL语句或者在对象类型上执行一种特定动作的权利,它用于控制用户可以执行的一个或一组数据库操作。人民邮电出版社21Oracle提供的常用系统权限系统权限作用CREATESESSION允许用户连接到数据库CREATETABLE允许用户建表CREATEVIEW允许用户建立视图CREATEPUBLICSYNONYM允许用户建立同义词CREATESEQUENCE允许用户建立序列CREATEPROCEDURE允许用户建立过程、函数和包CREATETRIGGER允许用户建立触发器CREATECLUSTER允许用户建立簇CREATETYPE允许用户建立对象类型CREATEDATABASELLNK允许用户建立数据库链10.4管理权限权限2)对象权限:是指访问其他模式对象(表、视图、序列、过程、函数和包)的权利,它用于控制用户对其他模式对象的访问。人民邮电出版社22Oracle的对象权限对象权限表视图序列过程、函数和包权限描述ALTER允许用户修改表和序列DELETE允许用户删除表和视图中的数据EXECUTE允许用户执行过程和函数INDEX允许用户在表上创建索引INSERT允许用户向表或视图中插入记录REFERENCES允许用户在表上创建外键SELECT允许用户查询表、视图或序列的值UPDATE允许用户对表或视图进行更新10.4管理权限管理系统权限授予系统权限GRANT系统权限[,系统权限,…]TO{用户|角色|PUBLIC}[,{用户|角色|PUBLIC}]…[WITHADMINOPTION];撤销系统权限REVOKE系统权限[,系统权限,…]FROM{用户|角色|PUBLIC}[,{用户|角色|PUBLIC}]…人民邮电出版社2310.4管理权限管理对象权限授予对象权限GRANTALL[PRIVILEGES]|对象权限[,对象权限,…]ON[模式名称.]对象名称TO{用户|角色|PUBLIC}[,{用户|角色|PUBLIC}]…[WITHGRANTOPTION][WITHHIERARCHYOPTION];撤销对象权限的语法如下:REVOKEALL[PRIVILEG

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功