안녕하십니까
이번에 신규 DB 구축하여 개발자 개인계정에 권한 부여중인데요.
개발자 계정에 db_datareader 권한에 더해 프로시저 생성/수정/삭제 권한 부여를 고려중입니다.
혹시 프로시저에 대한 권한을 개발자 개인계정에 부여하면 보안상 위배될까요?
그리고 만약 프로시저 권한을 부여하지 않고 dba계정으로 프로시저를 생성/수정/삭제한다면
이력관리는 보통 어떻게들 하시는지 알고싶습니다.
읽어주셔서 감사합니다.
안녕하세요
회사마다 정책은 정하기 나름인거 같은데요 . 개발자니 개발서버에는 당연히 권한이 필요할거 같고
운영서버 는 증빙이 필요할거 같습니다. ISMS등 심사에서는 데이타 변경 및 형상변경에 대해 주기적 모니터링 및 승인 결과 가 있어야 한다고 합니다.
프로시저 변경은 데이타 변경과도 연결되는 부분이라 이력관리가 되어야 할텐데 SVN 이랑 Git 등에 저장하면 변경관리는 좋은데 실 서버와 차이가 발생할수 있는 부분이 있습니다.
DML , DDL 에 대해 감사기능을 설정하면 이력을 저장할수 있을텐데 Enterprise 버전에서만 되고 Standard 버전은 안되는 걸로 압니다.
Standard 버전은 Profiler 를 이용해서 실행되는 쿼리를 저장할수 있는데 파일 혹은 감사DB를 하나 생성해서 테이블로 저장할수 있습니다.
필터를 잘 설정해서 너무 많이 쌓이지 않게 필요한 내용만 저장 해야 합니다.
이방법의 단점은 Profiler 를 서버에 기농해 놓는다면 서버가 재기동 하거나 할때 수동으로 실행해 주지 않으면 중간 유실이 발생한다는 점과 계속 실행중이더라도 저장테이블이 너무 커지기 때문에 주기적으로 재실행을 해서 테이블을 변경해주거나 해야 합니다.
가장 편한 방법은 역시 돈을 들여 DB접근제어 솔루션 (DBSafer, 샤크라맥스 등) 을 도입하는 거 같습니다.
너무 두서 없이 얘기 하긴했는데
혹시 제가 잘못 알고 있는 부분이 있으면 댓글 달아주시기 바랍니다.