讲解Informix安全特性保护数据的具体措施

讲解Informix安全特性保护数据的具体措施,第1张

讲解Informix安全特性保护数据的具体措施,第2张

保护数据需要权衡安全性和可访问性。如何找到最合适的方法?

目前,公司和政府对数据的可审计性和控制制定了严格的标准,这使得数据库安全成为最近的一个热点。DBA必须确保用户能够访问完成工作所需的数据,同时避免数据风险。

绝对保护数据的唯一方法是关闭服务器并将其锁定,这样就没有人可以使用它。但是,为了使数据库正常工作,您必须允许访问数据。IDS在数据库、表和列级别应用安全措施。安全措施也可以应用于视图中的记录级别。所有的安全措施都是基于用来连接数据库的用户名。

我将解释Informix安全特性如何帮助您保护数据,同时允许适当的用户访问数据。

安全建议

每个环境和数据库开发的每个阶段都有不同的数据库安全要求。开发环境必须使程序员能够快速创建和修改数据库对象。并且有必要控制可以对数据库对象执行什么操作。有效的数据库安全模型的一个关键部分是定义和分配DBA、数据库安全官(DSO)和对象所有者的角色。

对于DBA角色,应该创建一个抽象用户登录。DBA本质上是一个数据库超级用户。建立单独的登录将降低用户意外删除数据库的风险。这一原则在生产环境中尤其重要。DBA应该是数据库和数据库中所有表的创建者。DBA应该是唯一有权修改数据库中任何表的用户。作为数据库和数据库中所有表的创建者,DBA可以向其他用户授予特权。

一些生产环境可能需要DSO,这是DBA之外的一个独立职位,他负责数据安全。DSO也应该是一个单独的抽象用户登录。为了有权向数据库添加新用户,DSO需要DBA数据库权限。DSO还需要向数据库中的每个表授予权限,以便向其他用户授予权限。

为了建立具有DSO权限的角色,必须为DSO分配用户对数据库中每个表可能需要的所有权限。以下是使用带grant选项的grant命令的SQL语法:

向dso_login_name授予对table_name的SELECT、INSERT、UPDATE、DELETE和INDEX权限

带有授予期权;

公共特权

Informix使用关键字public来表示适用于所有用户的权限。Public是一个非常强大的工具,可以开放对数据的访问。同样,为了防止所有未经授权的用户连接到数据库并选择数据,可以完全撤销public特权。

对象所有者权限

创建数据库或数据库对象(表、索引、函数、过程等)的用户。)是这个对象的所有者,他控制这个对象的访问和特权。该对象的所有者拥有所有表级权限,并且这些权限不能撤销。当系统从开发环境转移到生产环境时,或者当表或数据库的原始所有者离开组织时,这种限制可能会导致问题。任何其他用户(甚至DBA)都不能撤销所有者的特权。因此,必须仔细决定数据库或表的所有者。

该表的所有者是唯一可以将该表的特权授予其他用户的用户。一些应用程序也使用owner.tablename语法来访问表。在我的一个客户的数据库中,表在开发、验收测试和生产阶段有不同的所有者。一个表只能有一个所有者。当应用程序代码从开发环境转移到测试环境,然后转移到生产环境时,必须更改表的所有者,这可能会导致问题。在不同的环境下,必须修改应用程序代码中的owner.tablename,这样会增加风险。

数据库特权

有三种数据库特权级别:DBA、Resource和Connect。Connect权限允许用户访问数据库并添加、修改和删除数据。Privilege Resource授予用户所有连接权限,以及创建新表、索引和过程的权限。DBA权限包括连接和资源权限,还授予用户向其他用户授予资源、连接或DBA权限的权利。具有DBA权限的用户还可以删除数据库中的所有对象,或者完全删除数据库。

对于大多数数据库活动,Connect权限就足够了。想要创建新对象的程序员或开发人员可能需要资源权限。DBA权限就像Unix操作系统的“超级用户”。授予或撤销数据库权限的语法是:

将[ dba | resource | connect ]授予[public | USERS];

从[ public | USERS ]中撤销[DBA | resource | connect];

数据库特权存储在系统表sysusers中。您可以使用来自sysusers的select *;列出所有用户及其数据库权限。显示的信息包括:

◆用户名,连接到数据库的用户的登录名。

