◈ Object Privileges(객체 권한)
객체 권한은 유저가 소유하고 있는 특정한 객체를 다른 사용자들이 엑세스 하거나 조작 할 수 있게 하기 위해서 생성을 합니다.
- 테이블이나 뷰, 시퀀스, 프로시저, 함수, 또는 패키지 중 지정된 한 오브젝트에 특별한 작업을
수행 할 수 있게 합니다.
- Object 소유자는 다른 사용자에게 특정 Object Privileges를 부여 할 수 있습니다.
- PUBLIC으로 권한을 부여하면 회수할 때도 PUBLIC으로 해야 합니다.
- Object Privileges는 Object Type에 따라서 다릅니다.
- 기본적으로 소유한 오브젝트에 대한 모든 권한이 자동적으로 획득됩니다
- WITH GRANT OPTION 옵션은 롤에 권한을 부여할 때는 사용할 수 없습니다

위의 표에서 맨 왼쪽에 있는 ALTER, DELETE, EXECUTE.. 등등은 object_privilege란에 오면 되고,
맨 윗줄에 있는 테이블, 뷰, 시퀀스, 프로시져 등등은 ON 다음에 있는 object에 입력하면 됩니다.
[Syntax]
GRANT object_privilege [column]
ON object
TO { user [.user] | role | PUBLIC }
[WITH GRANT OPTION]
- object_privilege : 부여할 객체 권한의 이름
- object : 객체명
- user, role : 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
- PUBLIC : 오브젝 권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있습니다.
- WITH GRANT OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로
부여할 수 있게 됩니다. Object 권한 부여 문법
오브젝트 권한 부여 예제
SQL>GRANT SELECT, INSERT
ON emp
TO scott
WITH GRANT OPTION.
권한이 부여되었습니다.
*설명 : scott 사용자에게 emp테이블을 SELECT, INSERT할 수 있는 권한을 부여했습니다.
scott 사용자도 다른 사용자에게 그 권한을 부여 할 수 있습니다.
Object 권한의 박탈
[Syntax]
REVOKE { privilege [.privilege...] | ALL}
ON object
FROM { user [.user] | user | PUBLIC }
[ CASCADE CONSTRAINTS ]
- 객체 권한의 철회는 그 권한을 부여한 부여자만이 수행할수 있습니다.
- CASCADE CONSTRAINTS : 이 명령어의 사용으로 REFERENCES객체 권한에서 사용된
참조 무결성 제한을 같이 삭제 할 수 있습니다.
- 으로 객체 권한을 부여한 사용자의 객체 권한을 철회하면, 권한을
부여받은 사용자가 부여한 객체 권한 또한 같이 철회되는 종속철회가 발생합니다.WITH GRANT OPTION
오브젝 권한 철회 예제
SQL>REVOKE SELECT, INSERT
ON emp
FROM scott
*설명 : scott 사용자에게부여한 emp테이블에 대한 SELECT, INSERT권한이 회수 됩니다..
만약 scott사용자가 다른 사용자에게 SELECT, INSERT권한을 부여했으면..
그 권한들도 같이 철회가 됩니다.
WITH GRANT OPTION을 사용하여 객체 권한 취소

================================================
* 데이터베이스 정보공유 커뮤니티 oracleclub.com
* 강좌 작성자 : 김정식 (oramaster _at_ naver.com)
================================================
※ oracleclub 강좌를 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
※ oracleclub 강좌는 개인의 학습용으로만 사용 할 수 있습니다. 학원 홍보용이나 수익을 얻기 위한 용도로
사용을 하시면 안됩니다. ^^



덧글