유저 액세스 제한

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
admin