[DATABASE] 데이터베이스 개론_CH11

bin1225·2024년 10월 30일
0

DATABASE

목록 보기
16/19
post-thumbnail

데이터베이스 개론2판(김연희)를 읽고 복습목적으로 내용을 정리한 글입니다.

1. 보안

데이터베이스 보안은 일반적으로 세 가지 유형으로 구분한다.

  • 물리적 환경에 대한 보안
    자연 재해처럼 데이터베이스에 물리적 손실을 발생시키는 위험으로부터 보호

  • 권한 관리를 통한 보안
    접근이 허락된 사용자만 부여된 권한 내에서 데이터베이스를 이용할 수 있도록 한다.

  • 운영 관리를 통한 보안
    사용자의 잘못된 사용으로 데이터 무별성을 해치는 위험으로부터 보호

2. 권한 관리

2.1 권한 관리의 개념

  • 데이터베이스 관리 시스템은 계정이 발급된 사용자가 로그인에 성공했을 경우 데이터베이스에 접근이 가능하도록 접근 제어(access control) 기능을 기본으로 제공한다.

  • 기본적으로 데이터베이스에 존재하는 모든 객체는 해당 객체를 생성한 사용자만 사용 권한을 가진다.

  • 데이터 공유를 위해 생성자는 필요에 따라 다른 사용자에게 자신이 생성한 객체에 대한 권한을 부여한다.

2.2 권한의 부여

GRANT 권한 ON 객체 TO 사용자 [WITH GRANT OPTION]
  • 데이터베이스에 존재하는 모든 유형의 객체에 대한 권한을 설정할 수 있다.

  • 테이블 관련 권한으로는 INSERT,DELETE,UPDATE,SELECT,REFERENCES가 있다.

    • REFERENCES는 외래키 제약조건을 정의할 수 있는 권한이다.
    • UPDATE,SELECT는 테이블의 일부 속성에만 권한을 부여할 수도 있다.
    • WITH GRANT OPTION을 포함하면 권한을 부여받은 사용자가 부여받은 권한을 다른 사용자에게도 부여할 수 있다.
  • 객체에 대한 권한은 해당 객체의 소유자가 부여하지만 시스템 권한은 데이터베이스 관리자가 부여한다.

    • 테이블 생성 및 뷰 생성 등 정의어(DDL)와 관련된 작업에 대한 권한이 시스템 권한에 속한다.

2.3 권한의 취소

REVOKE 권한 ON 객체 FROM 사용자 CASCADE : RESTRICT

권한을 부여받은 사용자가 다른 사용자에게 권한을 부여할 수 있다.
만약 해당 사용자의 권한이 취소될 때 다른 사용자에게 부여한 권한까지 취소할지를 CASCADE, RESTRICT 옵션으로 결정한다.

  • CASCADE : 부여받은 다른 사용자의 권한까지 취소한다.
  • RESTRICT: 지명당한 사용자의 권한만 취소한다.

2.4 역할의 부여와 취소

권한의 관리를 더 쉽게 해주는 것이 역할(role)이다.

CREATE ROLE 롤이름;

GRANT 권한 ON 객체 TO 롤이름;

GRANT 롤이름 TO 사용자

REVOKE 롤이름 FROM 사용자

DROP ROLE 롤이름
  • 위와 같은 형식으로 역할과 역할에게 부여되는 권한을 미리 지정해둔다.
  • 역할 자체를 사용자에게 부여함으로써 해당 역할에 속하는 사용자에 대한 권한을 한꺼번에 관리할 수 있다.

Reference

IT CookBook, 데이터베이스 개론(2판): 기초 개념부터 빅데이터까지_김연희

2개의 댓글

comment-user-thumbnail
2024년 11월 2일

새로운 스터디인가??

1개의 답글