CUBRID에서 권한 부여의 최소 단위는 테이블이다. 자신이 만든 테이블에 다른 사용자(그룹)의 접근을 허용하려면 해당 사용자(그룹)에게 적절한 권한을 부여해야 한다.
권한이 부여된 그룹에 속한 모든 멤버는 같은 권한을 소유하므로 모든 멤버에게 개별적으로 권한을 부여할 필요는 없다. PUBLIC 사용자가 생성한 (가상) 테이블은 다른 모든 사용자에게 접근이 허용된다. GRANT 문을 사용하여 사용자에게 접근 권한을 부여할 수 있다.
GRANT operation [ { ,operation }_ ] ON table_name [ { ,table_name }_ ]
TO user [ { ,user }_ ] [ WITH GRANT OPTION ] [ ; ]
연산 종류 |
부여된 권한 |
---|---|
SELECT |
테이블 정의 내용을 읽을 수 있고 인스턴스 조회가 가능. 가장 일반적인 유형의 권한. |
INSERT |
테이블의 인스턴스를 생성할 수 있는 권한. |
UPDATE |
테이블에 이미 존재하는 인스턴스를 수정할 수 있는 권한. |
DELETE |
테이블의 인스턴스를 삭제할 수 있는 권한. |
ALTER |
테이블의 정의를 수정할 수 있고, 테이블의 이름을 변경하거나 삭제할 수 있는 권한. |
INDEX |
검색 속도의 향상을 위해 속성에 인덱스를 생성할 수 있는 권한. |
EXECUTE |
테이블 메소드 혹은 인스턴스 메소드를 호출할 수 있는 권한. |
ALL PRIVILEGES |
앞서 설명한 7가지 권한을 모두 포함. |
GRANT SELECT ON olympic TO Fred;
GRANT SELECT, INSERT, UPDATE, DELETE ON nation, athlete TO Jeniffer, Daniel;
GRANT ALL PRIVILEGES ON game, event TO public;
GRANT SELECT ON record, history TO Ross WITH GRANT OPTION;