데이터베이스 권한 관리

2025. 6. 10. 20:23·Study/DateBase
반응형

 

보안

데이터베이스 보안의 목표 → 조직에서 허가한 사용자만 데이터베이스에 접근할 수 있도록 통제하여 보안을 유지하는 것

물리적 환경에 대한 보안

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

 

권한 관리를 통한 보안

접근이 허락된 사용자만 권한 내에서 데이터베이스를 사용하도록 보호

계정이 발급된 사용자만 데이터베이스에 접근할 수 있도록 통제하고, 사용자별로 사용 범위와 수행 가능한 작업 내용을 제한

 

운영 관리를 통한 보안

접근이 허락된 사용자가 권한 내에서 데이터베이스를 사용하는 동안 데이터 무결성을 유지하도록 제약조건을 정의하고 위반하지 않도록 통제

 

권한 관리

접근 제어(access control): 계정이 발급된 사용자가 로그인에 성공했을 경우에만 데이터베이스에 접근 허용, DB 관리자가 사용자 계정을 관리

 

각 사용자는 허용된 권한 내에서만 DB를 사용하며, 로그인에 성공한 사용자도 DB 사용 범위와 수행 가능한 작업이 제한된다.

보안을 위한 데이터 단위는 DB 전체 ~ 특정 데이터 값까지 다양할 수 O

 

데이터베이스의 모든 객체는 객체를 생성한 사용자만 사용 권한을 갖는다.

데이터베이스 객체의 소유자는 필요에 따라 SQL문을 이용해 다른 사용자에게 사용 권한을 부여하거나 취소할 수 있다.

 

객체 권한 부여: GRANT문

객체의 소유자가 다른 사용자에게 객체에 대한 사용 권한을 부여

INSERT, DELETE, UPDATE, SELECT, REFERENCES 등

REFERENCES: 외래키 제약조건을 정의할 수 있는 권한

UPDATE나 SELECT같은 경우, 테이블 일부 속성에 대한 권한 부여도 가능

여러 권한을 한번에 부여도 가능

* 기본적으로 GRANT문으로 부여받은 권한을 다른 사용자에게 부여할 수 X

 

PUBLIC: 모든 사용자에게 권한을 똑같이 부여하고 싶을 때 사용자 지정 대신 PUBLIC으로 작성

WITH GRANT OPTION: 사용자가 자신이 부여받은 권한을 다른 사용자에게 부여할 수 있도록 함

 

시스템 권한 부여: GRANT문

데이터베이스 관리자가 부여

시스템 권한: 데이터베이스 관리와 관련된 작업에 대한 권한 ex. CREATE TABLE 등 DDL 관련 권한

객체 지정 없이 GRANT 권한 TO 사용자로 사용

 

객체 권한 취소: REVOKE문

객체 소유자가 다른 사용자에게 부여한 객체의 사용 권한을 취소

사용자 A가 B에게 권한을 부여하여 B가 C에게 같은 권한을 부여한 경우

CASCADE 옵션: 권한 취소할 A가 B, C 모두 연쇄적으로 권한을 함께 취소

RESTRICT 옵션: 권한을 취소할 A가 C가 부여받은 권한까지 취소하지 X

 

시스템 권한 취소: REVOKE문

데이터베이스 관리자가 다른 사용자에게 부여한 시스템 권한을 취소

객체 지정 X

 

권한 목록

권한 부여에 대한 내용을 기록한 것

 

역할(role)

여러 권한을 그룹으로 묶어놓은 것

 

여러 사용자에게 동일한 권한들을 부여하고 취소하는 작업을 편리하게 수행할 수 있도록 함 → 권한 관리가 쉬워짐

 

역할 생성: CREATE ROLE문

새로운 역할 생성은 DB 관리자가 담당

 

역할에 권한 추가: GRANT문

객체와 관련된 권한을 역할에 추가하는 작업은 객체의 소유자가 담당

 

역할 부여: GRANT문

역할을 사용자에게 부여하는 것은 DB 관리자가 담당

 

역할 취소: REVOKE문

사용자에게 부여한 역할 취소는 DB 관리자가 담당

 

역할 제거: DROP ROLE문

역할 제거는 DB 관리자가 담당

 

 

 

 

출처: 데이터베이스 개론 2판 김연희 저, MySQL로 배우는 데이터베이스 개론과 실습 박우창 외2
반응형

'Study > DateBase' 카테고리의 다른 글

데이터베이스 회복과 병행 제어  (0) 2025.06.10
데이터베이스 정규화  (1) 2025.06.10
데이터베이스 설계와 인덱싱  (5) 2025.06.08
데이터베이스 언어 SQL  (3) 2025.05.25
데이터베이스 모델과 연산  (0) 2025.04.12
'Study/DateBase' 카테고리의 다른 글
  • 데이터베이스 회복과 병행 제어
  • 데이터베이스 정규화
  • 데이터베이스 설계와 인덱싱
  • 데이터베이스 언어 SQL
harchiving
harchiving
Computer Science Engineering, undergraduate student
  • harchiving
    harchiving
    harchiving
  • 전체
    오늘
    어제
    • 분류 전체보기 (28)
      • Study (21)
        • JavaScript (6)
        • OS (8)
        • DateBase (7)
      • Review (1)
      • OSS (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바스크립트
    SQL
    OS
    SQLD
    코테공부
    DB
    프로그래밍
    데이터베이스
    FE
    모던자바스크립트딥다이브
    공룡책
    js
    DATABASE
    OperatingSystem
    operatingsystemconcepts
    코드트리
    운영체제
    javascript
    프론트엔드
    데이터베이스개론
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
harchiving
데이터베이스 권한 관리
상단으로

티스토리툴바