数据库安全管理课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
普通用户的数据库认证方式密码认证方式:条件:没有条件,任何时候都可以Sqlplus 用户名/密码conn 用户名/密码操作系统认证方式: 条件:文件$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA中的SQLNET.AUTHENTICATION_SERVICES=(NTS)Sqlplus /conn /
READ
目录
读取目录
ALTER
表、序列
修改表或序列结构
INDEX

为表创建索引
ALL
具有对象权限的所有模式对象
某个对象所有对象权限操作集合
撤销权限
revoke 系统权限 from 用户名revoke sysdba from 用户名revoke 对象权限 on 对象名 from 用户名
WITH ADMIN OPTION当甲用户授权给乙用户,且激活该选项,则被授权的乙用户具有管理该权限的能力:或者能把得到的权限再授给其他用户丙,或者能回收授出去的权限。当甲用户收回乙用户的权限后,乙用户曾经授给丙用户的权限仍然存在与WITH GRANT OPTION比较当甲用户授权给乙用户,且激活该选项,则被授权的乙用户具有管理该权限的能力:或者能把得到的权限再授给其他用户丙,或者能回收授出去的权限。当甲用户收回乙用户的权限后,乙用户曾经授给丙用户的权限也被回收。
AUDIT ALL on hr.employees;
AUDIT UPDATE,DELETE on hr.employees BY ACCESS;
身份认证方式(sysdba身份)
密码文件认证条件:初始化参数REMOTE_LOGIN_PASSWORDFILE =Exclusive 或者 Shared当前登录操作系统的用户必须属于OraDBA组 方式:Sqlplus用户名/密码 as sysdbaconn 用户名/密码 as sysdba
身份认证方式(Normal身份)
角色
具有名称的一组权限的定义。使用角色可以简化对用户的授权,只需要将用户添加到角色中,用户自动具有该角色所有的权限。系统角色用户自定义角色
Oracle数据库角色概述
角色的概念所谓角色就是一系列相关权限的集合
预定义角色
预定义角色概述预定义角色是指在Oracle数据库创建时由系统自动创建的一些常用的角色,这些角色已经由系统授予了相应的权限。DBA可以直接利用预定义的角色为用户授权,也可以修改预定义角色的权限。 Oracle数据库中有30多个预定义角色。可以通过数据字典视图DBA_ROLES查询当前数据库中所有的预定义角色,通过DBA_SYS_PRIVS查询各个预定义角色所具有的系统权限。
PASSWORD_REUSE_TIME unlimited
PASSWORD_LOCK_TIME 1
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_VERIFY_FUNCTION DEFAULT
审计
监视和记录所选用户的数据活动,用于调查可疑活动,监视与收集特定数据库活动的记录。需要先开启审计功能Alter system set audit_trail=true scope=spfile重启数据库Oracle 11g默认审计功能是开启的
创建用户
Create User<用户名>Identified By <口令>Default Tablespace <默认表空间>Temporary Tablespace <临时表空间>Quota 数值K| 数值M| Unlimited on 表空间Profile 概要文件名Default role 默认角色Password ExpireAccount Lock|Unlock;
12.3.1权限管理概述
所谓权限就是执行特定类型SQL命令或访问其他用户的对象的权利。系统权限:系统权限是指在数据库级别执行某种操作的权限,或针对某一类对象执行某种操作的权限。例如,CREATE SESSION权限、CREATE ANY TABLE权限。对象权限:对象权限是指对某个特定的数据库对象执行某种操作的权限。例如,对特定表的插入、删除、修改、查询的权限。
对 象 权 限
适 合 对 象
对象权限功能说明
SELECT
表、视图、序列
查询数据操作
UPDATE
表、视图
更新数据操作
DELETE
表、视图
删除数据操作
INSERT
表、视图
插入数据操作
REFERENCES

