
사람에게 닫힌 문은 AI에게도 닫혀 있다
인사 데이터를 볼 수 없는 영업 사원이 AI에게 "올해 연봉 인상률 평균을 알려 줘"라고 묻습니다. AI가 회사 DB 전체에 접속할 수 있다면 사람에게 닫힌 문이 AI를 거쳐 열립니다. 업무용 AI를 들일 때 보안 부서가 가장 경계하는 장면입니다.
OwlAI에서 이 질문은 영업 사원의 권한 밖으로 나가지 못합니다. AI는 질문한 사람의 권한 안에서만 조회하고, 막힌 시도는 거부 기록으로 남습니다. 관리자는 역할마다 질의할 수 있는 DB, 검색할 수 있는 문서 모음, 연결해 쓸 수 있는 외부 서비스를 정하고 사람을 역할에 배정합니다. 같은 DB 안에서 테이블마다 열고 닫는 일은 OwlDB로 연결한 DB에서 할 수 있습니다(「한 부서에 DB를 열어 주면, 보면 안 되는 테이블까지 따라 열릴까」). 권한 밖의 DB와 문서는 질문 범위를 고르는 목록에 아예 나오지 않고, AI가 조회를 시도해도 실행되기 전에 거부됩니다.
회사 DB는 읽기만 합니다. 연결에는 조회 권한만 있는 계정을 쓰도록 안내하고, 실행 단계에서도 조회 문장 하나만 보내며 쓰기 문장은 거절합니다. 문서와 회의에도 경계가 있습니다. 그룹 문서함은 그 그룹 구성원끼리만 보고, 회의는 만든 사람만 봅니다. 관리자도 남의 회의는 열 수 없습니다.
거부된 시도까지 SQL 한 줄로 남는다
AI가 SQL을 한 번 실행할 때마다 기록이 한 줄 생깁니다. 언제 누가 어느 DB에 어떤 SQL을 보냈는지, 결과가 성공·거부·실패 중 무엇이었는지, 몇 행을 받았고 어떤 테이블을 읽었는지가 그 한 줄에 들어갑니다. 채팅에서 실행한 SQL과 플레이북(정해 둔 단계대로 AI가 업무를 돌리는 자동화)에서 실행한 SQL이 한 목록에 모이고, 대화를 지워도 기록은 남습니다. 앞의 영업 사원처럼 권한 밖 데이터를 노린 질문이 있었는지도 거부된 줄을 보면 알 수 있습니다.
보안 판정과 관리자의 열람도 기록된다
AI가 일하며 거친 보안 판정도 빠짐없이 남습니다. 도구 실행을 누가 승인하고 거부했는지, 어떤 요청이 만료됐는지, "내부 모델 전용" 데이터를 쓰려는 요청이 거절됐는지, 답변이나 파일에서 개인정보가 가려졌는지, 회사 정책이 어떤 도구를 막았는지, 코드 실행이 격리 환경을 세우지 못해 거부됐는지가 각각 기록됩니다. 채팅이든 플레이북이든 남는 방식은 같습니다.
로그인, 설정 변경, 권한 변경 같은 관리 이벤트도 남습니다. 관리자가 다른 사람의 SQL 실행 기록이나 플레이북 실행, 답변 피드백을 열면 그 열람이 다시 한 줄로 기록됩니다. 기록을 들여다보는 관리자 역시 기록의 대상입니다.
질문과 답의 내용은 기록에 들어가지 않는다
감사 기록에는 개인의 질문과 답 내용이 들어가지 않고, 관리 화면에도 보이지 않습니다. 대화는 그 사람의 것이라 관리자도 남의 대화를 열어 볼 수 없습니다. SQL 실행 기록에도 질문 문장이나 조회 결과 값은 없고, 어떤 SQL이 어떤 테이블을 읽었는지만 남습니다.
예외는 사용자가 답을 평가할 때 하나입니다. 평가를 보내면 그 대화가 함께 전달되고, 관리자는 그 대화를 열어 무엇이 문제였는지 살핍니다. 평가를 보내는 사람에게는 대화가 함께 간다는 사실이 안내됩니다. 감사에 필요한 사실은 남기되, 업무 대화를 들여다보는 도구는 되지 않도록 선을 그었습니다.
감사 요청에는 거른 화면을 그대로 넘긴다
기록은 화면에서 지울 수 없고, 관리·보안 이벤트와 SQL 실행 기록은 3년 이상 보존됩니다. SQL 실행 이력은 사용자·DB 연결·결과·기간으로 걸러 찾고 CSV로 내보낼 수 있습니다. 감사인이 "이 기간에 고객 테이블을 조회한 사람과 그 SQL"을 요청하면 화면에서 거른 결과를 그대로 넘기면 됩니다. 플레이북 실행에는 실패한 단계와 그 이유까지 남아 있어서, 자동화된 업무가 무엇을 했는지도 같은 방식으로 설명할 수 있습니다.
도입 전에 보안 담당자와 함께 정해 둘 것은 둘입니다. 역할마다 열어 줄 DB와 문서 모음, 그리고 감사 요청이 왔을 때 SQL 실행 이력을 어떤 조건으로 거를지입니다.
어떤 기술로 풀었을까요?

엔지니어링 노트 · 보안과 감사
감사 기록에는 대화 대신 AI가 실행한 SQL과 도구 호출을 남긴다
AI 에이전트에게 사내 DB와 문서를 열어 주면 보안 담당자는 사고가 난 뒤에 이렇게 묻습니다. 지난달 영업팀의 누가 AI로 고객 테이블을 조회했는가, 그 사람에게 그 테이블을 볼 권한이 있었는가.

엔지니어링 노트 · 정형 데이터와 NL2SQL
읽기 전용과 쿼리 취소는 DB 서버에 닿아야 한다
OwlAI의 SQL 실행 도구는 모델이 쓴 SQL을 고객의 운영 DB에서 실행합니다. 이때 클라이언트 쪽에서 건 제한은 걸린 것처럼 보여도 DB 서버에 닿지 않는 경우가 있습니다.
보안과 감사의 다른 글

인사이트 · 보안과 감사
가끔 틀리는 AI에게 고객 데이터가 걸린 일을 맡겨도 될까
업무용 AI 검토 회의는 대개 같은 질문으로 끝납니다. 성능은 알겠는데, 이걸 정말 믿고 맡겨도 되느냐는 것입니다.

인사이트 · 보안과 감사
최신 AI는 쓰고 싶고, 고객 DB는 회사 밖으로 못 내보낸다
영업 담당자가 고객 명단을 붙여 넣고 AI에게 정리를 부탁합니다. 업무용 AI 도입을 검토하면 보안 부서가 가장 먼저 묻는 것도 이 장면입니다.

인사이트 · 보안과 감사
요약을 맡긴 메일 속 숨은 한 줄, AI는 그 명령을 따를까
거래처에서 온 메일 스무 통을 AI에게 요약해 달라고 맡깁니다. 그중 한 통의 맨 아래에 흰 글씨로 쓴 문장이 있습니다.