为环境创建角色

时间:2019-04-16 11:16:40

标签: sql oracle oracle-sqldeveloper

如果我要创建角色“ 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

如何结合使用这些以获得所需的结果?

我知道我的陈述不完整,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

有不同类别的特权,例如 system table procedure 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

请参阅(您的数据库版本的)安全指南以获取更多信息。

P.S。不要授予CONNECTRESOURCE。那些角色在一段时间以前是“受欢迎的”角色,但在将来的Oracle数据库版本中将不再使用。正确的方法是您要尝试做的事情:使用最少的特权集创建自己的角色,这将使用户(将被授予该角色的用户)能够正常工作。