정의: 권한 없는 사용자의 접근을 막는 것

DBMS 사용권한: 사용자가 특정 객에체 대해 특정 연산을 수행할 수 있는 권한

권한에 따른 사용자 분류

  • 데이터베이스 관리자(DBA)
    • 모든 권한 보유
    • 모든 테이블 생성, 읽기 권한 부여 가능
  • 객체 소유자(owner)
    • 해당 객체에 대한 테이블 생성, 읽기 권한 부여 가능
  • 기타 사용자

오라클에서의 사용자 권한제어

  • 시스템 권한: 사용자의 생성, 테이블 테이블 스페이스의 생성 등과 같이 주로 시스템의 자원을 관리할 수 있는 권한
    • sys, system 관리자 계정은 모든 시스템 권한을 가짐
  • 객체 권한:
    • 해당 객체에 대해 select, insert, delete, updata 등과 같은 DML을 실행할 수 있는 권한

SQL에서의 권한 제어문 GRANT

  • 정의: 권한을 부여하는 명령
  • 형식: grant <권한리스트> on <객체명> to <사용자리스트>
  • 예시: grant select on student to USER1 (USER1에게 student 테이블을 선택(조회) 할 수 있는 권한 제공
  • references 권한: 다른 테이블의 기본키를 외래키로 등록 할 수 있는 권한
  • 모든 사용자들에게 권한 부여: to public (사용자 리스트)
  • 해당 테이블의 모든 권한 부여: all privileges (권한 리스트)
  • ~with grant option: 다른 사용자에게 권한을 부여할 수 있는 권한도 제공

SQL에서의 권한 제거 REVOKE

  • 다른 사용자에게 부여한 권한을 회수하기 위한 명령
  • 형식: revoke <권한리스트> on <객체명> from <사용자리스트>
  • 예시: revoke select on student from kim
  • revoke 된다면 권한을 부여받은 사람이 권한을 부여한 사람도 권한이 회수된다.

롤(ROLE)

  • 권한을 부여할 사용자가 많을 경우 사용
  • 권한을 부여받을 그룹을 생성
  • 형식:
    • grant <롤리스트> to <사용자리스트>
    • revoke <롤리스트> to <사용자리스트>
    • drop roll <롤리스트>
  • 예시: grant employee to USER1, USER2

'CS > DataBase' 카테고리의 다른 글

데이터베이스 설계  (0) 2023.04.30
물리적 저장 구조와 인덱스  (0) 2023.04.26
무결성과 보안  (1) 2023.04.07
집계 함수  (0) 2023.04.01
SQL 1  (0) 2023.03.24

+ Recent posts