데이터베이스의 보안
조직에서 허가한 사용자만 데이터베이스에 접근할 수 있도록 통제
물리적 환경에 대한 보안:
자연재해와 같이 데이터베이스에 물리적 손실을 발생시키는 위험
운영관리를 통한 보안:
접근이 허락된 사용자가 권한 내에서 데이터베이스를 사용하는 동안 데이터 무결성을 유지하도록 제약조건 정의하고 통제
권한 관리를 통한 보안:
권한 없는 사용자로부터 보호. 접근이 허락된, 즉 계정이 발급된 사용자만 권한 내에서 데이터베이스 사용가능하고 사용자별로 사용범위와 수행가능작업 제한
권한 부여: GRANT 권한 ON 객체 TO 사용자 [WITH GRANT OPTION];
- 객체 소유자가 다른 사용자에게 객체에 대한 사용 권한 부여
- 부여 가능한 주 권한: INSERT, DELETE, UPDATE, SELECT, REFERENCE
- 기본적으로 GRANT문으로 부여받은 권한은 타 사용자에게 부여 불가
- PUBLIC 모든 사용자에게 똑같은 권한 부여하고 싶은 경우
- WITH GRANT OPTION 사용자가 자신이 부여받은 권한을 다른 사용자에게 부여할 수 있도록 함
Q1. 고객 테이블에 대한 검색 권한을 사용자 HONG에게 부여
GRANT SELECT ON 고객 TO HONG;
Q2. 고객 테이블에 대한 삽입,삭제 권한을 모든 사용자에게 부여
GRANT INSERT, DELETE ON 고객 TO PUBLIC;
Q3. 고객 테이블 구성하는 속성 중 등급과 적립금 속성에 대한 수정 권한을 사용자 PARK에게 부여
GRANT UPDATE(등급, 적립금) ON 고객 TO PARK;
Q4. 고객 테이블에 대한 검색 권한을 WITH GRANT OPTION을 포함해 사용자 LEE에게 부여
GRANT SELECT ON 고객 TO LEE WITH GRANT OPTION;
GRANT문으로 데이터베이스 관리자가 시스템 권한(데이터베이스 관리 관련 작업 권한. CREATE등) 부여
Q1. 테이블 생성할 수 있는 시스템 권한을 사용자 SONG에게 부여
GRANT CREATE TABLE TO SONG;
Q2. 뷰 생성 시스템 권한을 SIN에게 부여
GRANT CREATE VIEW TO SIN;
권한 취소, REVOKE 권한 ON 객체 FROM 사용자 CASCADE | RESTRICT;
- 객체 소유자가 다른 사용자에게 부여한 객체 사용 권한 취소
- 사용자 A>B>C 순으로 권한 부여한 경우
- CASCADE:A가 B뿐만 아니라 C가 받은 권한도 연쇄적으로 함께 취소
- RESTRICT: 권한 취소시 C가 부여받은 권한은 취소 안됨
- 시스템 권한 취소시 객체 지정할 필요 없음: REVOKE CREATE TABLE FROM HONG;
역할: 편리한 작업 가능, 여러 사용자에게 동일한 권한 부여하고 취소 작업을 편리하게 수행 가능. 권한 관리가 쉬워짐.
역할 생성, CRATE ROLE 롤이름;
역할에 대한 권한 추가, GRANT 권한 ON 객체 TO 롤이름;
Q1. 고객 테이블에 대한 검색 삽입 삭제 권한을 ROLE_1역할에 넣어보자
GRANT SELECT, INSERT, DELETE ON 고객 TO ROLE_1;
역할 부여, GRANT 롤이름 TO 사용자;
Q1. 고객 테이블에 대한 검색, 삽입 삭제 기능 포함한 ROLE_1 역할을 사용자 HONG에게 부여하기
GRANT ROLE_1 TO HONG;
역할 취소, REVOKE 롤이름 FROM 사용자;
역할 제거, DROP ROLE 롤이름;
제거된 역할 부여받은 모든 사용자에 대해 역할이 속해있던 권한 모두 사라짐
데이터베이스 관리자에 의해 수행
'학교수업 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 회복과 병행 제어 (0) | 2022.06.14 |
---|---|
[데이터베이스] 9. 정규화 (0) | 2022.06.14 |
[데이터베이스] 7.4 뷰(View) (0) | 2022.06.14 |
SQL (0) | 2022.04.21 |
6장. 관계 데이터 연산 (0) | 2022.04.21 |