首页 > 数据库 > > 高斯中目前存在的权限说明(二)
SYS用户具有上述所有权限。
同名词的权限:同名词的权限与其表示的对象的权限一致。即:将同名词的权限授予给用户,相当于将同名词表示的对象的权限授予给用户,反过来也成立:将对象的权限授予给用户,如果该对象存在同名词,该同名词的权限也授予给了该用户。访问同名词时,将检查当前操作用户是否有同名词表示的对象的权限。
通过角色继承权限:
将角色授予给用户/角色时,用户/角色会继承该角色拥有的所有权限(包括系统权限和所有被授予的对象权限)。
将角色从用户/角色回收时,用户/角色从该角色继承的权限会被回收。如果对于同一个权限,用户/角色从另外的角色继承了该权限,回收一个角色后,用户/角色仍然拥有该权限。
删除对象
当删除表、视图、序列、存储过程时,会同步删除用户/角色拥有的该对象的权限。
删除用户/角色
删除用户时,会删除该用户下的所有对象,因此也会同步删除其他用户被授予的该对象的权限。同时会级联删除该用户授予给其他用户会和角色的权限。
删除角色时,会删除授予给该角色的所有权限,并同步删除被授予该角色的用户/角色对应的权限。
创建视图、访问视图时权限要求:
创建视图时,除了要求当前用户有CREATE VIEW(创建本用户的视图) 或者CREATE ANY VIEW(创建任意用户的视图)系统权限,还需要视图的拥有者(可能是当前用户,也可能是其他用户)对视图中访问的对象有SELECT或者READ权限。
访问视图时,除了要求用户有对视图的SELECT/SELECT ANY TABLE或者READ/READ ANY TABLE权限外,还需要视图的拥有者(可能是当前用户,也可能是其他用户)对视图中访问的对象有SELECT或者READ权限。
存储过程、自定义函数、触发器对依赖对象的权限要求:
创建存储过程、自定义函数、触发器时,不检查是否有依赖对象的访问权限。
执行存储过程、调用自定义函数或者触发器被触发执行时,会检查当前用户是否有访问依赖对象的权限。
创建触发器时,如果触发器是创建在其他用户的表上时,需要用户被授予CREATE ANY TRIGGER权限。
对象权限检查的规则:对象的所有着拥有该对象的所有权限。
SELECT : 用户访问自己的对象时,不需要授予权限;访问其他用户的对象,需要被授予该对象的SELECT对象权限,或者SELECT ANY TABLE系统权限。
UPDATE : 用户更新自己的对象时,不需要授予权限;更新其他用户的对象,需要被授予该对象的UPDATE对象权限,或者UPDATE ANY TABLE系统权限。
DELETE : 用户删除自己对象中的数据时,不需要授予权限;删除其他用户的对象数据时,需要被授予该对象的DELETE对象权限,或者DELETE ANY TABLE系统权限。
INSERT : 用户往自己对象中**数据时,不需要授予权限;往其他用户的对象**数据时,需要被授予该对象的INSERT对象权限,或者INSERT ANY TABLE系统权限。
ALTER : 更改自己对象的定义时,不需要授予权限;更改其他用户的对象时,需要被授予该对象的ALTER对象权限,或者ALTER ANY { TABLE | SEQUENCE } 系统权限。
INDEX:创建索引时,需要用户被授予对象上的INDEX权限。
EXECUTE:执行存储过程或者调用自定义函数、系统包函数时,需要用户被授予对象的EXECUTE权限。当前系统包有:DBMS_UTILITY、DBMS_STATS、DBMS_STANDARD、DBMS_SQL、DBMS_RANDOM、DBMS_RAFT、DBMS_OUTPUT、DBMS_LOB和DBMS_JOB。系统管理员和DBA默认具体所有高级包的执行权限,普通用户调用DBMS_JOB包,需要系统管理员授权EXECUTE权限给普通用户,其他的系统包默认所有用户有权限调用。
READ:访问对象的权限,与SELECT权限类似。与SELECT的区别是:如果有FOR UPDATE子句,需要SELECT权限。没有FOR UPDATE子句时,SELECT与READ权限相同。
REFERENCES:创建外键约束时,需要有被引用的对象的REFERENCES权限。
非SYS用户即使拥有下列权限也不可以在SYS用户schema中创建对象,或者操作SYS用户的对象。SYS用户将对象的权限单独授予非SYS用户,才可以操作SYS对象。
CREATE ANY TABLE
CREATE ANY INDEX
CREATE ANY SEQUENCE
CREATE ANY VIEW
CREATE ANY SYNONYM
CREATE ANY PROCEDURE
DROP ANY TABLE
DROP ANY INDEX
DROP ANY SEQUENCE
DROP ANY VIEW
DROP ANY SYNONYM
LOCK ANY TABLE
DROP ANY TABLE
DROP ANY PROCEDURE
ALTER ANY TABLE
ALTER ANY INDEX
ALTER ANY SEQUENCE
UPDATE ANY TABLE
INSERT ANY TABLE
DELETE ANY TABLE
ANALYZE ANY
ALTER ANY TRIGGER
CREATE ANY TRIGGER
DROP ANY TRIGGER
EXECUTE ANY PROCEDURE
CREATE ANY DIRECTORY
DROP ANY DIRECTORY

如下赋权操作为高危操作,请慎重执行:
CREATE ANY TABLE
CREATE ANY INDEX
CREATE ANY SEQUENCE
CREATE ANY VIEW
CREATE ANY SYNONYM
CREATE ANY PROCEDURE
DROP ANY TABLE
DROP ANY INDEX
DROP ANY SEQUENCE
DROP ANY VIEW
DROP ANY SYNONYM
LOCK ANY TABLE
DROP ANY TABLE
DROP ANY PROCEDURE
ALTER ANY TABLE
ALTER ANY INDEX
ALTER ANY SEQUENCE
UPDATE ANY TABLE
INSERT ANY TABLE
DELETE ANY TABLE
ANALYZE ANY
ALTER ANY TRIGGER
CREATE ANY TRIGGER
DROP ANY TRIGGER
EXECUTE ANY PROCEDURE
CREATE ANY DIRECTORY
DROP ANY DIRECTORY
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3135020/ ,如需转载,请注明出处,否则将追究法律责任。