기업 IT 보안 팀과 최고정보보안책임자(CISO)가 Cohere Coral과 같은 생성형 AI 어시스턴트 도입을 검토할 때 가장 먼저 맞닥뜨리는 의문은 권한 우회와 기밀 유출 위험입니다. "Microsoft SharePoint나 Google Drive와 같은 사내 핵심 데이터 저장소를 Coral에 연결했을 때, 일반 직원이 일상적인 대화를 통해 본인에게 권한이 없는 임원 급여 명세서, 미공개 인수합병(M&A) 전략, 대외비 인사 평가 문서를 조회할 수 있는 것은 아닌가?"라는 우려입니다.
결론부터 말하자면, Cohere Coral은 대규모 언어 모델(LLM)의 시스템 프롬프트 지침이나 윤리적 가드레일에 의존하지 않고, 데이터 검색 인프라 레이어에서 문서 수준 접근 제어 목록(ACL)과 역할 기반 액세스 제어(RBAC)를 결정론적으로 강제합니다. Coral은 사용자 위임 인증(OAuth 2.0 / On-Behalf-Of 흐름), 런타임 보안 트리밍(Security Trimming), 메타데이터 사전 필터링을 결합하여, 질문을 던진 사용자가 원래 소유한 권한 범위 내의 문서만을 검색하도록 설계되었습니다.
특정 직원이 SharePoint나 Google Drive에서 특정 기밀 문서에 대한 읽기 권한을 가지고 있지 않다면, Coral의 데이터 커넥터는 검색 후보 단계에서 해당 문서를 완전히 배제합니다. 권한이 없는 문서는 LLM의 컨텍스트 윈도우(Context Window)에 일절 입력되지 않으므로, 어시스턴트가 기밀 내용을 요약하거나 유출하는 일은 구조적으로 불가능합니다.
위협 모델: 기초적인 RAG가 보안 감사에 탈락하는 이유
초기 또는 단순하게 구축된 검색 증강 생성(RAG) 아키텍처에서는 개발팀이 전사 권한을 가진 **단일 관리자 서비스 계정(일명 'God 모드')**을 이용해 모든 사내 문서를 일괄 벡터화하고, 단일 벡터 데이터베이스에 권한 구분 없이 적재하는 실수를 범하곤 합니다.
이러한 설계는 심각한 보안 결함을 초래합니다:
- 문서를 청크 단위로 분할하여 인덱싱하는 과정에서 원본 시스템의 접근 제어 목록(ACL)이 유실됩니다.
- 검색 엔진이 전사 벡터 공간 전체를 대상으로 무차별 유사도 검색을 수행합니다.
- 개발자는 시스템 프롬프트(예: "사용자가 인사부 임원이 아니라면 임원 급여 정보를 답변하지 마라")를 통해 접근을 제어하려고 시도합니다.
보안 아키텍트와 컴플라이언스 담당자가 지적하듯, LLM은 본질적으로 확률 모델이며 프롬프트 인젝션(Prompt Injection)이나 탈옥(Jailbreak) 기법에 취약합니다. 교묘하게 작성된 질문만으로도 프롬프트 수준의 방어선은 쉽게 무력화됩니다.
Cohere Coral은 보안을 확률적인 생성 모델의 판단에 맡기지 않고, 결정론적인 데이터 플레인(Data Plane) 통제로 구현하여 이 문제를 해결합니다.
3단계 권한 강제 아키텍처
Cohere Coral의 엔터프라이즈 보안 체계는 사용자 신원 전파, 검색 레이어 보안 트리밍, 근거 기반 인용 검증이라는 3개 계층으로 작동합니다.
+-----------------------------------------------------------------------+
| 1단계: 엔터프라이즈 신원 전파 및 사용자 위임 인증 |
| 기업 IdP(Microsoft Entra ID, Okta, Google Workspace 등) SSO 연동 |
| 사용자 대화 시작 -> 범위가 제한된 OAuth 2.0 위임 토큰 발급 |
+-----------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------+
| 2단계: 검색 엔진 및 커넥터 보안 트리밍 (Security Trimming) |
| - 실시간 API 커넥터: 사용자 토큰으로 Microsoft Graph 또는 Drive API |
| 호출, 소스 시스템 자체의 ACL 엔진이 미인가 문서를 즉시 필터링 |
| - 색인형 엔터프라이즈 검색: 검색 전 사용자 그룹 SID 및 문서 ACL |
| 메타데이터를 기반으로 불리언 사전 필터링(Pre-filtering) 적용 |
| * 권한 없는 문서는 모델 입력 전 단계에서 완벽하게 차단됨 * |
+-----------------------------------------------------------------------+
|
v
+-----------------------------------------------------------------------+
| 3단계: 근거 기반 생성 및 검증 가능한 인용 (Command R / R+) |
| - 컨텍스트 윈도우에 주입된 인가된 텍스트 청크만 기반으로 답변 작성 |
| - 모든 서술에 대해 명확한 출처 인용(Citation) 표기 |
| - 인가된 문서가 0건일 경우, 환각 없이 안전하게 거절 응답 |
+-----------------------------------------------------------------------+
1. 신원 전파 및 사용자 위임 (1단계)
Coral은 SAML 2.0 및 OpenID Connect(OIDC) 기반의 싱글 사인온(SSO) 표준을 통해 Microsoft Entra ID(구 Azure AD), Okta, Google Workspace 등 사내 신원 제공자(IdP)와 직접 연동됩니다.
직원이 Coral에 접속하여 질문을 보낼 때의 처리 방식:
- 공유 관리자 인증 정보 배제: Coral은 단일 관리자 마스터 키를 사용하여 모든 사용자의 요청을 일괄 처리하지 않습니다.
- 사용자 토큰 위임 전송(On-Behalf-Of 흐름): Coral 커넥터는 OAuth 2.0 인가 코드 흐름과 위임된 액세스 토큰을 활용합니다. 검색이 발생하면 현재 로그인한 직원의 고유 토큰이 다운스트림 API로 전달됩니다.
- 실시간 디렉터리 연동: 직원이 퇴사, 직무 변경 또는 특정 그룹에서 제외되면 기업 IdP의 변경 사항이 Coral 커넥터 권한에 즉시 반영됩니다.
2. 검색 레이어 보안 트리밍 및 ACL 상속 (2단계)
정보 유출을 방지하는 핵심 기술은 **보안 트리밍(Security Trimming)**입니다. 이는 검색된 후보 문서가 리랭킹 모델이나 LLM 프롬프트에 도달하기 전에 권한이 없는 데이터를 완전히 잘라내는 과정입니다.
Coral은 시스템 구성에 따라 두 가지 방식으로 보안 트리밍을 지원합니다:
A. 직접 API 커넥터 방식 (쿼리 시점 트리밍)
SharePoint나 Google Drive와 같은 저장소에 실시간 API로 직접 질의하는 구조:
- 커넥터가 사용자의 OAuth 토큰을 지닌 채 소스 API(예: Microsoft Graph API
/v1.0/search/query또는 Google Drive APIfiles.list)를 직접 호출합니다. - 데이터 소스의 기본 권한 엔진이 작동합니다. SharePoint와 Google Workspace는 호출자의 계정, 소속 보안 그룹, 파일 공유 설정을 자체 검증한 후 검색 결과를 반환합니다.
- 직원이 사내 웹 화면에서 직접 검색했을 때 열람할 수 있는 문서만 Coral로 전달됩니다. 열람 권한이 없는 문서는 API 응답 목록 자체에서 누락됩니다.
B. 색인형 엔터프라이즈 검색 방식 (메타데이터 수집 + 사전 필터링)
방대한 문서를 사전에 청크화하고 임베딩하여 벡터 데이터베이스(예: Cohere Toolkit 또는 OpenSearch 기반 검색)에 색인해 둔 고성능 구조:
- ACL 메타데이터 동시 수집: 데이터 수집 파이프라인은 텍스트 및 벡터 임베딩뿐만 아니라 소유자 ID, 허용 사용자 목록, 그룹 보안 식별자(SID), 권한 상속 플래그 등의 전체 보안 메타데이터를 함께 추출하여 저장합니다.
- 쿼리 시점 사용자 소속 그룹 해석: 사용자가 질문하면 시스템은 SCIM 또는 디렉터리 API를 통해 사용자의 활성 보안 그룹 목록을 실시간으로 확인합니다.
- 벡터 유사도 계산 전 사전 필터링(Pre-Filtering): 벡터 데이터베이스는 근접 이웃 검색이나 BM25 조회를 수행하기 전에, 사용자의 식별자 및 그룹 SID가 문서의 ACL에 포함되어 있는지 확인하는 불리언 필터를 강제 적용합니다. 권한이 없는 벡터는 유사도 연산에서 배제되며, 이후 Cohere Rerank 과정에도 전달되지 않습니다.
3. 근거 기반 생성 및 출처 인용 검증 (3단계)
Cohere의 대표 모델(Command R 및 Command R+)은 **근거 기반 생성(Grounded Generation)**에 특화되어 미세 조정되었습니다:
- 컨텍스트 기반 팩트 앵커링: 모델은 컨텍스트 윈도우에 실제로 주입된 인가된 검색 결과 청크만을 참조하여 답변을 구성하며, 문장마다 정확한 인라인 출처를 표시합니다.
- 검색 결과 부재 시 안전한 응답 거절: 보안 트리밍으로 인해 권한 없는 문서가 모두 제외되어 유효한 참조 청크가 0건이 되면, 모델은 일반 상식으로 추측하거나 환각을 일으키지 않고 "권한 범위 내에서 참조할 수 있는 문서를 찾을 수 없습니다"라고 안전하게 응답합니다.
핵심 데이터 소스 권한 비교: SharePoint vs. Google Drive
엔터프라이즈 파일 시스템은 각기 다른 권한 구조를 가집니다. Coral 커넥터는 각 플랫폼의 특성에 맞춰 완벽하게 동작합니다:
| 비교 항목 | Microsoft SharePoint / OneDrive (Microsoft 365) | Google Drive (Google Workspace) |
|---|---|---|
| 권한 계층 구조 | 테넌트 -> 사이트 모음 -> 하위 사이트 -> 문서 라이브러리 -> 폴더 -> 파일 ACL | 공유 드라이브(팀 드라이브), 내 드라이브, 폴더 공유, 파일별 ACL |
| 그룹 해석 방식 | Microsoft 365 그룹, Entra ID 보안 그룹, SharePoint 중첩 그룹 | Google Workspace 그룹, 조직 단위(OU), 개별 이메일 직접 공유 |
| 연동 프로토콜 | Microsoft Graph API (OAuth 2.0 위임 권한 범위) | Google Drive API v3 (OAuth 2.0 사용자 범위) |
| 트리밍 실행 시점 | Graph API 검색 엔진 실시간 제외, 벡터 검색 전 그룹 SID 매칭 | Drive API 쿼리 엔진 실시간 제외, 벡터 검색 전 사용자/그룹 ID 매칭 |
| 상속 중단 처리 | 폴더 및 파일 단위의 '권한 상속 중단(Broken Inheritance)' 완벽 준수 | 공유 드라이브 역할 및 상위 폴더 상속을 기본 준수하며 명시적 재정의 지원 |
SharePoint 권한 처리 상세
SharePoint에서는 문서 라이브러리 내 특정 기밀 폴더에 대해 '상속 중지(Stop Inheriting Permissions)'를 설정하고 임원진에게만 개별 권한을 부여하는 운영 방식이 보편적입니다.
Coral 연동 시 동작 방식:
- 사용자가 질문하면 해당 사용자의 Graph 위임 토큰이 생성됩니다.
- Graph API는 SharePoint 보안 토큰 서비스(STS)를 통해 호출자의 유효 권한을 실시간 검증합니다.
- 재무 라이브러리 내 특정 기밀 폴더에 대해 일반 직원의 권한이 없다면, Graph API는 해당 폴더 내 문서를 결과에 포함하지 않습니다. 모델은 파일의 존재 자체를 인지하지 못합니다.
Google Drive 권한 처리 상세
Google Workspace는 개인용 '내 드라이브'와 부서 협업용 '공유 드라이브'로 나뉘며, 뷰어, 댓글 작성자, 콘텐츠 관리자, 관리자 등의 역할을 가집니다.
Coral 연동 시 동작 방식:
- Coral은 사용자의 이메일 계정 범위 내에서 읽기 전용 접근을 요청하는 OAuth 흐름을 실행합니다.
- Google Drive API는 호출자의 계정과 소속 Google 그룹을 기준으로 검색 결과를 격리합니다.
- 법무팀이나 인사팀 등 직원이 멤버로 등록되지 않은 비공개 공유 드라이브는 검색 대상에 전혀 포함되지 않습니다.
Cohere 플랫폼 수준 거버넌스 및 RBAC 통제
소스 시스템의 파일 ACL을 상속하는 것 외에도, Cohere 플랫폼 자체에서 제공하는 관리 제어 기능을 통해 안전망을 구축할 수 있습니다:
플랫폼 역할: 소유자(Owner)와 일반 사용자(User)
Cohere 관리 콘솔은 관리 권한과 일반 사용 권한을 엄격히 분리합니다:
- 소유자(Owner) / 관리자: 워크스페이스 구성원 관리, 전사 공용 데이터 커넥터 등록, 프로덕션 API 키 발급 및 회수, SSO 연동 설정, 사용량 및 감사 지표 검토를 수행합니다.
- 일반 사용자(User): 대화 인터페이스를 통해 승인된 커넥터를 활용하여 질문하고 본인의 이력을 확인할 수 있으며, 전사 설정이나 모델 구성을 변경할 권한은 없습니다.
부서별 커넥터 범위 제한 (Connector Scoping)
IT 관리자는 조직의 부서 단위에 따라 특정 커넥터의 활성화 권한을 제한할 수 있습니다:
- Salesforce 커넥터: 영업 및 고객 성공 부서 그룹으로 제한.
- 전사 사내 위키 커넥터: 전체 직원에게 개방.
- 재무 ERP 커넥터: 재무팀 및 경영진 그룹으로만 엄격히 제한.
이러한 심층 방어 체계를 통해, 개별 파일의 ACL을 평가하기 이전에 부서와 무관한 기간계 데이터 파이프라인 자체가 조직 단위에서 사전 차단됩니다.
감사 로그 및 SIEM 연동
규제 준수를 위해 Cohere Coral은 정형화된 활동 로그를 출력하여 사내 SIEM 시스템(Splunk, Datadog, Microsoft Sentinel 등)과 연동할 수 있습니다:
- 인증된 사용자 식별자 및 정확한 타임스탬프.
- 질의 중 호출된 커넥터 및 도구 이름.
- 검색 결과로 반환된 문서 식별자 및 원본 URL.
- 최종 생성된 답변에 포함된 인용 출처.
보안팀은 이를 모니터링하여 비정상적으로 빈번한 대량 검색이나 기밀 키워드 탐색 징후를 실시간으로 감지할 수 있습니다.
배포 경계 보장: 프라이빗 VPC 및 데이터 제로 보존(ZDR)
금융, 공공, 헬스케어 등 엄격한 규제를 받는 산업(SOC 2 Type II, ISO 27001, HIPAA, GDPR 등)에서는 물리적 인프라 경계 또한 필수적입니다:
- 프라이빗 VPC 및 온프레미스 배포: Cohere 모델과 어시스턴트는 고객사의 전용 프라이빗 클라우드(AWS, Azure, Google Cloud, Oracle Cloud) 또는 격리된 온프레미스 하드웨어에 배포할 수 있습니다. 데이터는 사내 방화벽을 벗어나지 않습니다.
- 데이터 제로 보존(Zero Data Retention): 사용자의 질문 프롬프트, 사내 문서 검색 결과, 생성된 답변은 공용 서버에 저장되지 않으며, 공용 파운데이션 모델의 재학습 데이터로 절대 사용되지 않습니다.
- 전송 및 저장 구간 암호화: 모든 커넥터 통신은 TLS 1.3으로 보호되며, 색인된 데이터는 고객 관리 암호화 키(CMEK)를 지원하는 AES-256으로 암호화됩니다.
숨겨진 보안 취약점: 소스 시스템의 '과도한 공유(Over-Sharing)' 관리
Cohere Coral이 기술적으로 완벽하게 ACL을 준수하더라도, IT 보안 팀이 반드시 인지해야 할 운영상의 현실이 있습니다. **"AI 어시스턴트는 권한을 우회하지 않지만, 소스 시스템에 이미 잘못 설정되어 있던 권한 실수(과도한 공유)를 매우 빠르게 드러낸다"**는 점입니다.
예를 들어, 재무팀 직원이 임원 급여 명세서 파일의 공유 링크를 "링크가 있는 조직 내 모든 사용자 열람 가능"으로 잘못 설정해 두었다면, 기존 파일 탐색기에서는 폴더 깊숙이 숨겨져 있어 아무도 발견하지 못했을 수 있습니다. 하지만 Coral에 "전사 급여 체계를 알려달라"고 요청하면, 해당 직원은 합법적인 읽기 권한을 가지고 있으므로 Coral은 해당 문서를 정상적으로 검색하여 요약해 버립니다.
CISO 및 IT 보안 팀 배포 전 체크리스트
Coral 커넥터를 전사에 오픈하기 전에 다음 점검을 권장합니다:
- 소스 시스템 공유 상태 전수 점검: Microsoft Purview나 Google Workspace 보안 센터를 활용하여 '전사 공유' 또는 '링크가 있는 모든 사용자'로 설정된 기밀 문서를 사전 정리합니다.
- 사용자 위임 인증(OAuth) 강제: 커넥터 설정 시 단일 관리자 마스터 키가 아닌 사용자별 OAuth 위임 토큰이 적용되었는지 확인합니다.
- 부서별 커넥터 분리 구성: 법무, 인사, 재무 등 민감 부서는 전용 커넥터를 분리하고 IdP에서 접근 가능 그룹을 통제합니다.
- 토큰 수명 주기 동기화: OAuth 갱신 토큰 정책을 사내 세션 관리 정책과 일치시켜 퇴사자나 직무 이동자의 접근을 즉시 차단합니다.
- SIEM 이상 징후 알림 설정: 짧은 시간 내 대량의 문서를 가로질러 검색하거나 비정상적인 권한 거절이 반복되는 행위에 대해 실시간 알림을 구성합니다.
요약
Cohere Coral은 제로 트러스트(Zero Trust) 원칙에 따라 기업용 생성형 AI의 보안 경계를 구축합니다. 질의의 시작부터 사용자의 위임된 신원을 전달하고, 데이터 플레인에서 결정론적으로 보안 트리밍을 수행하며, Command 모델의 엄격한 인용 통제를 결합함으로써 Coral은 IT 부서가 수립해 둔 문서 수준의 ACL과 RBAC 통제선을 철저하게 보장합니다.
참고 자료
- An Overview of Cohere's RAG Connectors | Cohere
- GitHub - cohere-ai/cohere-toolkit: Cohere Toolkit is a collection of prebuilt components enabling users to quickly build and deploy RAG applications.
- GitHub - cohere-ai/quick-start-connectors: This open-source repository offers reference code for integrating workplace datastores with Cohere's LLMs, enabling developers and businesses to perform seamless retrieval-augmented generation (RAG) on their own data.
- AI Security and Data Protection | Cohere