Informix动态服务器提供两个级别的访问特权,来保证数据库的安全性。数据库特权控制对数据库的访问和在数据库上创建表和索索引的权力。表的特权指定用户在特定的表上所能进行的操作。
Informix动态服务器支持表级的修改,插入和删除的安全性,同时增强了列级的更新和查询的安全性。分离特权语句用于向用户授予适当的访问基级别的特权,或回收特权。由于Informx安全性是在用户级别上的,因此,不需要进行分离的数据库登录。
存储过程通过建立他们自己的,有别于数据库的许可权限而提供了附加的安全机制。存储过程的所有者向用户授予执行该存储过程的权限,允许用户执行该存储过程中所有的SQL操作,但对其他的数据库访问加以限制。通过使用存储过程来限制用户执行某些用户执行某些数据库的操作,数据库管理员可以提高系统的安全性
安全审计
INFORMIX动态服务器提供的安全审计功能对用来操作的每一个数据库对象提供跟踪和操作记录。这一功能符合“美国国家计算机安全中心”提出的C2级安全要求模型。
借助于INFORMIX动态服务器,你可以对系统中用户的活动进行选择性监控。安全审计的界面是由命令行驱动的,或是有参数调节控制的,它允许你指定对某一特定用户的特定活动进行监控。
安全审计可以创建用户在数据库中活动的事件记录,通过这些记录可检查不平常或可疑的数据库活动。
可以记录的事件有:
成功或者失败的操作。你可以只记录成功的操作,或者只记录失败的操作,或者两种都记录。
online系统的连接。你可以记录与online系统建立连接的情况,包括是谁建立了这个连接,在什么时刻
系统和数据库管理事件。任何管理事件例如增加dbspaces和chunks,归档,赋权,回收权限,或者当前的事务日志都可以被审计。
数据库和表的操作。select,insert,update,或者delete语句都可以被审计,但是不允许只对某一个表的操作进行审计。
审计是如何工作的
管理员首先要创建audit masks(审计掩码),一个audit masks就像一个过滤器,检查用户的活动是否应该被审计。audit masks存储在sysmaster数据库的sysaudit表中。
如果执行数据库操作,而这个操作在被审计的范围内,online会自动在审计日志中插入一条记录。审计日志是一个UNIX文件,其中保存有审计的记录。这个文件有可能会变得很大,主要看audit masks中包括的操作的数量和操作的类型。
对每一个数据库用户可以有单独的user mask(用户掩码)。另外,管理员可以设置一个默认掩码,这样没有设置user mask的用户就可以使用这个默认的掩码。