视图/同义词与基础表的特权

肯尼

这里这里

用户是否需要SELECT /INSERT/DELETE/UPDATE在视图和基础表上同时具有etc等特权才能执行这些操作?还是在EITHER表/视图上的特权就足够了?

换句话说,考虑拥有表T和视图V(由T构造)的用户A。如果用户BSELECT在VSELECT上不SELECT正确,可以在V正确的用户B执行a ,反之亦然吗?如果他可以,这是否意味着View特权“替代”了表特权,因为A并未赋予他T的权利?

更新

在一个相关的问题中,同义词如何?根据我在书中所了解的,用户同时需要SELECT同义词和基础表的特权。这将与视图不同。

另一方面,Oracle似乎表明同义词的行为类似于视图。

可以授予用户同义词或视图的SELECT特权,而无需显式授予原始表的SELECT特权

更新2

遵循每个人的回答,我们只需要视图特权即可选择表(至少视图从表中看到的内容),并且不需要表特权,让我们考虑以下情况:

  • 表T属于A
  • 从T到B的GRANT SELECT(无GRANT OPTION)
  • B创建视图V通过SELECT * FROM AT
  • B授予V至C的选择
  • C执行SELECT * FROM BV

根据您所说的,C可以从V中进行选择,因此等同于从T中进行选择。尽管C在T上没有权利,而B没有GRANT OPTION,但B有效地让C看到了AT。某处有安全孔吗?

数学家

视图的基本用途之一是保护隐私。基本表可能包含某些用户不需要查看的机密信息(例如,在雇员表中,您可能有薪水)。一些用户只需要查询(选择)或更新基表中的某些字段,而无需访问全部信息。例如:选择电话号码或更新地址(但无权查看薪水或奖金)。然后,将创建一个视图,并仅在视图而不是基表上为这些用户赋予“选择”和“更新”特权。(选择仍然与基本表相反,但是COLUMNS将限于视图中包含的那些……可以/将对基本表进行更新,但是同样,仅针对视图中包含的列中的值进行更新。 )该视图不仅可以限制列,

因此,视图的主要用途之一正是基于此:一些用户可能对视图具有特权,但对基表没有特权。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章