您好,欢迎访问三七文档
第7章系统安全管理数据库中保存了大量的数据,有些数据对企业是极其重要的,是企业的核心机密,必须保证这些数据和操作的安全。因此,数据库系统必须具备完善、方便的安全管理机制。Oracle中,数据库的安全性主要包括:(1)对用户登录进行身份认证。当用户登录到数据库系统时,系统对该用户的账号和口令进行认证,包括确认用户账户是否有效以及能否访问数据库系统。(2)对用户操作进行权限控制。当用户登录到数据库后,只能对数据库中的数据在允许的权限内进行操作。数据库管理员(简称DBA),对数据库的管理具有最高的权限。一个用户如果要对某一数据库进行操作,必须满足以下三个条件:(1)登录Oracle服务器时必须通过身份验证;(2)必须是该数据库的用户或者是某一数据库角色的成员;(3)必须有执行该操作的权限。在Oracle系统中,为了实现这种安全性,采取了用户、角色和概要文件等的管理策略。7.1用户Oracle有一套严格的用户管理机制,新创建的用户只有通过管理员授权才能获得系统数据库的使用权限,否则该用户只有连接数据库的权利。正是有了这一套严格的安全管理机制,才保证了数据库系统的正常运转,确保数据信息不泄露。7.1.1创建用户用户(USER)就是使用数据库系统的所有合法操作者。Oracle10g有两个基本用户:SYSTEM和SYS。创建用户就是建立一个安全、有用的帐户,并且这个帐户要有充分的权限和正确的缺省设置值。用户既可以在OEM中创建,也可以使用SQL命令来创建。7.1.1创建用户1.利用OEM创建用户(1)在图7.1所示的界面中,选中用户单击鼠标左键,进入“用户搜索”界面,如图7.2所示。图7.2列出了已存在的用户及帐户的状态、使用的概要文件和创建时间等用户基本信息。图7.1Oracle企业管理器7.1.1创建用户图7.2用户搜索界面7.1.1创建用户(2)单击“创建”按钮,进入“用户创建”界面,如图7.3所示。图7.3一般信息选项页面7.1.1创建用户(3)“一般信息”选项页面。“一般信息”选项页面包括如下几个方面:名称:将要创建的用户名,用户名一般采用Oracle10g字符集中的字符,最长可为30个字节。概要文件:指定分配给用户的概要文件。默认分配一个DEFAULT概要文件。验证:指定Oracle用来验证用户的方法。Oracle有3种验证用户的方法:口令、外部和全局。当使用口令验证时,选择“口令”选项;当使用操作系统用户名(在此是WIN2003的用户名)时,选择“外部”;当用户在多个数据库中被全局标识时,选择“全局”。输入口令和验证口令:只有在“验证”选择“口令”时才有效。只有在两者完全一致时才通过确认。口令即刻失效:撤消原来的口令,撤消后可以更改用户口令。默认表空间:为用户创建的对象选择默认表空间。临时表空间:为用户创建的对象选择临时表空间。状态—锁定:锁定用户的帐户并禁止访问该帐户。状态—未锁定:解除对用户帐户的锁定并允许访问该帐户。输入新用户名称NICK;分配给用户的概要文件为DEFAULT;设定自己的口令如manager;其它选项均为默认值。7.1.1创建用户(4)“角色”选项页面。角色选项页面如图7.4所示。在该选项页面中,可以把某些角色赋予新用户,这样新用户就继承了这些角色的权限。界面中的表格包括以下3列:①角色:角色名称。②管理理选项:表示新用户是否可以将角色授予其他用户或角色,默认情况下为禁用,用鼠标单击“管理选项”标记可以解除禁用。③默认值:选中后,表示用户一旦登录到系统中,系统将会将所选角色设置为用户默认的角色。新用户默认的拥有CONNECT角色的权限。单击“编辑列表”按钮,打开“修改角色”界面,如图7.5所示。“可用角色”列表框中列出了当前可用的角色。先在列表中选择要赋予新用户的角色,然后通过向右的箭头按钮或者双击该角色,把所选角色添加到“所选角色”列表中;通过向左的箭头或双击取消在“所选角色”列表中选中的角色。单击“确定”,界面返回到图7.5所示界面,此时在该界面可以看到刚才所选的角色。7.1.1创建用户图7.4角色选项页面图7.5修改角色界面7.1.1创建用户(5)“系统权限”选项页面。“系统权限”选项页面如图7.6所示。在该选项页面,赋予新用户指定的权限。单击“编辑列表”按钮,打开“修改系统权限”界面,如图7.7所示。图7.6系统权限选项页面图7.7修改系统权限界面7.1.1创建用户(6)对象权限选项页面。对象权限选项页面如图7.8所示。在该选项页面中,可以为新用户授予操纵指定对象的权限。图7.8对象权限选项页面7.1.1创建用户(7)在“选择对象类型”下拉框选择对象,如表,单击添加,打开“表对象”添加界面,如图7.9所示。图7.9添加对象权限界面7.1.1创建用户(8)单击“手电筒”形状的按钮,进入“选择表对象”界面,如图7.10所示。勾选要赋予权限的表,单击“选择”按钮,返回到如图7.9所示的界面,在此时在“选择表对象”列表框出现刚才选择所有表。图7.10选择表对象界面7.1.1创建用户在“可用权限”列表框选择相应权限,使用右箭头或双击鼠标左键把选中的系统权限添加到“所选权限”列表框中;使用左肩头取消“所选权限”列表框中所列出的所有已授予的权限。单击“确定”按钮,返回到图7.8所示界面,此时界面列出了所设置的表对象相应的权限情况。该界面列表列出了对象权限的信息:权限:表示已授予的权限。方案:表示已授予权限所属方案。对象:表示已授予的数据库对象。授权选项:是否可以授权给其他用户。选择要删除的对象权限,单击“删除”按钮可以删除该对象权限。根据实际情况,按照添加表对象权限的操作给新用户赋予相应的对象权限。7.1.1创建用户(9)限额选项页面。限额选项页面如图7.11所示。在该选项页面中对新用户指定对应表空间的大小限额。在列表中选择表空间并通过选择“无”、“无限制”或“值”单选按钮指定限额大小。在此对所有表空间选择“无”。图7.11限额选项页面7.1.1创建用户(10)使用者组切换权限选项页面。使用者组切换权限选项页面如图7.12所示。在该选项页面,可以为新用户授予相应的使用者组的权限。单击“修改”按钮,进入“修改使用者组”界面,如图7.13所示。图7.12使用者组切换权限选项页面图7.13修改使用者组界面7.1.1创建用户(11)代理用户选项页面。代理用户选项页面如图7.14所示。在该选项页面中可以指定可代理新用户的用户和指定新用户可代理的用户。图7.14代理用户选项页面7.1.1创建用户单击“可代理此用户的用户”栏的“添加”按钮,进入“用户选择”界面,如图7.15所示。勾选可代理新用户的用户,单击“选择”按钮,返回到图7.14所示界面,此时“可代理此用户的用户”栏出现刚才勾选的所有用户。若要删除某个用户,选中用户名前单选按钮,单击“移去”按钮,即可删除。图7.15用户选择界面7.1.1创建用户至此,新用户的所有信息以及权限都已设置完成,单击“显示SQL”按钮,可以查看创建该用户相应的SQL命令,如图7.16所示。在图7.15所示界面中单击“确定”按钮,系统完成创建工作后返回到图7.2所示界面,完成创建用户操作过程。图7.16创建新用户的SQL语句7.1.1创建用户2.利用SQL语句创建用户可以使用CREATEUSER命令来创建一个新的数据库用户帐户,但是创建者必须具有CREATEUSER系统权限。语法格式:CREATEUSERuser_name/*将要创建的用户名*/[IDENTIFIEDBYpassword|EXTERNALLLY|GLOBALLYAS‘external_name’]/*表明Oracle如何验证用户*/[DEFAULTTABLESPACEtablespace_name]/*标识用户所创建对象的缺省表空间*/[TEMPORARYTABLESPACEtablespace_name]/*标识用户的临时段的表空间*/[QUOTAintegerK|integerM|UNLIMTEDONtablespace_name]/*用户规定的表空间存储对象,最多可达到这个定额规定的总尺寸*/[PROFILEprofile_name]/*将指定的概要文件分配给用户*/[DEFAULTROLErole,…n∣ALL[EXCEPTrole,…n]∣NONE][PASSWORDEXPIRE][ACCOUNTLOCK|NULOCK]/*帐户是否锁定*/7.1.1创建用户2.利用SQL语句创建用户其中:user_name:将要创建用户的名称。IDENTIFIED:表示Oracle如何验证用户。BYpassword:创建一个本地用户,该用户必须指定password进行登录。Password只能包含数据库字符集中的单字节字符,而不管该字符集是否还包含多字节字符。EXTERNALLY:创建一个外部用户,该用户必须由外部服务程序(如操作系统或第三方服务程序)来进行验证。GLOBALLYAS‘external_name’:创建一个全局用户(globaluser),必须由企业目录服务器验证用户。DEFAULTTABLESPACE:标识用户所创建对象的缺省表空间为tablespace_name指定的表空间。如果忽略该子句就放入SYSTEM表空间。TEMPORARYTABLESPACE:标识用户的临时段的表空间为tablespace_name指定的表空间。如果忽略该子句,临时段就缺省为SYSTEM表空间。QUOTA:允许用在以tablespace_name指定的表空间中分配空间定额并建立一个integer字节的定额,使用K或M来指定该定额,以千字节或兆字节为单位。PROFILE:将profile_name指定的概要文件分配给用户。该概要文件限制用户可使用的数据库资源的总量。DEFAULTROLE:允许将一个或多个缺省角色分配给用户。Role是将要分配的预定义角色,n代表可以分配多个,中间用“,”隔离。ALL[EXCEPT]role:把所有预定义的角色分配给用户,或把指定的那些角色除外的所有角色分配给用户。NONE:不分配给用户角色。PASSWORDEXPIRE:使用户的password失效。ACCOUNTLOCK:锁定用户的帐户并禁止访问。ACCOUNTUNLOCK:解除用户的帐户的锁定并允许访问该帐户。7.1.1创建用户【例7.1】创建一个名称为AUTHOR的用户,口令为ANGEL,缺省表空间为USERS,临时表空间为TEMP。没有定额,使用缺省概要文件。CREATEUSERAUTHORIDENTIFIEDBYANGELDEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP;当使用CREATEUSER语句创建用户时,该用户权限域为空。可以使用该用户登录到Oracle,但使用该用户不能进行任何操作。给用户授予权限可以使用GRANT语句来实现。语法格式:GRANTsystem_priv|roleTOuser[WITHADMINOPTIN]其中:system_priv:要授予的系统权限。如果把权限授予了user,Oracle就把权限添加到该用户的权限域,该用户立即可使用该权限。Role:要授予的角色,一旦授予用户角色,该用户就能行使该角色的权限。WITHADMINOPTIN:把向其他用户授权的能力传递给被授予者。7.1.1创建用户【例7.2】授予例7.1所创建的用户AUTHOR以DBA的角色。GRANTDBATOAUTHOR;授予用户AUTHOR一些系统权限,并且该用户可以向其他用户授权。GRANTCREATEANYTABLE,CREATEANYVIEWTOAUTHORWITHADMINOPTION;【例7.3】重新创建用户AUTHOR,口令为ANGEL,缺省表空间为USERS,临时表空间为TEMP。没有定额,使用缺省概要文件,授予所有预定义角色,登录数据库前修改口令。DROPUSERAUTHOR;CREATEUSERAUTHORIDENTIFIEDBYANGELDEFAULTTABLESPACE
本文标题:系统安全管理
链接地址:https://www.777doc.com/doc-1267964 .html