Both sides previous revisionPrevious revision | |
data_control_language [2015/09/12 16:10] – ledyx | data_control_language [2015/09/13 17:31] (current) – 제거됨 ledyx |
---|
= Data Control Language = | |
{{tag>SQL Database}} | |
| |
DB **사용자**를 **생성**하고 **권한 제어**하는 명령어 | |
| |
= 유저와 권한 = | |
== 유저 생성과 시스템 권한 부여 == | |
* 권한 부여 | |
| |
|<70%>| | |
^ GRANT CREATE ^USER TO 유저ID; ^유저 생성 권한 ^ | |
^ ::: ^SESSION TO 유저ID; ^로그인 권한 ^ | |
^ ::: ^TABLE FROM 유저ID; ^테이블 생성 권한 ^ | |
| |
| |
* 권한 취소 | |
<sxh sql> | |
REVOKE CREATE SESSION; | |
REVOKE CREATE TABLE FROM 유저ID; | |
</sxh> | |
| |
* 유저 생성 | |
<sxh sql> | |
CREATE USER 유저ID IDENTIFIED BY 암호; | |
</sxh> | |
| |
* 유저 삭제 | |
<sxh sql> | |
DROP USER 유저ID [CASCADE] --CASCADE : 해당 유저가 생성한 OBJECT도 삭제 | |
</sxh> | |
| |
== OBJECT에 대한 권한 부여 == | |
* 특정 유저가 소유한 객체(OBJECT) 권한 부여 | |
* OBJECT 권한 : 테이블, 뷰 등에 대한 **S/I/D/U** 작업 명령어 권한 | |
예) 유저1이 생성한 테이블을 유저2에게 조회(SELECT) 권한 부여 | |
<sxh sql> | |
GRANT SELECT ON 테이블/뷰명 TO 유저ID; | |
</sxh> | |
| |
= ROLE을 이용한 권한 부여 = | |
* 권한 그룹 부여 | |
* GRANT 하나하나 매번 할당하기에는 너무 불편함. | |
* ROLE은 유저에게 직접 SYSTEM 및 OBJECT 권한을 모두 부여할 수 있으며, 다른 ROLE을 포함하여 유저에게 부여될 수 있다. | |
\\ | |
* ROLE 생성 및 부여 | |
<sxh sql> | |
CREATE ROLE ROLE명; | |
GRANT ROLE명 TO 유저ID; | |
</sxh> | |