如果我要创建角色“ 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
如何结合使用这些以获得所需的结果?
我知道我的陈述不完整,但我不知道如何。
答案 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。不要授予CONNECT
或RESOURCE
。那些角色在一段时间以前是“受欢迎的”角色,但在将来的Oracle数据库版本中将不再使用。正确的方法是您要尝试做的事情:使用最少的特权集创建自己的角色,这将使用户(将被授予该角色的用户)能够正常工作。