728x90
권한 허가 - GRANT
GRANT Privileges [(Column[,...n]])] [,...]
[ON 객체] TO {사용자 | 롤 | PUBLIC [,...n]}
[WITH GRANT OPTION]
Privileges - 허가할 권한 지정. REFFERNCES는 외래키 제약조건을 생성하기 위한 참조 허가 권한. REFFERNCES(컬럼이름) 형태로 사용 (아래 표 참고)
Column - 사용 권한을 부여할 테이블의 열 이름을 지정. 꼭 ()안에 표시. 권한을 허가받은 사용자만이 대상 테이블의 지정된 Column 사용 가능
객체 - 사용 권한을 부여할 객체를 지정. 테이블이나 뷰 등의 이름이 온다.
TO 사용자 - 사용자나 권한의 묶음인 ROLE에 권한을 추가할 수 있다. PUBLIC은 모든 사용자가 사용할 수 있도록 공개적으로 권한을 부여한다는 의미
WITH GRANT OPTION - 허가받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한.
Object Privileges | 테이블 | 뷰 | 프로시저, 함수 |
ALTER | 가능 | ||
DELETE | 가능 | 가능 | |
EXECUTE | 가능 | ||
INDEX | 가능 | ||
INSERT | 가능 | 가능 | |
REFFERENCES | 가능 | 가능 | |
SELLECT | 가능 | 가능 | |
UPDATE | 가능 | 가능 |
System Privileges | 설명 |
CREATE TABLE | 테이블 생성할 수 있다 |
CREATE VIEW | 뷰를 생성할 수 있다 |
CREATE USER | 새로운 사용자를 생성할 수 있다 |
CREATE TABLESPACE | 테이블스페이스를 생성할 수 있다 |
CREATE SESSION | 데이터베이스에 접속할 수 있다 |
DELETE ANY TABLE | 다른 사용자의 테이블을 삭제(DELETE) 할 수 있다 |
ALTER ANY TABLE | 다른 사용자의 테이블을 수정 할 수 있다 |
DROP ANY TABLE | 다른 사용자의 테이블을 삭제(DROP) 할 수 있다 |
CREATE ANY TABLE | 다른 사용자의 테이블을 만들 할 수 있다 |
SELECT ANY TABLE | 다른 사용자의 테이블을 조회 할 수 있다 |
CREATE ANY VIEW | 다른 사용자의 뷰를 만들 할 수 있다 |
ALTER ANY VIEW | 다른 사용자의 뷰를 수정 할 수 있다 |
CREATE ANY INDEX | 다른 사용자의 인덱스를 만들 할 수 있다 |
ALTER ANY INDEX | 다른 사용자의 인덱스를 수정(ALTER) 할 수 있다 |
DROP ANY INDEX | 다른 사용자의 인덱스를 삭제(DROP)할 수 있다 |
권한 취소 - REVOKE
REVOKE Privileges [(Column[,...n]])] [,...]
[ON 객체] TO {사용자 | 롤 | PUBLIC [,...n]}
역할 - ROLE
권한을 역할에 부여해 사용자의 역할에 따라 사용할 수 있는 권한을 저장해 둔 집합
사용자의 업무가 변경되거나 추가되어도 사용자별 열할을 부여하면 되어 관리가 편하다.
역할별 권한이 변경될 경우 각 역할의 권한만 수정한다면 사용자도 역할도 바로 적용된다.
역할 생성
CREATE ROLE 역할이름
역할 제거
DROP ROLE 역할이름
역할 권한 부여
GRANT 권한 [ON 객체] TO 역할이름
역할 권한 회수
REVOKE 권한 [ON 객체] FROM 역할이름
사용자에게 역할 부여
GRANT 역할이름 TO 사용자
해당 유저는 부여받은 롤을 모두 사용
SET ROLE ALL
728x90
'CS > Database' 카테고리의 다른 글
데이터 모델의 구성요소 (0) | 2022.06.14 |
---|---|
비 정규화 / 반 정규화(De-Normalization) (0) | 2022.06.10 |
트랜잭션 (0) | 2022.01.14 |
함수 종속성 (0) | 2022.01.07 |
DB 정규화 (0) | 2021.12.31 |
댓글