【问题标题】:Creating roles for environments为环境创建角色
【发布时间】:2019-04-16 11:16:40
【问题描述】:

如果我正在创建角色“VIPGUEST”并赋予他们对这些环境的对象权限:

BedroomDEV
KitchenINT
GarageTEST
LivingroomTRN
DiningroomPROD

Create role VIPGUEST not identified

Grant connect to VIPGUEST

Grant create session TO VIPGUEST

Grant delete, execute to VIPGUEST

Grant insert, load, view to VIPGUEST

Grant refresh, references, select to VIPGUEST

Grant update, resource, index, alter to VIPGUEST

如何将这些结合起来以获得我想要的结果?

我知道我的陈述不完整,但我不知道该怎么做。

【问题讨论】:

  • “我想要的结果”你能描述一下,你到底想要什么?
  • 是的,谢谢帕维尔。我想为开发人员创建一个角色,这样他就没有 Dba 角色。此角色将拥有完整的对象权限。
  • 看看这个:stackoverflow.com/questions/27353642/…。您可以以相同的方式向角色授予权限。

标签: sql oracle oracle-sqldeveloper


【解决方案1】:

有不同类别的权限,例如systemtableprocedure。视情况而定,GRANT 会有所不同。

您可以GRANT CREATE SESSION TO VIPGUEST,但不能GRANT DELETE TO VIPGUEST。删除什么GRANT DELETE ON EMP TO VIPGUEST 是有道理的。

例如EXECUTE 也是如此:你必须说出你想让VIPGUEST 执行的内容,例如GRANT EXECUTE ON p_insert_employee TO VIPGUEST.

查看安全指南(您的数据库版本)了解更多信息。

附:不要授予CONNECTRESOURCE。这些是前段时间“流行”的角色,但在未来的 Oracle 数据库版本中将被弃用。正确的方法是您正在尝试做的事情:创建您自己的角色,并拥有最少的权限,这将使用户(将被授予该角色)能够工作。

【讨论】:

  • 知道了!谢谢你。我仍然无法理解语言的结构。我如何实现这些以及我拥有的环境(卧室、厨房、车库等)。我如何将它们结合起来?我在考虑授予更新,将 DiningroomPROD 上的删除到 VIPGUEST;这样的东西有用吗?
  • 不客气。如果“DiningroomPROD”是一张桌子,那么是的 - 你写的东西会起作用。如果不是,那是什么?您说的是“环境”,但我不知道它在这种情况下的实际含义。
猜你喜欢
  • 2014-01-17
  • 2019-05-08
  • 1970-01-01
  • 2017-03-04
  • 2015-06-30
  • 2011-10-24
  • 2011-07-26
  • 2017-10-23
  • 1970-01-01
相关资源
最近更新 更多