개요
Microsoft 365 Connector는 Anthropic이 호스팅하는 통합으로, Claude가 사용자 위임 권한을 통해 Microsoft 365 서비스(Outlook, SharePoint, OneDrive, Teams)에 안전하게 액세스할 수 있도록 합니다. Anthropic은 Microsoft의 게시자 검증 프로세스를 완료했으며, 검증된 Microsoft Partner Network 계정을 이 애플리케이션과 연결하여 조직의 신원을 확인했습니다.
커넥터는 보안 프록시로 작동하며, Microsoft 365 문서, 이메일 및 파일은 테넌트에 남아 있습니다. 커넥터는 활성 쿼리 중에만 필요에 따라 데이터를 검색하며 파일 콘텐츠를 캐시하지 않습니다. 자격 증명은 암호화되어 Anthropic의 백엔드 인프라에서 관리됩니다. MCP 서버 자체는 이러한 자격 증명을 저장하거나 관리하지 않습니다. Microsoft의 Azure SDK는 Graph API에 액세스하기 위해 사용자별로 On-Behalf-Of 토큰 교환 및 캐싱을 처리합니다.
액세스 제한
액세스를 완전히 제한할 수 있습니다
커넥터는 보안 요구 사항을 해결하기 위해 여러 계층의 액세스 제어를 제공합니다. Microsoft 365 Connector 관리에 대한 자세한 정보는 Microsoft 365 커넥터 활성화 및 사용을 참조하세요.
1. 조직 수준 게이팅
Team 및 Enterprise 플랜 사용자의 커넥터 액세스에는 2단계 승인 프로세스가 필요합니다. 먼저 소유자는 조직 설정 → 커넥터 → 커넥터 찾아보기 → "Microsoft 365" 추가로 이동하여 Claude 조직 설정에서 Microsoft 365 커넥터를 명시적으로 활성화해야 합니다. 이 승인이 부여될 때까지 사용자는 액세스할 수 없습니다.
둘째, 소유자가 커넥터를 활성화한 후 Microsoft Entra 전역 관리자가 개별 인증을 완료하고 팀 멤버가 연결하기 전에 전체 조직을 대신하여 동의를 부여해야 합니다.
2. Microsoft Entra 관리자 사전 동의 요구 사항
사용자가 커넥터에 액세스하기 전에 Microsoft Entra 관리자가 일회성 설정을 완료해야 하며, 이는 다음을 수행합니다:
Microsoft Entra ID에 두 개의 서비스 주체 및 엔터프라이즈 앱 추가(M365 MCP Client 및 M365 MCP Server). 이는 테넌트에서 Microsoft 365 Connector 앱에 대한 서비스 수준 ID를 설정합니다.
Microsoft 365 테넌트에 대한 관리자 사전 동의를 부여합니다.
선택적으로 커넥터를 사용할 수 있는 Microsoft Entra ID 사용자 및 그룹을 제한합니다.
선택적으로 커넥터가 사용할 수 있는 권한을 제한하여 액세스 가능한 Microsoft 365 서비스를 선택적으로 제어합니다.
3. 세분화된 권한 취소
Microsoft Entra 관리 센터를 통해 특정 기능을 선택적으로 비활성화할 수 있습니다. 예를 들어:
제한 대상 | 작업 | 효과 |
모든 액세스 | Claude 조직 설정에서 커넥터 비활성화 | 완전 종료 |
SharePoint만 | Entra에서 Sites.Read.All 권한 취소 | SharePoint 차단 |
이메일 액세스 | Entra에서 Mail.Read 권한 취소 | Outlook 차단 |
Teams 채팅 | Entra에서 Chat.Read 권한 취소 | Teams 차단 |
OneDrive 파일 | Files.Read 및/또는 Files.Read.All 취소 | OneDrive에서 파일 읽기 차단 |
변경 사항은 조직의 모든 사용자에게 즉시 적용됩니다. 사용자는 채팅 또는 세션 중에 커넥터의 도구를 선택적으로 토글하여 사용 권한이 있는 기능을 비활성화할 수도 있습니다.
4. Microsoft 조건부 액세스 통합
커넥터는 기존 Entra(Azure AD) 정책을 완전히 지원합니다:
다중 인증(MFA): 커넥터 액세스에 MFA 적용
디바이스 규정 준수: 관리되거나 규정을 준수하는 디바이스 필요
IP 제한: Microsoft 인증을 회사 네트워크 또는 VPN으로 제한
그룹 기반 액세스: 특정 보안 그룹으로 제한
5. 사용자 수준 권한
Microsoft 365 Connector는 위임된 권한을 사용합니다.
사용자는 이미 권한이 있는 Microsoft 365 데이터에만 액세스할 수 있습니다
SharePoint 검색에는 Sites.Read.All 권한이 필요합니다. 기본 검색이 테넌트 전체이므로 사이트별 권한(*.Selected 권한 사용)은 지원되지 않습니다.
사용자는 SharePoint 공유 설정 또는 폴더 권한을 우회할 수 없습니다
사용자는 다른 사용자의 개인 파일 또는 이메일에 액세스할 수 없습니다
위임된 권한은 본질적으로 Microsoft 365 데이터 손실 방지(DLP) 정책을 준수합니다
6. 토큰 관리
새로 고침 토큰은 기본적으로 90일의 비활성 후 만료되며 재인증이 필요합니다. 이는 Microsoft Entra ID의 토큰 수명 정책을 사용하여 사용자 정의할 수 있습니다.
액세스 토큰은 일반적으로 Microsoft Entra ID 기본값에 따라 60-90분 내에 만료되며 자동으로 새로 고쳐집니다
관리자 또는 사용자는 Microsoft Entra ID를 통해 언제든지 액세스를 취소할 수 있습니다
Microsoft 365 Connector는 암호를 보거나 저장하지 않습니다
보안 아키텍처 요약
인증 흐름
OAuth 2.0 On-Behalf-Of(OBO): 업계 표준 위임 인증
PKCE 보호: 공개 클라이언트는 인증 코드 가로채기를 방지하기 위해 Code Exchange용 증명 키를 사용합니다
2단계 토큰 교환: 사용자가 인증하여 MCP 서버에 대한 액세스 토큰을 얻은 다음, MCP 서버가 기밀 클라이언트 자격 증명과 함께 OBO 흐름을 사용하여 Graph API 액세스를 위해 교환합니다. 이 흐름에서 사용자나 Claude 클라이언트도 OBO 토큰에 액세스할 수 없습니다. MCP 서버만 Microsoft Graph API를 통해 사용자 데이터에 액세스할 수 있는 토큰에 액세스하고 사용할 수 있습니다.
자격 증명 저장 없음: 사용자는 Microsoft 암호를 Anthropic과 공유하지 않습니다
암호화된 토큰 저장: 액세스 및 새로 고침 토큰은 Claude 백엔드에서 캐시되는 동안 암호화됩니다
데이터 흐름
문서 및 기타 콘텐츠는 활성 쿼리 중에만 검색됩니다
저장된 채팅의 일부인 커넥터의 도구 호출 결과는 유지됩니다
Claude 채팅을 요청한 사용자는 도구 호출 결과와 데이터를 통합한 Claude의 응답을 볼 수 있습니다
채팅에 공유된 다른 사용자는 도구 호출 결과를 통합한 Claude의 응답만 볼 수 있습니다
각 요청은 응답이 반환된 후 정리되는 새로운 데이터 흐름을 생성합니다
다중 테넌트 격리
Microsoft Entra 테넌트는 공통 범위 다중 테넌트 구성을 사용하여 서로 암호화 방식으로 분리됩니다
다중 테넌트 격리는 각 사용자를 조직의 테넌트에 바인딩하는 디지털 서명된 액세스 토큰을 통해 암호화 방식으로 적용됩니다
사용 가능한 기능
현재 기능(읽기 전용 액세스)
커넥터는 다음에 대한 읽기 전용 액세스를 제공합니다:
도구 | 설명 | 필수 권한 |
sharepoint_search | SharePoint 문서 및 페이지 검색 | Sites.Read.All |
sharepoint_folder_search | 이름으로 SharePoint 폴더 찾기 | Sites.Read.All |
outlook_email_search | 발신자/날짜 필터를 사용하여 이메일 검색 | Mail.Read |
outlook_calendar_search | 일정 이벤트 검색 | Calendars.Read |
find_meeting_availability | 사용 가능한 회의 시간 찾기 | Calendars.Read |
chat_message_search | Teams 채팅 메시지 검색 | Chat.Read |
read_resource | URI로 파일, 이메일 또는 채팅 읽기 | 리소스 유형에 따라 다름 |
권한 목록
기본 권한
User.Read - 로그인 및 사용자 프로필 읽기(기본 요구 사항)
메일 권한
Mail.Read - 사용자 메일 읽기(이메일 도구/리소스에 필수)
Mail.ReadBasic - 사용자 메일 메타데이터 읽기(제한된 기능의 대안)
Mail.Read.Shared - 사용자 및 공유 메일 읽기
MailboxFolder.Read - 사용자의 사서함 폴더 읽기
MailboxItem.Read - 사용자의 사서함 항목 읽기
일정 권한
Calendars.Read - 사용자 일정 및 이벤트 읽기
Calendars.Read.Shared - 공유된 일정을 포함하여 사용자가 액세스할 수 있는 일정 읽기
사용자 디렉터리
User.ReadBasic.All - 모든 사용자의 기본 프로필 읽기(회의 가용성용)
채팅 권한
Chat.Read - 사용자 채팅 메시지 읽기
Chat.ReadBasic - 사용자 채팅 메타데이터 읽기(제한된 기능의 대안)
ChatMember.Read - 채팅의 멤버 읽기
ChatMessage.Read - 사용자 채팅 메시지 읽기(Chat.Read보다 더 구체적)
채널 권한
Channel.ReadBasic.All - 채널의 이름 및 설명 읽기
ChannelMessage.Read.All - 채널 메시지 읽기
회의 권한
OnlineMeetings.Read - 온라인 회의 읽기
OnlineMeetingTranscript.Read.All - 회의 기록 읽기
OnlineMeetingAiInsight.Read - 온라인 회의의 모든 AI 인사이트 읽기
OnlineMeetingArtifact.Read.All - 사용자의 온라인 회의 아티팩트 읽기
OnlineMeetingRecording.Read.All - 온라인 회의의 모든 녹음 읽기
파일 권한
Files.Read - 사용자 파일 읽기
Files.Read.All - 사용자가 액세스할 수 있는 모든 파일 읽기
사이트 권한
Sites.Read.All - 모든 사이트 모음의 항목 읽기
Sites.Selected – 사이트 모음 수준에서 애플리케이션 액세스를 관리하여 특정 사이트 모음에 대한 액세스를 제공합니다
현재 제한 사항
쓰기 기능 없음: 이메일을 보내거나, 회의를 예약하거나, 문서를 생성/수정하거나, Teams 메시지를 게시할 수 없습니다.
사용자 수준 액세스만: 서비스 주체 인증을 사용한 액세스는 지원되지 않습니다.
자주 묻는 질문
Q: 엔터프라이즈 전체 배포 전에 소규모 파일럿 그룹으로 테스트할 수 있습니까?
A: 예. 권장되는 방법은 앱 할당을 사용하여 커넥터를 사용할 수 있는 사람을 제한하는 것입니다:
소유자가 Claude 조직 설정에서 커넥터를 활성화합니다
Microsoft Entra 관리자가 사전 동의 설정을 완료합니다
Microsoft Entra Enterprise App 할당을 사용하여 특정 사용자 또는 그룹에 대한 액세스를 제한합니다(예: "IT Security Test Group"만 앱에 할당).
점진적 배포를 위해 그룹을 점진적으로 확장합니다
Q: 다중 테넌트 환경에서 조직과 다른 조직 간에 데이터 누출이 발생하지 않도록 어떻게 보장합니까?
A: 다중 테넌트 격리는 완전한 분리를 보장합니다:
서버는 공통 테넌트 구성을 사용하여 모든 Microsoft Entra ID 테넌트의 토큰을 수락합니다
각 사용자의 토큰에는 조직의 테넌트 ID(tid 클레임)가 포함되어 있으며 이는 검증됩니다
OBO를 통해 얻은 Graph API 토큰은 자동
