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

日期: 2008-09-26 作者:Barnett 来源:TechTarget中国 英文

创建表的用户是所有者,他拥有所有表特权,这些特权无法撤消。with grant option允许用户把特权授予其他用户;应该谨慎地使用这个选项,因为它把控制表特权的过程委托给了其他用户。使用as GRANTOR 选项以另一个用户的身份授予特权。


只有DBA或具有授予权限的用户可以使用这个选项。只有授予一个特权的用户能够撤消这个特权。


授予和撤消表特权的语法如下:






grant [ all | [ select | insert | update | delete | index | alter | reference ] 
on [ TABLE | VIEW | SYNONYM ] to [ public | USERS ] 
[ with grant option ][ as GRANTOR ]; 
revoke [ all | [ select | insert | update | delete | index | alter| reference ] 
on [ TABLE | VIEW | SYNONYM ] from [ public | USERS ]; 


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


◆grantor,授予这个特权的用户


◆grantee,获得这个特权的用户


◆tabid,这个表在系统表中的编号


◆tabauth,表特权


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






select systables.tabname, systabauth.*from systables, systabauth 
where systables.tabid = systabauth.tabid and systables.tabid > 99 order by tabname; 


这个语句联结 systabauth 和 systables,从 systables 中获取表名并显示用户。tabauth 列包含特权,需要根据这个列中的位置进行解码(见图 1)。


图 1. tabauth 列包含的特权


tabauth 列包含的特权


tabauth 中的字符表示对于一个表有哪些表级特权。表 1 给出列中的位置与其表示的表和列级特权之间的对应关系。


表1. 表和列级特权之间的对应关系


表和列级特权之间的对应关系
  


大写字母表示用户可以把这个特权授予其他用户;- 表示用户不拥有这个特权。所以在图 1 中,Sarah 只有 customer 表的 select 特权,而 Robert 有 select、insert、update 和 delete 特权;没有列级特权。


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


在数据仓库系统中,用户只需要 select 特权。在 OLTP 数据库中,应该根据需求把特权限制在 select、update、insert 和 delete。


列特权


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


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


grant [ select (COLUMN) | update (COLUMN) | reference ( COLUMN ) ]


on [ TABLE | VIEW | SYNONYM ] to [ public | USERS ][ with grant option ][ as GRANTOR ] ;


除非在表级撤消 select 和 update 特权,否则列级特权不起作用。当存在列级特权时,systabauth 表的 tabauth 列的第三个位置上会显示一个星号(见表 1)。


列级特权在控制对机密信息(比如工资或 SSN)的访问方面非常有用。


权衡考虑控制和访问


安全性是 DBA 的一项重要责任。既要保护组织的数据,又要满足适当的使用需求,这是个难题。关键是分配适当的特权级别。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Barnett
Barnett

相关推荐