2023. 3. 8. 20:22ㆍSQLD 정리
데이터베이스 사용자에게 권한을 부여하거나 회수하는 언어
권한 부여 -> GRANT
GRANT 권한
ON 테이블
TO 유저
WITH GRANT OPTION 또는 WITH ADMIN OPTION;
WITH GRANT OPTION
- USER1 이 SELECT 권한을 받았고 USER1은 받은 SELECT 권한으로 USERT2에게 SELECT 권한을 주었다. 그런데 USER1의 SELECT 권한이 취소된다면 USER1 뿐만 아니라 USER2도 권한이 취소된다.
WITH ADMIN OPTION
- USER1 이 SELECT 권한을 받았고 USER1은 받은 SELECT 권한으로 USERT2에게 SELECT 권한을 주었다. 그런데 USER1의 SELECT 권한이 취소된다면 USER1 만 SELECT 권한이 취소되고 USER2의 권한은 취소되지 않는다.
권한 회수 -> REVOKE
REVOKE 권한
ON 테이블
FROM 유저;
권한
-SELECT
-INSERT
-UPDATE
-DELETE
-REFERENCES
-ALTER
-ALL
UPDATE SPORTS_TABLE
SET SOCCER = 'FUN'
WHERE PLAYER = 10
위와 같은 UPDATE문을 수행할 수 있도록 권한을 부여해보자. 보통 UPDATE 권한만 주면 될거라고 생각하지만 WHERE절이 포함되어 있으면 SELECT 권한도 같이 줘야 한다. UPDATE할때 어디를 UPDATE할건지 WHERE 조건에 해당하는걸 조회해야 하기 때문이다.
ROLE
-데이터베이스상에서 많은 사용자들에게 개별적으로 권한을 부여하고 관리하는 어려움을 해소하고자 다양한 권한을 하나의 그룹으로 묶어서 관리할 수 있도록 하는 논리적인 권한의 그룹(명령어)를 지칭
- 다양한 권한을 다양한 유저를 대상으로 관리하기 위한 명령어
- 여러 사용자에게 동일한 role 부여 가능
- role의 생성은 [CREATE ROLE] 권한을 가진 유저가 할 수 있다.
'SQLD 정리' 카테고리의 다른 글
SQL - WHERE 절에 들어가는 연산자 (0) | 2023.03.10 |
---|---|
SQL - DECODE, CASE WHEN (0) | 2023.03.10 |
SQL - 문자형 함수, 숫자형 함수, 날짜형 함수, 형변환 함수 (0) | 2023.03.10 |
DML(Data Manipulation Language), TCL(Transaction Control Language) (0) | 2023.03.10 |
DDL (Data Define Language) (0) | 2023.03.09 |