유저 액세스 제한
Oracle/OracleDB_SQL 2016. 5. 27. 20:31시스템 권한
롤 생성
객체 권한
객체 권한 취소
[유저 액세스 제어]
- 다중 유저 환경에서 DB 액세스 및 사용과 관련한 보안을 유지해야 한다.
Oracle 서버에서의 데이터베이스 보안 기능
- DB 액세스 제어
- DB의 특정 객체에 대한 액세스 권한 부여
- Oracle 데이터 딕셔너리를 통한 권한 부여 및 수신 확인
DB보안
- 시스템 보안 : username과 password, 유저에게 할당된 디스크 공간, 유저가 수행 할 수 있는
시스템 작업등과 같은 시스템 레벨의 DB 액세스 및 사용
- 데이터 보안 : 데이터베이스 객체의 액세스 및 사용, 객체에 대해 해당 유저가 수행할 수 있는
작업
권한이란??
특정 SQL문을 실행 할 수 있는 권리이다.
- 시스템 권한
* DB내에서 특정 작업 수행
* 100개 이상의 권한을 사용할 수 있다.
* 높은 레벨의 시스템 권한을 가진다.
- 객체 권한 : DB 객체의 내용 조작
스키마 : 테이블, 뷰 및 시퀀스와 같은 객체들의 모음이다.
유저 생성
CREATE USER username INDENTIFIED BY password;
유저 시스템 권한
- 유저를 생성하고 DBA는 해당 유저에게 특정 시스템 권한을 부여할 수 있다.
GRANT privilege [, privilege...] TO user [, user| role, PUBLIC...] ;
시스템 권한 |
인증된 작업 |
CREATE SESSION |
데이터베이스에 연결한다. |
CREATE TABLE |
유저의 스키마에 테이블을 생성한다. |
CREATE SEQUENCE |
유저의 스키마에 시퀀스를 생성한다. |
CREATE VIEW |
유저의 스키마에 뷰를 생성한다. |
CREATE PROCEDURE |
유저의 스키마에 내장 프로시저, 함수 또는 패키지를 생 성한다. |
데이터 딕셔너리는 Oracle 서버에서 생성하여 유지 관리하는 테이블과 뷰의 모음으로,
데이터베이스에 대한 정보를 포함하고 있다.
[롤 생성]
- 롤은 유저에게 부여할 수 있는 관련 권한들로 이루어진 명명된 그룹이다.
권한을 쉽게 취소하거나 유지 관리할 수 있다.
- 한 유저에게 여러 롤에 대한 액세스 권한을 부여하거나
동일 롤에 여러 유저를 할당할 수 도 있다.
CREATE ROLE role; (생성할 롤의 이름)
롤을 생성한 후에 DAB는 GRANT문을 사용하여 해당 롤에 권한을 할당하는 것은 물론 유저에
롤을 할당할 수도 있다.
롤 생성 및 롤에 권한 부여
- 롤 생성 : CREATE ROLE manager;
- 롤에 권한 부여 : GRANT create table, create view TO manager;
- 유저에게 롤 부여 : GRANT manager TO alice;
암호 변경
- DBA는 유저 계정을 생성하고 암호를 초기화한다.
ALTER USER username IDENTIFIED BY password;
[객체 권한]
- 특정 테이블, 뷰, 시퀀스, 프로시저에 대해서 특정 작업을 수행할 수 있는 권한이다.
- 각 객체에는 부여할 수 있는 일련의 권한이 있다.
- REFERENCES 권한을 사용하면 다른 유저가 자신의 테이블을 참조하는 Foreign Key 제약조건
을 생성할 수 있다.
* 객체 권한은 객체마다 다양함
* 객체 소유자는 해당 객체에 대한 모든 권한을 소유한다.
* 소유자는 자신의 객체에 대한 특정 권한을 부여할 수 있다.
GRANT object_priv [ (columns) ]
ON object
TO { user|role|PUBLIC }
[WITH GRANT OPTION];
object_priv : 부여할 객체 권한
ALL : 모든 객체 권한
columns : 권한이 부여되는 테이블의 열, 뷰
ON object : 권한이 부여되는 객체
TO : 권한이 부여되는 대상을 식별
PUBLIC : 모든 유저에게 객체 권한 부여
WITH GRANT OPTION : 권한을 부여받은 사림이 다른 유저 및 롤에 객체 권한을 부여할수있음
- 객체에 권한을 부여하려면 해당 객체가 자신의 스키마에 있거나 WITH GRANT OPTION 객체 권한을 부여받아야 한다.
- 객체 소유자는 객체에 대한 객체 권한을 데이터베이스의 다른 유저나 롤에 부여할 수 있다.
'Oracle > OracleDB_SQL' 카테고리의 다른 글
오라클 구조 파일보기 (0) | 2016.05.31 |
---|---|
View (0) | 2016.05.30 |
role 비활성화 (0) | 2016.05.26 |
테이블 생성, 관리 (DDL 문 이용) (0) | 2016.05.25 |
데이터 조작 (0) | 2016.05.24 |