目标
创建和管理数据库用户账户
授予和撤销权限
创建和管理角色
创建和管理配置文件
实现数据库安全和最小权限原则
使用标准数据库审核
创建和管理数据用户账户
用户账户属性
用户名
必须唯一
身份认证方法
默认表空间
表空间配额
临时空间配额
临时表空间
用户配置文件
账户状态
授予和撤销权限
创建会话
create session 允许用户连接
受限制的呼唤
restricted session
更改数据库
alter database 允许访问多个修改物理结构所需额命令
更改系统
alter system 允许控制实例参数和内存结构
创建表空间
alter tablespace 和 drop tablespace
创建表
允许被授权人在主机的模式中创建表
授予任何对象权限
grant any object privilege
创建任何表
create any table
删除任何表
drop any table
插入任何表 更新任何表 删除任何表
insert any table,update any table,delete any table
选择任何表
select any table 被授权人可以对数据库中的任何表执行select 任何操作。
授予权限
grant create session to leipore;
允许一个变体被授权人将权限传递给第三方
grant create table to leipore with admin option;
创建和管理角色
grant insert,update,delete on hr.employees to leipore;
创建管理者角色
create role hr_manager;
grant all on hr.regions to hr_manager;
grant all on hr.location to hr_manager;
grant all on hr.ployees to hr_manager;
预先定义的角色
connect 此版本只有create session权限
resource 此角色可以创建数据对象的过程对象,包括unlimitedtablespace权限
DBA 拥有绝大多数权限 除了unlimited tablespace
select_catalog_role 拥有针对数据字典对象的2000多个对象权限,没有系统去啊年货针对用户的权限。
scheduler_admin 拥有用于管理调度服务的调度程序作业所需的系统权限
启用角色
创建和管理配置文件
实施口令策略并限制会话可以占用的资源。配置文件的资源限制只有在实例参数 resource_limit 为ture才生效
管理口令
faled_login_attempts 指定在锁定账户前,口令
CPU_PER_SESSion 强制终止会话前,允许会话的服务器进程使用的CPU时间
logical_reads_per_session 在墙绘终止某条SQL 语句前
logical_reads_per_call 在强制终止单个语句前,此语句可以读取的块数
priate_SGA 对于通过共享服务器体系结构连接的会话,允许会话的会话数据在SGA中占有的字节数
CONNECT_TIME 在终止会话前 会话的最长持续时间
IDLE_time在强制会话前允许会话处于闲置的状态的最长时间
配置文件的创建和分配
select username,profile from dba_users;
为default 的配置文件
select * from dba_profiles where profile='DEFAULT';
数据库安全和最小权限原则
public 权限
UTL_FILE 这个包含允许用户读写操作系统oracle所有者可以访问的任何文件和目录,这些文件和目录包括所有的数控文件以及oracle—_home目录
UTL_TCP
UTL_SMTP
UTL_SMTP_SERVER
UTL_HTTP
对安全性至关重要的实例
utl_file_dir 参数允许PL/SQL通过UTL_FILE包来访问服务器计算机的文件系统通过utl_file包来访问服务器就是就是的文件系统
remote_os_authent os_authent_prefix
remote_os_authent 这个参数控制某个用户是否能够在不需要给出口冷的情况下从远处计算机上连接数据库。
07_dictionary_accessibility 控制使用any关键字授予对象权限的效果
remote_login_passwordfile 控制具有sysdba 或 sysoper 权限的用户能否通过网络实例。
使用标准数据库审核
除了sysdba审核之外,oracle提供下列三种审核技术
数据库审核:跟踪特定权限,特定命令执行,对特定表的访问以及登陆尝试
基于值的审核,使用数据库触发器,在插入 更新 或删除记录,记录改细节
细粒度审核: 允许根据所访问的记录来跟踪对表的访问。与数据库审核或基于值的审核相比,细粒度审核更为精准,并将生产的审核记录的范围限制为感兴趣的审核记录
审核sysdba
如果实例audit_sys_operations 设置为ture,那么sysdba和sysoper连接数据库的用户所发布的每条语句都会被写入操作系统的审核跟踪。
数据库审核
audit_trail
none 无论视图配置哪一种审核,这个参数都会被禁用数据库审核
os 审核记录会被写入操作系统的审核跟踪
DB 审核记录会被写入书记点表sys.aud$。可以通过某些视图来查看合格表的内容
DB_extended与DB的作用大体相同,单使用sql语句和绑定变量。
转载于:https://blog.51cto.com/1074963/1657052