Download presentation
Presentation is loading. Please wait.
1
15 사용자 권한 제어 데이터베이스 보안 권한 롤 동의어
2
데이터베이스 보안 다중 사용자 환경(multi-user environment) 중앙 집중적인 데이터 관리
불법적인 접근 및 유출 방지를 위해 보안 대책 필요 오라클에서는 사용자는 자신이 생성한 객체에 대해 소유권을 가지고 데이터에 대한 조작이나 조회 가능 다른 사용자가 소유한 객체는 소유자로부터 접근 권한을 부여받지 않는 한 접근 불가 다중 사용자 환경에서는 데이터베이스 관리자의 암호를 철저하게 관리 중앙 집중적인 데이터 관리 분산적으로 관리되는 기존의 파일 시스템보다 보안이 취약할 수 있으므로 철저한 보안 대책 필요 15장. 사용자 권한 제어
3
오라클에서 지원하는 데이터베이스 보안 정책 시스템 보안 데이터 보안
시스템 관리 차원에서 데이터베이스 자체에 대한 접근 권한을 관리 데이터베이스 관리자는 사용자 계정, 암호 관리, 사용자별 허용 가능한 디스크공간 할당 예 사용자의 접근 패턴을 감시하여 의심스러운 사용자 시스템 접속을 차단 일정 주기로 암호를 변경하지 않는 사용자의 접속을 차단 데이터 보안 사용자별로 객체를 조작하기 위한 동작 관리 데이터베이스 객체에 대한 접근 권한을 관리 scott에게 테이블, 뷰, 인덱스와 같은 객체를 생성할 수 있는 권한을 부여 scott가 만든 테이블을 다른 사용자가 접근할 수 없도록 접근 권한 제한 15장. 사용자 권한 제어
4
권한(Privilege) 권한이란? 권한의 종류 권한은 사용자가 데이터베이스 시스템을 관리하거나 객체를 이용할 수 있는 권리
시스템 권한 시스템 차원의 자원 관리나 사용자 스키마 객체 관리 등과 같은 데이터베이스 관리 작업을 할 수 있는 권한 오라클에서는 테이블, 뷰, 롤백 세그먼트, 프로시져와 같은 객체를 생성, 삭제, 수정하는 작업과 관련된 140여 종류의 시스템 권한을 지원 객체 권한 테이블, 뷰, 시퀀스, 함수 등과 같은 객체를 조작할 수 있는 권한 객체의 종류에 따라 서로 다른 유형의 객체 권한 지원 테이블의 칼럼별로 insert, update, references등의 권한을 상세 부여 가능 15장. 사용자 권한 제어
5
시스템 권한 시스템 권한 데이타베이스 관리자가 가지는 시스템 권한
데이터베이스 관리자나 일반 사용자에 의해 데이터베이스를 관리하는 권한 데이타베이스 관리자가 가지는 시스템 권한 사용자 생성, 삭제, 사용자 계정에서 객체의 생성 또는 수정, 데이터베이스 백업 관리 15장. 사용자 권한 제어
6
일반 사용자 일반 사용자가 가지는 시스템 권한 사용자가 생성한 객체를 관리, 내장 프로시저를 관리 15장. 사용자 권한 제어
7
시스템 권한 부여 시스템 권한 부여 시스템 권한은 특정 사용자나 모든 사용자에게 부여 가능 롤에도 시스템 권한 부여 가능
데이터베이스 관리자가 GRANT 명령문을 사용하여 일반 사용자에게 시스템 권한을 부여 가능 15장. 사용자 권한 제어
8
시스템 권한 부여 사용 예 15장. 사용자 권한 제어
9
현재 세션에 부여된 시스템 권한 조회 SESSION_PRIVS 현재 세션에서 사용자와 롤에 부여된 시스템 권한을 조회 가능
15장. 사용자 권한 제어
10
시스템 권한 철회 시스템 권한 철회 데이터베이스 관리자나 권한을 부여한 사용자는 다른 사용자에게 부여한 시스템 권한을 철회 가능 REVOKE 명령문 사용하여 시스템 권한 철회 15장. 사용자 권한 제어
11
객체 권한 객체 권한 객체 권한은 테이블, 뷰 , 시퀀스, 함수 등과 같이 객체별로 사용할 수 있는 권한
15장. 사용자 권한 제어
12
객체 권한 부여 객체 권한 부여 데이터베이스 관리자나 객체 소유자가 사용자와 롤에게 객체 권한 부여 가능
GRANT 명령문을 사용해 권한 부여 15장. 사용자 권한 제어
13
객체 권한 부여 사용 예1 15장. 사용자 권한 제어
14
객체 권한 부여 사용 예2 15장. 사용자 권한 제어
15
객체 권한 조회 15장. 사용자 권한 제어
16
객체 권한 조회 15장. 사용자 권한 제어
17
객체 권한의 철회 객체 권한의 철회 사용자와 롤에 부여된 객체 권한은 데이타베이스 관리자나 객체 소유자가 철회 가능
REVOKE 명령문을 사용하여 철회 15장. 사용자 권한 제어
18
객체 권한의 철회 사용 예 15장. 사용자 권한 제어
19
롤(role) 롤 개념 롤 부여 다수 사용자와 다양한 권한을 효과적으로 관리하기 위하여 서로 관련된 권한을 그룹화한 개념
일반 사용자가 데이터베이스를 이용하기 위한 공통적인 권한(데이터베이스 접속권한, 테이블 생성, 수정, 삭제, 조회 권한, 뷰 생성 권한)을 그룹화 이러한 권한을 그룹화하여 롤로 정의해서 사용자에게 롤에 대한 접근 권한을 부여하면 권한 관리를 효과적으로 함 롤 부여 활성화 또는 비활성화를 통한 일시적 권한 부여 철회 가능 암호 부여 가능 사용자 또는 다른 롤에 대한 접근 권한 부여 및 철회 가능 자신에 대한 롤 부여나 순환적인 부여는 불가능 롤은 특정 소유자나 특정 객체에 속하지 않음 15장. 사용자 권한 제어
20
사용자, 롤, 권한간의 관계 15장. 사용자 권한 제어
21
롤 종류 사전에 정의된 롤 사용자 접속, 자원 생성, DBA 등과 같이 공통적으로 사용되는 권한은 사전에 롤로 정의하여 제공됨 사전에 정의된 롤도 부여, 철회 가능 사용자 정의 롤 15장. 사용자 권한 제어
22
사전에 정의된 롤 CONNECT 롤 RESOURCE 롤 DBA 롤 사용자가 데이터베이스에 접속하여 세션을 생성할 수 있는 권한
테이블 또는 뷰와 같은 객체를 생성할 수 있는 권한 RESOURCE 롤 사용자에게 자신의 테이블, 시퀀스, 프로시져, 트리거 객체 생성 할 수 있는 권한 사용자 생성시 CONNECT 롤과 RESOURCE 롤을 부여 DBA 롤 시스템 자원의 무제한적인 사용이나 시스템 관리에 필요한 모든 권한 DBA 권한을 다른 사람에게 부여할 수 있음 모든 사용자 소유의 CONNECT, RESOURCE, DBA 권한을 포함한 모든 권한을 부여 및 철회 가능 15장. 사용자 권한 제어
23
롤 생성 롤 생성 CREATE ROLE 명령문으로 생성 롤에 암호 부여 가능 롤 이름은 사용자나 다른 롤과 중복될 수 없음
15장. 사용자 권한 제어
24
롤 생성 예 15장. 사용자 권한 제어
25
롤에 권한 부여 롤에 권한 또는 다른 롤 부여 롤에 시스템 권한이나 객체 권한 또는 다른 롤을 부여 가능
GRANT 명령문 사용 15장. 사용자 권한 제어
26
롤에 권한 부여 롤에 시스템 권한 부여 롤에 객체 권한 부여
DBA 또는 GRANT ANY PRIVILEGE 권한을 가진 사용자는 롤에 시스템 권한을 부여 가능 롤에 객체 권한 부여 사용자가 롤에 객체을 부여할 수 있는 경우 사용자가 객체의 소유자인 경우 WITH GRANT OPTION 옵션과 함께 객체 권한을 부여 받은 경우 15장. 사용자 권한 제어
27
롤에 롤 부여 롤 부여 롤은 사용자 또는 다른 롤에게 롤 부여
롤을 부여받은 사용자나 다른 롤은 해당 롤이 가지는 모든 권한 사용 긴,ㅇ WITH ADMIN OPTION WITH ADMIN OPTION을 부여 받은 롤은 사용자나 다른 롤에게 해당 롤을 재부여 가능 15장. 사용자 권한 제어
28
롤 조회 role_sys_privs 롤에 부여한 시스템 권한 조회 15장. 사용자 권한 제어
29
롤 조회 role_tab_privs, user_role_privs 롤에 부여한 시스템 권한 조회 15장. 사용자 권한 제어
30
동의어 동의어의 개념 동의어의 필요성 하나의 객체에 대해 다른 이름을 정의하는 방법
데이터베이스 객체의 소유권은 해당 객체를 생성한 사용자에게 있음 사용자가 소유한 객체에 접근하기 위해서는 소유자로부터 접근 권한을 부여받아야만 함 다른 사용자가 소유한 객체를 조회할 때에는 소유자의 아이디를 객체 이름 앞에 첨부해야 함 예 : 학생 테이블의 소유자는 scott, 홍길동이 scott로부터 학생 테이블에 대한 접근 권한을 부여받아 학생 테이블을 조회하려면? SELECT * FROM scott.student; <= 소유자 아이디를 테이블 이름 앞에 지정 객체를 조회할 때마다 객체의 소유자를 일일이 지정하는 방법은 매우 번거러우므로 이런 번거로움을 최소화하기 위해 주로 동의어 사용 15장. 사용자 권한 제어
31
동의어 동의어와 별명(Alias) 차이점 동의어 생성 동의어는 데이터베이스 전체에서 사용할 수 있는 객체
별명은 해당 SQL 명령문에서만 사용 동의어 생성 개별 사용자를 대상으로 한 전용 동의어, 전체 사용자를 대상으로 한 공용 동의어 존재 15장. 사용자 권한 제어
32
동의어의 종류 전용 동의어(private synonym) 공용 동의어(public sysnonym)
객체에 대한 접근 권한을 부여 받은 사용자가 정의한 동의어로 해당 사용자만 사용 공용 동의어(public sysnonym) 권한을 주는 사용자가 정의한 동의어로 누구나 사용 DBA 권한을 가진 사용자만 생성 (예 : 데이터 딕셔너리) 15장. 사용자 권한 제어
33
전용 동의어 생성 예 15장. 사용자 권한 제어
34
전용 동의어 생성 예 15장. 사용자 권한 제어
35
공용 동의어 생성 예 15장. 사용자 권한 제어
36
동의어 삭제 동의어 삭제 DROP SYNONYM 명령문 사용 전용 동의어 삭제 예 15장. 사용자 권한 제어
37
동의어 삭제 예 공용 동의어 삭제 예 15장. 사용자 권한 제어
Similar presentations