요즘 블로그에 오라클관련된 글이 뜸한것 같아서 한번 올려보겠습니다. 오늘 있었던 일인데 보안관련해서 계정의 잡과 프로시저, 펑션등의 생성, 수정, 삭제를 금지하였더니 담당자들이 업무처리를 못해서 문제가 생겼는데요.
보안관련 점검이 나온다고 부랴부랴 적용이 되어서 불편함을 감수할 수 밖에 없었습니다. 오늘은 오라클 시노님(SYNONYM )에 대해서 알아보려 합니다.
예전부터 여기부분을 정리하려고 벼르고 있었는데 오늘 우연찮게 글을 쓰게 되네요.
딱딱한 설명보다 서술형으로 설명을 드리겠습니다. [테스트계정]이 있고 테이블1 부터 테이블 100까지 있다고 가정합시다. 서로서로 테이블을 참조해서 사용을 한다고 하면 오라클에서는 참조하는 방법을 이렇게 합니다.
SELECT * FROM [테스트계정].테이블2...
SELECT * FROM [테스트계정].테이블3...
이렇게 하면 다른계정에서 [테스트계정]의 테이블을 가져올 수가 있는데요. 물론 [테스트계정]이 타계정에게 접근권한을 주었을 경우입니다.
토드같은 디비툴에서는 화면을 보면서 바로 권한을 부여해줄 수가 있는데 실제적으로는 아래와 같이 권한이 부여됩니다.
권한은 GRANT 명령어입니다.
[테스트계정]으로 로그인한 뒤
이렇게 권한을 부여해줄 수 있습니다.
물론 그냥 사용해도 관계는 없지만 계정에 있는 테이블의 목록을 노출시킨다는 취약점이 발생되어서 오라클 시노님(SYNONYM )을 주어서 테이블의 노출도 막고 쿼리의 복잡성도 줄일 수 있습니다.
이런식으로 줄여서 쓸수가 있는것이죠.
지우는것도 다른 것과 마찬가지로 DROP 명령어를 사용합니다.
간단하게나마 오라클 시노님(SYNONYM )에 대해서 정리를 해보았는데요 이해가 잘 되시나요? 이것저것 만들어보다보면 금방 이해가 되실겁니다.
'IT정보센터 > ORACLE' 카테고리의 다른 글
[오라클팁] 커밋 후 특정시간내 삭제한 자료 복원하기 (0) | 2021.07.06 |
---|---|
ROLLUP을 이용하여 부서별 통계 및 부분합계 구하기 (0) | 2021.06.25 |
오라클 중복제거 - 고유키값이 없을경우 중복삭제 (0) | 2021.06.24 |
오라클 Base64 인코딩/디코딩 내장함수 (0) | 2021.06.23 |
오라클 힌트 및 인덱스 사용에 관한 잡담 (0) | 2016.07.13 |
오라클 프로시저 이름, 내용, 변수, 잡스케쥴러 조회 (0) | 2015.08.31 |
오라클 컬럼명, 테이블명, 계정별 테이블명, 코멘트 조회 (0) | 2015.08.10 |
오라클 LEVEL을 이용한 계층형쿼리 쉽게 만들기 (0) | 2015.07.31 |
오라클 달력 콩 볶아 먹듯이 쉽게만들기 (0) | 2015.07.28 |
오라클 LEVEL 잘 사용하기(가로컬럼을 세로로 변환) (0) | 2015.07.26 |