itsource

Oracle 역할에 부여된 권한 목록을 열거하려면 어떻게 해야 합니까?

mycopycode 2023. 7. 31. 21:22
반응형

Oracle 역할에 부여된 권한 목록을 열거하려면 어떻게 해야 합니까?

오래 전에 생성된 자체 개발 Oracle 역할이 있습니다.

create role MyRole;

일부 테이블 및 보기에서 선택, 삽입, 업데이트 및 삭제 기능이 부여되었습니다.

grant select on sometable to MyRole;
grant insert on sometable to MyRole;
grant select on someothertable to MyRole;
-- etc.

역할에 부여된 특정 권한 목록을 이제 어떻게 열거할 수 있습니까?특정 테이블과 각 테이블에 대한 이 역할의 권한을 찾는 데 관심이 있습니다.이 정보를 복구하려면 어떻게 해야 합니까?

데이터 사전에서 간단히 검색할 수 있습니다.ROLE_TAB_PRIVS그리고 이렇게 해주세요.

선택 * 역할에서_TAB_PRIVLS WHERE ROLE = '내 역할';

이것은 잘 작동합니다.

SELECT DBA_TAB_PRIVS.GRANTEE, TABLE_NAME, PRIVILEGE,DBA_ROLE_PRIVS.GRANTEE
FROM DBA_TAB_PRIVS, DBA_ROLE_PRIVS
WHERE DBA_TAB_PRIVS.GRANTEE = DBA_ROLE_PRIVS.GRANTED_ROLE
AND DBA_TAB_PRIVS.GRANTEE='<ENTER GROUP ROLE HERE>'
AND DBA_ROLE_PRIVS.GRANTEE = '<ENTER ROLE HERE>'
ORDER BY DBA_ROLE_PRIVS.GRANTEE

언급URL : https://stackoverflow.com/questions/2418541/how-can-i-enumerate-the-list-of-privileges-granted-to-an-oracle-role

반응형