사용 예시
grant all privileges on DBNAME.TABLENAME to '사용자'@'%';
사용자 계정에 DBNAME DB에 있는 TABLENAME 테이블의 모든 권한을 준다는 의미
grant all privileges on . to '사용자'@'%';
모든 db 와 테이블에 모든 접근 권한 부여
grant alter on DBNAME.TABLENAME to '사용자'@'%';
특정 권한만 주고 싶다면 이렇게 하면 된다.
REVOKE
사용 예시
REVOKE '권한명' ON SCHEMA.'TABLE.*FROM 'USER'@'HOST';
Union
말 그대로 조합을 뜻한다.
이제껏 우리는 WHERE문을 통해 다향한 조건을 주고 데이터를 불러왔었는데
편하게 여러 SELECT문을 조합해서 만드는 것을 UNION이라고 한다.
[실습코드]
SELECT PD_ID, PD_NAME
FROM PRODUCTS
WHERE PD_ID, PD_NAME
FROM PRODUCTS
WHERE PD_NAME = 'TEST'
ORDER BY PD_ID;
REVOKE
✔ 다른 사용자에게 부여한 권한을 회수하기 위한 명령
형식 : revoke <권한리스트> on <객체명> from <사용자 리스트>
◽ <사용자 리스트>에 속한 사용자들로부터 <객체명>에 대한 <권한리스트> 연산들의 실행 권한을 회수
예) kim에게 부여되었던 student 테이블에 대한 select 권한을 회수
revoke select on student from kim
ROLE
특정 테이블에 대한 권한을 부여해야 할 사용자가 많다면, 반복적으로 grant문이나 revoke을 실행해야하는 문제 발생,
단순 반복 작업을 줄이기 위해 권한별로 사용자 그룹을 만들어 그룹에 권한을 부여하는 방법이 필요
✔ 권한에 따른 사용자 그룹
✔ 롤은 데이터베이스 관리자만이 생성 가능
형식 : create role <롤이름>
예) 사원과 임원에 대한 롤을 생성
create role employee
create role manager
롤 삭제
형식 : drop role <롤 이름>
뷰를 이용한 권한 제어
특정 테이블에서 일부 필드 혹은 일부 레코드들에 대해서만 접근을 허용할 경우 이 부분들을 뷰로 정의
정의된 뷰에 대해 접근 권한을 부여하고 실제 테이블에 대한 접근을 차단
사용자에게 감추고 싶은 부분에 대한 강력한 보안 수단 제공
필드뿐만 아니라 일부 레코드들에 대해서도 접근제어가 가능
[출처] SQL 데이터베이스(DB) 보안, 권한 부여 grant, revoke, role|작성자 세니
Grant
사용 예시 grant all privileges on
DBNAME
.TABLENAME
to '사용자'@'%'; 사용자 계정에 DBNAME DB에 있는 TABLENAME 테이블의 모든 권한을 준다는 의미grant all privileges on . to '사용자'@'%'; 모든 db 와 테이블에 모든 접근 권한 부여
grant alter on
DBNAME
.TABLENAME
to '사용자'@'%'; 특정 권한만 주고 싶다면 이렇게 하면 된다.REVOKE
사용 예시 REVOKE '권한명' ON SCHEMA.'TABLE.*FROM 'USER'@'HOST';
Union
말 그대로 조합을 뜻한다. 이제껏 우리는 WHERE문을 통해 다향한 조건을 주고 데이터를 불러왔었는데 편하게 여러 SELECT문을 조합해서 만드는 것을 UNION이라고 한다. [실습코드] SELECT PD_ID, PD_NAME FROM PRODUCTS WHERE PD_ID, PD_NAME FROM PRODUCTS WHERE PD_NAME = 'TEST' ORDER BY PD_ID;
REVOKE
✔ 다른 사용자에게 부여한 권한을 회수하기 위한 명령 형식 : revoke <권한리스트> on <객체명> from <사용자 리스트> ◽ <사용자 리스트>에 속한 사용자들로부터 <객체명>에 대한 <권한리스트> 연산들의 실행 권한을 회수 예) kim에게 부여되었던 student 테이블에 대한 select 권한을 회수 revoke select on student from kim
ROLE
롤 삭제
형식 : drop role <롤 이름> 뷰를 이용한 권한 제어