◆usertype,数据库权限类型;D DBA、R Resource和C Connect

◆priority,此列不是正式使用的,但它是系统表的一部分(通常,对于所有用户,此列为5;对于数据库所有者,它是9)

◆密码,此栏不使用,但它是系统表的一部分。

数据库特权

您应该避免将DBA权限授予public。我见过一些第三方应用将DBA权限授予public只是因为非常方便。如果DBA权限被授予public,则任何用户都可以删除数据库,撤销所有其他用户的所有权限,并创建新的数据库用户。如果Resource特权被授予public,则任何用户都可以在数据库中创建对象(表或视图)。

撤销用户的DBA或Resource权限会将权限转换为Connect。如果要从数据库中完全删除用户,还需要撤销Connect权限。

在授予数据库特权时,以下原则可以减少很多麻烦:

◆DBA权限应该只授予一两个登录名,普通用户不用。这些登录名只应用于数据库管理(DBA和DSO)。

◆资源权限应该只授予开发环境中的程序员,以及必须通过运行流程来创建索引的用户。

◆Connect权限应该只授予需要访问数据库的用户。

表特权

有七种表权限:

◆选择(查看表格中的数据)

◆插入(在表格中添加新的数据行)

◆更新(修改现有行)

◆删除(删除数据行)

◆索引(向表格添加索引)

◆Alter(修改表格结构)

◆引用(引用约束中的引用列)

用户必须拥有资源数据库权限和相关表权限,才能创建索引、修改表结构或引用持久性表。

创建表的用户是所有者,他拥有所有的表特权,这些特权是不可撤销的。With grant option允许用户向其他用户授予权限;应该小心使用该选项,因为它将控制表特权的过程委托给了其他用户。使用“作为授权者”选项授予其他用户的权限。只有DBA或被授予权限的用户才能使用该选项。只有授予了权限的用户才能撤销该权限。

授予和撤销表权限的语法如下:

grant[all | select | insert | update | delete | index | alter | reference]

[表|视图|同义词]上的[公共|用户]

[带有授予选项][作为设保人];

撤销[全部| [选择|插入|更新|删除|索引|变更|引用]

来自[ public | USERS ]的[TABLE | VIEW | SYNONYM];

表特权存储在系统表systabauth中,该表包含四列:

◆授予者,授予此权限的用户

◆被授权者,获得该权限的用户

◆tabid,该表在系统表中的编号。

◆tabauth,表特权

使用以下SQL语句列出表和具有表权限的用户:

选择systables.tabname,systabauth。*来自systables,systabauth

其中systables . tabid = systabauth . tabid和systables . tabid > 99 order by tabname;

该语句连接systabauth和systables,从systables获取表名并显示用户。Tabauth列包含特权,需要根据该列中的位置进行解码。

tabauth中的字符表示表可以使用哪些表级特权。

大写字母表示用户可以将该权限授予其他用户;-表示用户没有此权限。因此,在图1中,Sarah只拥有customer表的select权限,而Robert拥有select、insert、update和delete权限;没有列级权限。

与数据库特权一样,public应该谨慎使用。您可以撤销用户的所有表权限,但该用户仍然拥有分配给public的权限。默认情况下,每个表在创建时都有public特权,因此您需要检查public特权,并考虑是否需要修改默认的public特权。

在数据仓库系统中,用户只需要select权限。在OLTP数据库中,应该根据需要将权限限制为选择、更新、插入和删除。

列权限

两个列级权限是select和update。拥有列级权限的用户不应拥有表级select或update权限。用户的表级select或update权限会覆盖列级权限。列权限存储在syscolauth表中,它们限制用户是否可以查看或修改表中记录的指定列。

授予列级权限的语法如下:

grant [选择(列)|更新(列)|引用(列)]

对[public | USERS][with grant option][as granter]的[TABLE | VIEW | SYNONYM];

除非在表级别撤销select和update权限,否则列级别的权限无效。当存在列级权限时,systabauth表中tabauth列的第三个位置将显示一个星号(见表1)。

级别权限在控制对机密信息(如工资或SSN)的访问时非常有用。

考虑平衡控制和访问。

安全性是DBA的一项重要职责。在满足适当的使用要求的同时保护组织的数据是一个难题。关键是分配适当的特权级别。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 讲解Informix安全特性保护数据的具体措施

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情