외부 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;



틀린게 있다면 지적 부탁드립니다.ㅜ

+ Recent posts