외부 DB에서 내부 DB로 접속이 필요한 경우 프로세스에 대하여 설명해 봅니다.
전에는 DBA가 관련 업무를 했지만
이번 회사에서는 어플리케이션 담당자가 모든걸 관리해야하더라구요.
----------------------------------------------------------------------------------------
※ 우선 간단하게 순서를 요약해봅니다.
----------------------------------------------------------------------------------------
1. 외부IF 접속용 USER 생성 ex) ID:OUT_USR_IF, PW:!OUT_IF_PWD1 (마스터 계정:MST_USR)
2. 외부IF 접속용 USER에 오픈해줄 VIEW를 마스터 계정으로 생성
3. 외부IF 접속계정이 해당 VIEW나 TABLE을 볼 수 있도록 SYNONYM을 생성
(대부분 SELECT 권한만 주지 INSERT나 UPDATE, DELETE에 대한 권한은 안주는 것으로 알고 있습니다.
물론 필요한 경우에는 주어야되고 이러한 경우에는 TABLE에 바로 권한을 주도록 하고 있습니다.)
→ 이 내용이 틀린경우는 다른 방법이 있으면 알려주세요.
4. 외부IF 접속계정에 SYNONYM 권한주기
(* 만약 DB 서버에 접근통제가 걸려 있는 경우에는 외부접속 IP 방화벽 해제 요청 작업 必)
[간단요약 풀어보기]
----------------------------------------------------------------------------------------
1. 외부IF 접속용 USER 생성
----------------------------------------------------------------------------------------
CREATE USER OUT_USR_IF identified by "!OUT_IF_PWD1"
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
GRANT resource, connect, dba to OUT_USR_IF;
※ (주의) DBA 권한은 주어야 하는경우만 추가하도록 합니다..
※ (주의) DEFAULT, TEMPORARY 테이블스페이스는 중요하니까 잘 고려하여 추가하도록 해야합니다.
※ (주의) 정보보안에 신경써야 하는 회사라면 비밀번호 생성시 다음의 패턴을 따르셔도 좋을듯 합니다.
- ID에 들어가는 패턴 비사용
- 8~12자리 영어,숫자,문자 3가지 포함 必
(제가 근무하는 회사는 정보보안상 위 내용을 최소로 지키고 있습니다.
그리고 최근에는 3개월에 한번 바꾸는 방법을 도입하려고 하는데 어플리케이션 장애가 걱정됩니다.)
----------------------------------------------------------------------------------------
2. 외부IF 접속용 USER에 오픈해줄 VIEW를 마스터 계정(ID:MST_USR)으로 생성
----------------------------------------------------------------------------------------
-- MST_USR계정으로 로그인
CREATE OR REPLACE VIEW V_OUT_TEST (COL1, COL2)
AS SELECT "컬럼1" COL1 , "컬럼2" COL2
FROM DUAL;
----------------------------------------------------------------------------------------
3. SYNONYM 생성
----------------------------------------------------------------------------------------
GRANT CREATE SYNONYM TO SYN_OUT_TEST FOR MST_USR.V_OUT_TEST;
----------------------------------------------------------------------------------------
4. 외부IF 접속계정에 SYNONYM에 대한 권한주기
----------------------------------------------------------------------------------------
GRANT select ON SYN_OUT_TEST TO OUT_USR_IF;
----------------------------------------------------------------------------------------
5. 부여한 권한을 회수하는 방법
----------------------------------------------------------------------------------------
REVOKE SYN_OUT_TEST FROM OUT_USR_IF;
틀린게 있다면 지적 부탁드립니다.ㅜ
'■ 공부 > ORACLE' 카테고리의 다른 글
오라클 프로시저 실행하기 EXCUTE (0) | 2017.11.23 |
---|---|
Oracle 대형 데이터형(BLOB, CLOB, LOB, NCLOB, BFILE)과 Java 예제 (1) | 2015.10.13 |