1. 사용자 관리와 시스템 권한 부여
CREATE USER user_name IDENTIFIED BY password;
사용자를 생성하기 위해 SYS 또는 SYSTEM으로 로그인 해야 한다.
권한 부여 형식
GRANT privilege_name ...
TO user_name;
SYSTEM 계정 창에서 CREATE 문을 사용해 사용자를 생성 후,
권한 부여를 한다.
테이블 생성하려고 하면 오류가 뜬다
테이블 생성에 대한 권한이 없기 때문이다.
이에 다시 SYSTEM계정 창으로 가서,

GRANT CREATE TABLE TO 사용자이름;
SYSTEM으로 접속하여
테이블 스페이스 권한을 부여받는다.
롤(ROLE)을 사용한 권한 부여
DBA 롤
사용자들이 소유한 DB객체를 관리하고 사용자들을 작성,변경,제거할 수있는 모~든 권한을 갖고있다.
CONNECT 롤
RESOURCE 롤
사용자가
목적
사용자애개 보다 간편하게 권한을 부여 하겠끔
롤 생성하는 방법
CREATE ROLE role_name;
시스템에서 롤 생성
SYSTEM 계정에서
CREATE ROLE role_name;
GRANT CREATE SESSIOON, CREATE TABLE, CREATE VIEW TO role_name;
GRANT role name TO role_name;
롤의 회수
DROP ROLE role_name;
DB 보안 개요
정보조직에서 가장 중요한 정보자산 가치를 갖는 것이 바로 데이터베이스이다. 실제로 정보보호의 가장 근본적인 보호 대상이 바로 데이터베이스에 수록된 중요 정보 자산이라 할 것이다. 데이터베이스 보안에는 크게 DB 데이터 보안과 DB 관리자 보안으로 나눌 수 있으며 이를 토대로 효율적인 DBMS 보안 운영이 요구된다.
● DB 보안 요구 사항
① 부적절한 접근 방지
인가된 사용자의 접근만이 허락되고 모든 접근 요청은 DBMS 가 검사를 한다. 또한 데이터베이스 내의 데이터는 의미적으로 관련이 있으므로, 관련 데이터 항목 값을 직접 접근하지 않고도 알려진 값들로부터 추론 가능하다. 이는 레코드나 어트리뷰트 같이 파일 보다 더 세밀한 객체에 대한 접근 통제를 적용해야 함을 의미한다.
② 추론 방지
추론이란 기밀이 아닌 데이터로부터 기밀 정보를 얻어내는 가능성을 의미한다. DB 내의 데이터는 의미적으로 상호 연관이 있을 가능성이 있고 데이터에 직접 접근하지 않고 가용한 데이터 값을 이용한 추론이 가능하다. 통계적인 데이터 값으로부터 개별적인 항목에 대한 정보를 추적하지 못하도록 해야 하는 것을 의미한다.
③ 데이터 무결성
인가되지 않은 사용자의 데이터 변경이나 파괴, 저장, 데이터를 손상 시킬 수 있는 시스템 오류, 고장 들로부터 데이터베이스를 보호해야 한다. 적절한 시스템 통제와 다양한 백업 및 복구 절차 등을 통하여 DBMS 가 수행해야 한다.
④ 감사 기능
DB 에 대한 모든 접근에 대한 감사 기록 생성이 되어야 한다. DB 접근에 대한 후속적인 분석 및 추론에 의해 비밀 데이터가 노출되었는지를 판단할 수 있는 근거가 된다.
⑤ 사용자 인증
별도의 엄격한 사용자 인증 방식이 필요하다.
⑥ 다단계 보호
데이터에 대한 등급 분류를 통해 기밀성과 무결성을 보장해야 한다.
● DB 보안 기능
① 접근제어(access control)
DBMS 는 로그인 과정을 통제하기 위해 사용자 계정과 비밀번호를 관리한다.
② 보안 및 권한 관리
DBMS 는 특정 사용자 또는 사용자들의 그룹이 지정된 데이터베이스 영역만 접근할 수 있고 그 외의 영역은 접근할 수 없도록 통제하는 기능을 제공해야 한다.
● DB 관리자 권한 보안
데이터베이스 관리자들은 특별한 작업을 수행해야 하므로 데이터베이스 관리자 계정에 대해서는 보다 안전한 인증을 필요로 한다.
- Operation System에 의한 인증
- Network 인증 서비스(Kerberos 등)에 의한 인증
● DBMS 운영
실제의 DBMS 시스템을 운영함에 있어서 각 DBMS 플랫폼별로 주어진 보안 기능을 적절히 활용하여 안정성 있는 DB 보안 관리를 해야 한다.
① Oracle 보안운영: SSO 기능 설정, 인증(LDAP, PKI 인증), OID(Oracle Internet Directory)를 통한 디렉터리 활동 보안
② Informix 보안운영 : 서버 설정(환경 변수 및 공유 메모리 파라미터 설정, 디스크 파라미터 설정 등), 디스크 관리, 로그 관리, 모니터링
③ MS-SQL 보안 운영 : 인증(Window 인증, 혼합 인증(Window 인증 + SQL 서버 인증))
④ MySQL 보안운영 : 서버의 시작과 종료 방법 숙지(수동, 자동), 사용자 계정 유지관리, 로그 파일 유지
● DB 보안 개발
데이터베이스에 접근할 수 있는 데이터베이스 어플리케이션에 보안상 문제점이 있을 경우 이를 이용하여 DB 정보에 주어진 권한을 넘어 접근할 수가 있게 된다. 특히 최근에는 웹 서버와 데이터베이스 서버 간에 연동이 되어 정보 서비스를 구축하는 웹-DB 연동 어플리케이션 개발 과정에서 보안을 고려한 개발이 더욱 요구된다.
- 원시 ODBC 에러를 사용자가 볼 수 없도록 코딩한다.
- 데이터베이스 어플리케이션을 최소 권한으로 구동한다.
- 데이터베이스 내장 프러시저를 사용한다.
- 테이블 이름, 칼럼 이름, SQL 구조 등이 외부 HTML에 포함되어 나타나서는 안 된다.