Microsoft 365 连接器是一个由 Anthropic 托管的集成,使 Claude 能够通过用户委派权限安全地访问 Microsoft 365 服务(Outlook、SharePoint、OneDrive、Teams)。Anthropic 已完成 Microsoft 的发布者验证流程,将我们经过验证的 Microsoft 合作伙伴网络账户与此应用程序关联,以确认我们的组织身份。
Microsoft 365 连接器可在所有 Claude 计划上使用:免费版、专业版、Max 版、团队版和企业版。
连接器作为安全代理运行,您的 Microsoft 365 文档、电子邮件和文件保留在您的租户中。连接器仅在活跃查询期间按需检索数据,不缓存文件内容。凭证由 Anthropic 的后端基础设施加密和管理。MCP 服务器本身不存储或管理这些凭证。Microsoft 的 Azure SDK 处理代表用户的令牌交换和缓存,用于访问 Graph API。
访问限制
可以完全限制访问
连接器提供多层访问控制来满足您的安全需求。有关 Microsoft 365 连接器管理的详细信息,请参阅设置 Microsoft 365 连接器。
1. Microsoft Entra 租户要求
所有使用连接器的人员(无论 Claude 计划如何)都必须使用与 Microsoft Entra 租户关联的 Microsoft 365 账户进行身份验证。个人 Microsoft 账户(@outlook.com、@hotmail.com)无法使用。Microsoft Entra 全局管理员必须完成一次性同意流程,然后租户中的任何人才能连接。
2. 组织级别门控(团队版和企业版计划)
在团队版和企业版计划上,访问连接器需要两步批准流程。首先,所有者必须通过导航到"组织设置">"连接器">"浏览连接器">"添加 Microsoft 365"在 Claude 组织设置中明确启用 Microsoft 365 连接器。在授予此批准之前,团队成员无法访问。
其次,在所有者启用连接器后,Microsoft Entra 全局管理员必须完成个人身份验证并代表整个组织授予同意,然后任何团队成员才能连接。
3. 细粒度权限撤销
您可以通过 Microsoft Entra 管理中心选择性地禁用特定功能。例如:
限制 | 操作 | 效果 |
所有访问 | 在 Claude 组织设置中禁用连接器 | 完全关闭 |
仅 SharePoint | 在 Entra 中撤销 Sites.Read.All 权限 | 阻止 SharePoint |
电子邮件访问 | 在 Entra 中撤销 Mail.Read 权限 | 阻止 Outlook |
Teams 聊天 | 在 Entra 中撤销 Chat.Read 权限 | 阻止 Teams |
Teams 消息(写入) | 在 Entra 中撤销 ChatMessage.Send、ChannelMessage.Send 和 Chat.Create | 阻止 Claude 发送 Teams 消息 |
OneDrive 文件 | 撤销 Files.Read 和/或 Files.Read.All | 阻止从 OneDrive 读取文件 |
更改对您组织中的所有人立即生效。人员也可以在聊天期间通过选择性地关闭连接器的工具来禁用功能。
4. Microsoft 条件访问
您的条件访问策略适用于连接器,但不一定以它们适用于直接在 Microsoft 365 中工作的用户的方式适用。当用户连接时,Entra 根据其登录评估您的策略。之后的每个请求都由 Claude 的服务器发出。在我们的测试中,Entra 将这些请求评估为来自 Anthropic 的 IP 范围(160.79.104.0/21),识别成员并携带他们连接时记录的设备,而不是成员的当前设备或网络。这对每种策略类型的含义如下:
基于组的访问:支持。将您的策略范围限定为特定安全组,或在设置 Microsoft 365 连接器中所述的两个 Claude 应用程序上设置需要分配。
多因素身份验证 (MFA):支持。当成员登录以连接时强制执行 MFA。如果您的 MFA 策略不适用于连接器登录,例如因为它针对特定应用程序,或具有可以在那里跳过 MFA 的条件,请创建一个没有条件的单独策略,要求对两个 Claude 应用程序进行 MFA。
设备合规性:支持,但检查时间有所不同。在我们的测试中,策略根据成员连接的设备进行评估。不符合策略的设备不会在连接屏幕处被阻止;其请求从之后的第一个工具调用开始失败。连接随后携带该设备记录,持续访问根据记录而不是当前使用的设备进行检查,直到成员下次重新连接。每个成员的最近连接是计数的。仅当成员的浏览器可以向 Entra 证明设备时才创建记录,因此使用未登录到您组织的浏览器配置文件的合规设备被视为不合规。被阻止的成员(
AADSTS53000)通过从符合策略的设备重新连接,在登录到您组织的浏览器中来修复。将策略保持分配给 Claude 应用程序;排除它们会移除检查。位置和网络限制:不支持。在我们的测试中,服务器端请求始终显示为来自 Anthropic 的 IP 范围,无论成员在哪里,因此限制登录到您的网络或 VPN 的策略会为每个成员阻止连接器。相同的规则适用于登录频率策略。了解如何在设置 Microsoft 365 连接器中排除 Anthropic 的 IP 范围。
警告:不要将设备策略更改为要求合规设备或多因素身份验证作为解决方法。在我们的测试中,MFA 证明以相同的方式通过存储的连接进行,因此策略最终可能对每个成员都满足,设备要求停止做任何可靠的事情。
要阻止成员将工作 Microsoft 365 账户连接到您组织外的 Claude 账户,请启用将已验证域连接器限制到您的企业。
5. 用户级权限
Microsoft 365 连接器使用委派权限。
用户只能访问他们已有权限的 Microsoft 365 数据
SharePoint 搜索需要 Sites.Read.All 权限。不支持特定于站点的权限(使用 *.Selected 权限),因为基础搜索是租户范围的。
用户无法绕过 SharePoint 共享设置或文件夹权限。
用户无法访问其他用户的私密文件或电子邮件。用户可以搜索他们已被授予委派访问权限的共享邮箱,包括完全访问权限和文件夹级别的委派。共享邮箱访问保持只读状态,通过
Mail.Read.Shared权限。电子邮件搜索无法访问用户的单独的在线存档(就地存档)邮箱。委派权限本质上遵守 Microsoft 365 数据丢失防护 (DLP) 策略。
6. 令牌管理
刷新令牌在默认情况下在 90 天不活动后过期,需要重新身份验证。这可以在 Microsoft Entra ID 中使用令牌生命周期策略进行自定义。
访问令牌通常在 60-90 分钟内过期(根据 Microsoft Entra ID 默认设置),并自动刷新。
管理员或用户可以随时通过 Microsoft Entra ID 撤销访问权限。
Microsoft 365 连接器永远不会查看或存储密码。
安全架构摘要
身份验证流程
OAuth 2.0 代表授权 (OBO):行业标准的委派身份验证
PKCE 保护:公共客户端使用代码交换证明密钥来防止授权代码拦截
两阶段令牌交换:用户进行身份验证以获取 MCP 服务器的访问令牌,然后 MCP 服务器使用 OBO 流与机密客户端凭证交换它以获取 Graph API 访问权限。在此流程中,甚至用户或其 Claude 客户端都无法访问 OBO 令牌。只有 MCP 服务器可以访问和使用令牌,以通过 Microsoft Graph API 访问用户的数据。
无凭证存储:用户永远不会与 Anthropic 共享 Microsoft 密码
加密令牌存储:访问令牌和刷新令牌在由 Claude 后端缓存时被加密
数据流
文档和其他内容仅在活跃查询期间被检索
来自连接器的工具调用结果(属于存储的聊天的部分)被保留
请求 Claude 聊天的用户可以看到工具调用结果和 Claude 的响应(包含数据)
在聊天中共享的其他用户只能看到 Claude 的响应(包含工具调用结果)
每个请求创建一个新的数据流,在返回响应后进行清理。
多租户隔离
Microsoft Entra 租户使用通用范围的多租户配置在密码学上相互分离
多租户隔离通过数字签名的访问令牌在密码学上强制执行,该令牌将每个用户绑定到其组织的租户。
可用功能
读取和搜索工具
连接器提供只读访问权限:
工具 | 描述 | 所需权限 |
| 搜索 SharePoint 文档和页面 | Sites.Read.All |
| 按名称查找 SharePoint 文件夹 | Sites.Read.All |
| 使用发件人/日期筛选器搜索电子邮件 | Mail.Read |
| 搜索日历事件 | Calendars.Read |
| 查找可用的会议时间 | Calendars.Read |
| 搜索 Teams 聊天消息 | Chat.Read |
| 按 URI 读取文件、电子邮件或聊天 | 因资源类型而异 |
写入工具
工具 | 描述 | 所需权限 |
| 以用户身份发送电子邮件 | Mail.Send |
| 转发现有邮件 | Mail.Send |
| 发送现有草稿 | Mail.Send |
| 将对话移至已删除项目 | Mail.ReadWrite |
| 从已删除项目恢复对话 | Mail.ReadWrite |
| 将多条邮件移至已删除项目 | Mail.ReadWrite |
| 创建草稿电子邮件 | Mail.ReadWrite |
| 在邮件上创建回复草稿 | Mail.ReadWrite |
| 在邮件上创建全部回复草稿 | Mail.ReadWrite |
| 更新现有草稿 | Mail.ReadWrite |
| 将草稿移至已删除项目 | Mail.ReadWrite |
| 在主列表中创建类别 | MailboxSettings.ReadWrite |
| 重命名或重新着色类别 | MailboxSettings.ReadWrite |
| 从主列表中删除类别 | MailboxSettings.ReadWrite |
| 在一条邮件上添加/删除类别 | Mail.ReadWrite |
| 在线程中添加/删除类别 | Mail.ReadWrite |
| 在多条消息上添加/删除类别 | Mail.ReadWrite |
| 创建日历事件 | Calendars.ReadWrite |
| 更新现有事件 | Calendars.ReadWrite |
| 删除日历事件 | Calendars.ReadWrite |
| 接受、拒绝或暂定接受邀请 | Calendars.ReadWrite |
| 设置自动回复(外出)消息 | MailboxSettings.ReadWrite |
| 创建收件箱规则 | MailboxSettings.ReadWrite |
| 删除收件箱规则 | MailboxSettings.ReadWrite |
| 在库或文件夹中创建新文件 | Files.ReadWrite.All |
| 替换现有文件的内容 | Files.ReadWrite.All |
| 创建新文件夹 | Files.ReadWrite.All |
| 重命名文件或文件夹 | Files.ReadWrite.All |
| 移动文件或文件夹 | Files.ReadWrite.All |
| 复制文件或文件夹 | Files.ReadWrite.All |
| 删除文件或文件夹(到回收站) | Files.ReadWrite.All |
| 在现有 Teams 聊天中发送消息 | ChatMessage.Send |
| 在 Teams 频道中发布或回复 | ChannelMessage.Send |
| 在 Teams 频道线程中回复 | ChannelMessage.Send |
| 启动新的 Teams 聊天 | Chat.Create |
注意:以下工具不支持"始终允许":
outlook_send_emailoutlook_forward_mailoutlook_send_draftoutlook_create_eventoutlook_update_eventteams_send_chat_messageteams_send_channel_messageteams_reply_channel_messageteams_create_chat
当组织启用写入工具时,连接器还会公开用于发送和组织电子邮件、管理草稿和日历事件、更新邮箱设置、在 OneDrive 和 SharePoint 中创建和更新文件以及发送 Teams 消息的写入工具。Teams 写入工具默认处于关闭状态,在 组织设置 > 连接器中的"Microsoft 365"内单独启用;连接器范围的"所有工具"权限不会启用它们。Claude 可以在 Teams 中发送消息,但无法更改 Teams 设置、成员身份或权限。
写入工具包括以下内置保护措施:
归属:Claude 发送的电子邮件包含标识为代理启动的归属标头。文件写入、日历写入和 Teams 消息目前未标记。
速率限制:按用户限制适用于写入、发送和收件人。
附件限制:任何写入工具都不支持附件——发送、转发和草稿都会拒绝包含附件的消息。
默认阻止:在写入工具推出前使用连接器的组织默认阻止写入工具,直到管理员启用它们。Teams 写入工具对每个组织默认阻止,必须单独启用每个工具。
需要确认:发送 Teams 聊天消息和在频道中发布或回复只能设置为"询问",以便用户确认每次发送。
权限列表
基本权限
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 - 读取所有网站集合中的项目
写入权限
作为更新的同意集的一部分请求;仅在启用写入工具时使用:
Mail.Send - 发送和转发电子邮件
Mail.ReadWrite - 创建、更新和删除草稿;移动和标记邮件
Calendars.ReadWrite - 创建、更新、删除和响应日历事件
Files.ReadWrite.All - 在OneDrive和SharePoint中创建和更新文件
MailboxSettings.ReadWrite - 管理类别、收件箱规则和自动回复
ChatMessage.Send - 代表用户发送Teams聊天消息
ChannelMessage.Send - 在Teams频道中发布或回复
Chat.Create - 代表用户启动新的Teams聊天
当前限制
Teams写入访问仅限于消息传递:Claude可以发送聊天消息、在频道中发布或回复,或启动新聊天,但无法修改Teams设置、成员身份或权限。所有写入工具都需要管理员启用,Teams写入工具单独启用。
仅限用户级访问:不支持使用服务主体身份验证进行访问。
不搜索在线存档邮箱:电子邮件搜索涵盖每个用户的主邮箱(包括其存档文件夹)和他们可以访问的任何共享邮箱。它不涵盖单独的在线存档邮箱(也称为就地存档),因此保留策略移动到该邮箱的邮件不会出现在结果中。
常见问题
我们能否在企业范围推出前用小型试点组进行测试?
可以。建议的方法是使用应用分配来限制谁可以使用连接器:
启用连接器(团队和企业所有者在组织设置中启用;个人计划用户可以直接连接)。
Microsoft Entra管理员完成预同意设置
使用Microsoft Entra企业应用分配来限制对特定用户或组的访问(例如,仅将"IT安全测试组"分配给应用)。
逐步扩展组以进行渐进式部署
我们如何确保在多租户环境中我们的组织与其他组织之间不会发生数据泄露?
多租户隔离确保完全分离:
服务器使用通用租户配置来接受来自任何Microsoft Entra ID租户的令牌
每个用户的令牌包含其组织的租户ID(tid声明),该ID已验证
通过OBO获得的Graph API令牌自动限定为用户及其租户
跨租户令牌访问通过Microsoft Graph的OAuth 2.0实现的设计在密码学上被阻止。
如果有人尝试使用个人Microsoft账户连接会发生什么?
连接器需要与Microsoft业务计划相关联的Microsoft Entra租户。个人Microsoft账户(@outlook.com、@hotmail.com)无法用于身份验证。尝试使用个人账户连接的人将收到身份验证错误。
你们是否有合规性审计日志?
有。连接器进行的所有Graph API调用都记录在您组织的Microsoft 365审计日志中,您可以通过M365合规中心访问。这些日志显示时间戳、用户、执行的操作和访问的资源,保留期与您的Microsoft 365审计策略相匹配。此外,Anthropic记录身份验证和工具执行事件。
如果我们发现未授权使用,我们能否撤销访问权限?
有多种撤销方法:
个人:用户通过自定义 > 连接器断开连接
管理员级别:在团队和企业计划上,所有者在Claude组织设置中禁用连接器(影响所有团队成员)。
权限级别:在Microsoft Entra管理中心撤销特定权限
租户级别:在Microsoft Entra管理中心撤销所有权限
Anthropic有哪些认证?
Anthropic具有以下认证:
SOC 2 Type II(年度审计)
ISO 27001认证
符合GDPR(DPA可用)
Microsoft发布者验证应用程序