在其他表中创建外键时可以引用该表
EXECUTE
存储过程、函数、包
执行PL/SQL存储过程、函数和包
授权方法直接授权:利用GRANT命令直接为用户授权。间接授权:先将权限授予角色,然后再将角色授予用户。
授权
Grant 系统权限 to 用户名 [with admin option]Grant sysdba to 用户名Grant 对象权限 on 对象名 to 用户名[with grant option]
LOGICAL_READS_PER_SESSION 20
LOGICAL_READS_PER_CALL 2
PRIVATE_SGA DEFAULT
COMPOSITE_IMIT DEFAULT
PASSWORD_LIFE_TIME 7
PASSWORD_GRACE_TIME 2
PASSWORD_REUSE_MAX 2
查询角色CONNECT所具有的系统权限信息。 SELECT * FROM ROLE_SYS_PRIVS WHERE ROLE='CONNECT'; 查询DBA角色被授予的角色信息。SELECT * FROM ROLE_ROLE_PRIVS WHERE ROLE='DBA';
概要文件
概要文件(PROFILE)是数据库和系统资源限制的集合,是Oracle数据库安全策略的重要组成部分。利用概要文件,可以限制用户对数据库和系统资源的使用,同时还可以对用户口令进行管理。在Oracle数据库创建的同时,系统会创建一个名为DEFAULT的默认概要文件。如果没有为用户显式地指定一个概要文件,系统默认将DEFAULT概要文件作为用户的概要文件。必须将Resource_limit参数设置为true,概要文件才会生效
指定审计选项
审计 SQL 语句:
审计系统权限: 审计对象权限:
AUDIT select any table, create any trigger;
AUDIT select any table BY hr BY SESSION;
AUDIT table;AUDIT session;
收回权限
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:当前会话所具有的角色信息。。
用户属性用户身份认证方式默认表空间临时表空间表空间配额 概要文件 账户状态
身份认证方式(sysdba身份)
操作系统认证条件:文件$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA中的SQLNET.AUTHENTICATION_SERVICES=(NTS)当前登录操作系统的用户必须属于OraDBA组 方式:Sqlplus / as sysdbaconn / as sysdba
概要文件
OEM创建Create pro创建创建或修改用户时启用概要文件
CREATE PROFILE "PRO2" LIMIT CPU_PER_SESSION 6000
CPU_PER_CALL 10
CONNECT_TIME 10
IDLE_TIME 3
SESSIONS_PER_USER 1
删除用户
基本语法DROP USER user_name [ CASCADE ];步骤先删除用户所拥有的对象再删除用户将参照该用户对象的其他数据库对象标志为INVALID处于连接状态的用户不可删除
查询用户信息
ALL_USERS:包含数据库所有用户的用户名、用户ID和用户创建时间。DBA_USERS:包含数据库所有用户的详细信息。USER_USERS:包含当前用户的详细信息。 DBA_TS_QUOTAS:包含所有用户的表空间配额信息。USER_TS_QUOTAS:包含当前用户的表空间配额信息。V$SESSION:包含用户会话信息。V$OPEN_CURSOR:包含用户执行的SQL语句信息。
主要内容
用户管理 权限管理 角色管理概要文件管理审计
用户管理
Oracle数据库初始用户 SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典; SYSTEM:是一个辅助的数据库管理员SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。要为数据库中每个用户都授予某个权限,只需把权限授予PUBLIC就可以了。
查看数据库所有用户名及其默认表空间。SELECT SERNAME,DEFAULT_TABLESPACE FROM DBA_USERS; 查看数据库中各用户的登录时间、会话号。SELECT SID,SERIAL#,LOGON_TIME,USERNAME FROM V$SESSION;
权限管理
权限管理概述系统权限管理对象权限管理查询权限信息
举例
Create user aIdentified by a1234Default tablespace usersQuota 10M on users;注意在创建新用户后,必须为用户授予适当的权限,用户才可以进行相应的数据库操作。例如,授予用户CREATE SESSION权限后,用户才可以连接到数据库。
撤销具有ADMIN OPTION系统权限
撤销具有GRANT OPTION对象权限
查询权限信息
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:包含授予当前用户的系统权限信。
创建角色
Create role 角色名[Not identified |Identified by 口令]
给角色分配权限
Grant 系统权限 to 角色名Grant 对象权限 on 对象名 to 角色名Grant 角色 to 角色名说明给角色授予适当的系统权限、对象权限或已有角色。在数据库运行过程中,可以为角色增加权限,也可以回收其权限。给角色授权时应该注意,一个角色可以被授予另一个角色,但不能授予其本身,不能产生循环授权。
修改用户
ALTER USER user_name [IDENTIFIED][BY password|EXTERNALLY|GLOBALLY AS 'external_name'][DEFAULT TABLESPACE tablespace_name][TEMPORARY TABLESPACE temp_tablesapce_name][QUOTA n K|M|UNLIMITED ON tablespace_name][PRO][DEFAULT ROLE role_list|ALL [EXCEPT role_list] |NONE][PASSWORD EXPIRE][ACCOUNT LOCK|UNLOCK];
相关文档
最新文档