SQL - DCL(Data Control Language)의 GRANT, REVOKE, ROLE

songmin jeon·2023년 11월 23일
0

1. DCL

Data Control Language


1.1. GRANT, REVOKE, ROLE

1.1.1. GRANT

  • 특정 작업에 대한 수행 권한 부여
  • GRANT 부여할권한 (ON 대상객체) TO 부여받을계정
--예)
GRANT CREATE TABLE TO SERVICE
--→ SERVICE 계정에 테이블을 만들 수 있는 권한 부여

1.1.2. REVOKE (시험예상)

  • 특정 작업에 대한 권한 박탈, 회수
REVOKE 회수할권한 (ON 회수할객체) FROM 회수당할계정

1.1.3. ROLE

참고 URL : 링크 , 링크

  • 여러 권한을 그룹으로 묶어서 사용할 수 있게 함
  • ROLE에 속한 권한들을 한꺼번에 사용자 계정에 부여하거나 회수
  • 자주 사용하거나 필수적인 권한들은 ROLE로 설정하면 작업 시간을 단축

내용 파악하기!

1. Run SQL Command Line 실행

2. CONN SYSTEM / 12345;
	--→ SYSTEM 관리자 계정으로 접속 (ID : SYSTEM , PWD : 12345)
    
3. CREATE ROLE ROLE2;
	--→ ROLE2이라는 이름의 ROLE을 생성
    
4. GRANT CREATE TABLE, CREATE SESSION TO ROLE2;
	--→ TABLE 생성 권한, SESSION 생성 권한을 하나의 ROLE로 만들고 이름을 ROLE3으로 저장
    
5. GRANT ROLE2 TO SERVICE;
	--→ SERVICE 계정에게 ROLE2이 가진 권한을 부여

1.2. 권한 부여 실습

다음 권한부여 실습은 Run SQL command Line을 실행하여 실습 한다.

--1. SQL COMMAND LINE을 열어 SYSTEM 관리자 계정으로 접속 (ID : SYSTEM , PWD : 12345)
    CONN SYSTEM / 12345;
  
--2. SERVICE TABLE이 가지고 있는 VIEW 생성 권한, SEQUENCE 생성 권한을 회수
    REVOKE CREATE VIEW, CREATE SEQUENCE FROM SERVICE;
  
--3. ROLE3이라는 이름의 ROLE을 생성
    CREATE ROLE ROLE3;
  
--3. VIEW 생성 권한, SEQUENCE 생성 권한을 하나의 ROLE로 만들고 이름을 ROLE3으로 저장
    GRANT CREATE VIEW, CREATE SEQUENCE TO ROLE3;
  
--4. SERVICE 계정에게 ROLE3이 가진 권한을 부여
    GRANT ROLE3 TO SERVICE;
profile
제가 한 번 해보겠습니다.

0개의 댓글