Hello All
I'm confident that this a stupid question but I'm rather confused as to what's is going on here. If anyone can shed any light on this it would be much appreciated:
Why can user proxy only select from the view when viewuser has SELECT ANY TABLE privileges? How can I allow PROXY to SELECT from the view without granting SELECT ANY TABLE to VIEWUSER; minimum privileges and all that.Code:system@DEV> system@DEV> SET LINES 132 system@DEV> SET PAGES 9999 system@DEV> system@DEV> DROP USER proxy CASCADE; User dropped. system@DEV> DROP USER tableuser CASCADE; User dropped. system@DEV> DROP USER viewuser CASCADE; User dropped. system@DEV> system@DEV> define the_pw=&1 Enter value for 1: qwerty+123 system@DEV> system@DEV> CREATE USER proxy IDENTIFIED BY "&the_pw" 2 DEFAULT TABLESPACE USERS 3 TEMPORARY TABLESPACE TEMP; old 1: CREATE USER proxy IDENTIFIED BY "&the_pw" new 1: CREATE USER proxy IDENTIFIED BY "qwerty+123" User created. system@DEV> system@DEV> CREATE USER tableuser IDENTIFIED BY "&the_pw" 2 DEFAULT TABLESPACE USERS 3 TEMPORARY TABLESPACE TEMP 4 QUOTA UNLIMITED ON USERS; old 1: CREATE USER tableuser IDENTIFIED BY "&the_pw" new 1: CREATE USER tableuser IDENTIFIED BY "qwerty+123" User created. system@DEV> system@DEV> CREATE USER viewuser IDENTIFIED BY "&the_pw" 2 DEFAULT TABLESPACE USERS 3 TEMPORARY TABLESPACE TEMP; old 1: CREATE USER viewuser IDENTIFIED BY "&the_pw" new 1: CREATE USER viewuser IDENTIFIED BY "qwerty+123" User created. system@DEV> system@DEV> GRANT CREATE SESSION TO proxy; Grant succeeded. system@DEV> GRANT CREATE SESSION TO viewuser; Grant succeeded. system@DEV> system@DEV> CREATE TABLE tableuser.t ( 2 id NUMBER 3 ); Table created. system@DEV> system@DEV> GRANT SELECT ON tableuser.t TO viewuser; Grant succeeded. system@DEV> system@DEV> CREATE VIEW viewuser.tv AS 2 SELECT * FROM tableuser.t; View created. system@DEV> system@DEV> GRANT SELECT ON viewuser.tv TO proxy; Grant succeeded. system@DEV> system@DEV> CONNECT viewuser/&the_pw Connected. system@DEV> system@DEV> SELECT * FROM tv; no rows selected system@DEV> system@DEV> CONNECT proxy/&the_pw Connected. system@DEV> system@DEV> SELECT * FROM viewuser.tv; SELECT * FROM viewuser.tv * ERROR at line 1: ORA-01031: insufficient privileges system@DEV> system@DEV> CONNECT system Connected. system@DEV> system@DEV> GRANT SELECT ANY TABLE TO viewuser; Grant succeeded. system@DEV> system@DEV> CONNECT proxy/&the_pw Connected. system@DEV> system@DEV> SELECT * FROM viewuser.tv; no rows selected system@DEV> system@DEV> SPOOL OFF
I'm sure this is all basic stuff and I'm embarrased to say I don't really understand what's going on here![]()


Reply With Quote


Bookmarks