您好,欢迎访问三七文档
数据库安全管理主要内容用户管理权限管理角色管理概要文件管理审计用户管理Oracle数据库初始用户SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典;SYSTEM:是一个辅助的数据库管理员SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。要为数据库中每个用户都授予某个权限,只需把权限授予PUBLIC就可以了。用户属性用户身份认证方式默认表空间临时表空间表空间配额概要文件账户状态身份认证方式(sysdba身份)操作系统认证条件:文件$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA中的SQLNET.AUTHENTICATION_SERVICES=(NTS)当前登录操作系统的用户必须属于OraDBA组方式:Sqlplus/assysdbaconn/assysdba身份认证方式(sysdba身份)密码文件认证条件:初始化参数REMOTE_LOGIN_PASSWORDFILE=Exclusive或者Shared当前登录操作系统的用户必须属于OraDBA组方式:Sqlplus用户名/密码assysdbaconn用户名/密码assysdba身份认证方式(Normal身份)普通用户的数据库认证方式密码认证方式:条件:没有条件,任何时候都可以Sqlplus用户名/密码conn用户名/密码操作系统认证方式:条件:文件$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA中的SQLNET.AUTHENTICATION_SERVICES=(NTS)Sqlplus/conn/创建用户CreateUser用户名IdentifiedBy口令DefaultTablespace默认表空间TemporaryTablespace临时表空间Quota数值K|数值M|Unlimitedon表空间Profile概要文件名Defaultrole默认角色PasswordExpireAccountLock|Unlock;举例CreateuseraIdentifiedbya1234DefaulttablespaceusersQuota10Monusers;注意在创建新用户后,必须为用户授予适当的权限,用户才可以进行相应的数据库操作。例如,授予用户CREATESESSION权限后,用户才可以连接到数据库。修改用户ALTERUSERuser_name[IDENTIFIED][BYpassword|EXTERNALLY|GLOBALLYAS'external_name'][DEFAULTTABLESPACEtablespace_name][TEMPORARYTABLESPACEtemp_tablesapce_name][QUOTAnK|M|UNLIMITEDONtablespace_name][PROFILEprofile_name][DEFAULTROLErole_list|ALL[EXCEPTrole_list]|NONE][PASSWORDEXPIRE][ACCOUNTLOCK|UNLOCK];删除用户基本语法DROPUSERuser_name[CASCADE];步骤先删除用户所拥有的对象再删除用户将参照该用户对象的其他数据库对象标志为INVALID处于连接状态的用户不可删除查询用户信息ALL_USERS:包含数据库所有用户的用户名、用户ID和用户创建时间。DBA_USERS:包含数据库所有用户的详细信息。USER_USERS:包含当前用户的详细信息。DBA_TS_QUOTAS:包含所有用户的表空间配额信息。USER_TS_QUOTAS:包含当前用户的表空间配额信息。V$SESSION:包含用户会话信息。V$OPEN_CURSOR:包含用户执行的SQL语句信息。查看数据库所有用户名及其默认表空间。SELECTSERNAME,DEFAULT_TABLESPACEFROMDBA_USERS;查看数据库中各用户的登录时间、会话号。SELECTSID,SERIAL#,LOGON_TIME,USERNAMEFROMV$SESSION;权限管理权限管理概述系统权限管理对象权限管理查询权限信息12.3.1权限管理概述所谓权限就是执行特定类型SQL命令或访问其他用户的对象的权利。系统权限:系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。例如,CREATESESSION权限、CREATEANYTABLE权限。对象权限:对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。授权方法直接授权:利用GRANT命令直接为用户授权。间接授权:先将权限授予角色,然后再将角色授予用户。授权Grant系统权限to用户名[withadminoption]Grantsysdbato用户名Grant对象权限on对象名to用户名[withgrantoption]对象权限适合对象对象权限功能说明SELECT表、视图、序列查询数据操作UPDATE表、视图更新数据操作DELETE表、视图删除数据操作INSERT表、视图插入数据操作REFERENCES表在其他表中创建外键时可以引用该表EXECUTE存储过程、函数、包执行PL/SQL存储过程、函数和包READ目录读取目录ALTER表、序列修改表或序列结构INDEX表为表创建索引ALL具有对象权限的所有模式对象某个对象所有对象权限操作集合撤销权限revoke系统权限from用户名revokesysdbafrom用户名revoke对象权限on对象名from用户名WITHADMINOPTION当甲用户授权给乙用户,且激活该选项,则被授权的乙用户具有管理该权限的能力:或者能把得到的权限再授给其他用户丙,或者能回收授出去的权限。当甲用户收回乙用户的权限后,乙用户曾经授给丙用户的权限仍然存在与WITHGRANTOPTION比较当甲用户授权给乙用户,且激活该选项,则被授权的乙用户具有管理该权限的能力:或者能把得到的权限再授给其他用户丙,或者能回收授出去的权限。当甲用户收回乙用户的权限后,乙用户曾经授给丙用户的权限也被回收。撤销具有ADMINOPTION系统权限GRANTREVOKEREVOKECREATETABLEFROMjeff;用户权限对象DBAJeffEmiJeffEmiDBA撤销具有GRANTOPTION对象权限GRANTREVOKEBobJeffEmiEmiJeffBob查询权限信息DBA_TAB_PRIVS:包含数据库所有对象的授权信息ALL_TAB_PRIVS:包含数据库所有用户和PUBLIC用户组的对象授权信息USER_TAB_PRIVS:包含当前用户对象的授权信息DBA_COL_PRIVS:包含所有字段已授予的对象权限ALL_COL_PRIVS:包含所有字段已授予的对象权限信息USER_COL_PRIVS:包含当前用户所有字段已授予的对象权限信息。DBA_SYS_PRIVS:包含授予用户或角色的系统权限信息USER_SYS_PRIVS:包含授予当前用户的系统权限信。角色具有名称的一组权限的定义。使用角色可以简化对用户的授权,只需要将用户添加到角色中,用户自动具有该角色所有的权限。系统角色用户自定义角色Oracle数据库角色概述角色的概念所谓角色就是一系列相关权限的集合MANAGER1用户MANAGER2EMPLOYEE1EMPLOYEE2角色权限HR_MGRHR_EMPCREATESESSIONCREATETABLESELECTONJOBSINSERTONJOBSUPDATEONJOBS预定义角色预定义角色概述预定义角色是指在Oracle数据库创建时由系统自动创建的一些常用的角色,这些角色已经由系统授予了相应的权限。DBA可以直接利用预定义的角色为用户授权,也可以修改预定义角色的权限。Oracle数据库中有30多个预定义角色。可以通过数据字典视图DBA_ROLES查询当前数据库中所有的预定义角色,通过DBA_SYS_PRIVS查询各个预定义角色所具有的系统权限。创建角色Createrole角色名[Notidentified|Identifiedby口令]给角色分配权限Grant系统权限to角色名Grant对象权限on对象名to角色名Grant角色to角色名说明给角色授予适当的系统权限、对象权限或已有角色。在数据库运行过程中,可以为角色增加权限,也可以回收其权限。给角色授权时应该注意,一个角色可以被授予另一个角色,但不能授予其本身,不能产生循环授权。收回权限revoke系统权限from角色名revoke对象权限on对象名from角色名revoke角色from角色名将用户添加到角色中Grant角色名to用户名Revoke角色名from用户名查询角色信息DBA_ROLES:包含数据库中所有角色及其描述;DBA_ROLE_PRIVS:包含为数据库中所有用户和角色授予的角色信息;USER_ROLE_PRIVS:包含为当前用户授予的角色信息;ROLE_ROLE_PRIVS:为角色授予的角色信息;ROLE_SYS_PRIVS:为角色授予的系统权限信息;ROLE_TAB_PRIVS:为角色授予的对象权限信息;SESSION_PRIVS:当前会话所具有的系统权限信息;SESSION_ROLES:当前会话所具有的角色信息。。查询角色CONNECT所具有的系统权限信息。SELECT*FROMROLE_SYS_PRIVSWHEREROLE='CONNECT';查询DBA角色被授予的角色信息。SELECT*FROMROLE_ROLE_PRIVSWHEREROLE='DBA';概要文件概要文件(PROFILE)是数据库和系统资源限制的集合,是Oracle数据库安全策略的重要组成部分。利用概要文件,可以限制用户对数据库和系统资源的使用,同时还可以对用户口令进行管理。在Oracle数据库创建的同时,系统会创建一个名为DEFAULT的默认概要文件。如果没有为用户显式地指定一个概要文件,系统默认将DEFAULT概要文件作为用户的概要文件。必须将Resource_limit参数设置为true,概要文件才会生效概要文件OEM创建Createprofilelimit创建创建或修改用户时启用概要文件CREATEPROFILEPRO2LIMITCPU_PER_SESSION6000CPU_PER_CALL10CONNECT_TIME10IDLE_TIME3SESSIONS_PER_USER1LOGICAL_READS_PER_SESSION20LOGICAL_READS_PER_CALL2PRIVATE_SGADEFAULTCOMPOSITE_LIMITDEFAULTPASSWORD_LIFE_TIME7PASSWORD_GRACE_TIME2PASSWORD_REUSE_MAX2PASSWORD_REUSE_TIMEunlimitedPASSWORD_LOCK_TIME1FAILED_LOGIN_ATTEMPTS3PASSWORD_VERIFY_FUNCTIONDEFAULT审计监视和记录所选用户的数据活动,用于调查可疑活动,监视与收集特定数据库活动的记录。需要先开启审计功能Altersystemsetaudit_trail=truescope=spfile重启数据库Oracle11g默认审计功能是开启的指定审计选项审计SQL语句:审计系统权限:审计对象权限:AUDITselectanytable,createanytrigger;AUDITselectanytabl
本文标题:数据库安全管理
链接地址:https://www.777doc.com/doc-1263035 .html