5  安全与数据处理

Claude Tag 在隔离的沙箱中运行,出站流量默认拒绝,仅到达允许的主机。涵盖沙箱隔离、凭证存储、网络出口、服务账户、频道间凭证隔离、单频道可达范围、已发布 artifact 的可见性,以及哪些成员可以调用 Claude。

export const BetaNote = () => Claude Tag is in public beta. Features and behavior described here may change before general availability.;

在频道中,Claude 使用 Owner 配置的自己的服务账户行动。默认情况下,它可以读取和发布在它被添加到的 Slack 频道中,并按关键词搜索公开频道;在 Owner 添加连接之前,它对你的外部系统没有访问权限。每个连接都限定在特定的频道和工作区,Claude 在连接工具中执行的操作归属于它自己的服务账户。

每个频道请求,无论是人为输入还是计划触发,都遵循相同的路径:它在 Anthropic 托管的沙箱中运行,仅通过 Agent Proxy 离开该沙箱,并在 Agent 自己的账户下到达你的系统。DM 在用户自己的 claude.ai 账户上运行,在Agent 身份如何工作中单独介绍。

5.1 请求如何传输

每个 Slack 话题在其自己的沙箱中运行,该沙箱的每个出站调用都经过相同的检查点。

检查点 保障
沙箱 在 Anthropic 的基础设施上运行,不持有任何凭证
Agent Proxy 在请求时从凭证存储注入凭证,默认阻止前往未列出主机的流量
你的系统 看到 Agent 自己的账户,因此它在这些系统中的操作是可归属的

5.1.1 计算和沙箱

会话在 Anthropic 托管的沙箱中运行,与 Claude Code on the web 背后相同的托管计算。每个 Slack 话题有自己的沙箱。

当话题安静下来时,其沙箱被释放;在话题中回复会构建一个新的沙箱。跨释放和重建保留的内容:

  • 保留: 话题、其可见的工作,以及任何推送到分支、作为 pull request 打开或发布到 Slack 中的内容。
  • 不保留: 仅存在于沙箱中的文件。要保留生成的文件,请要求 Claude 将它们推送到分支或发布到话题中。

Claude Tag 保留频道记忆和会话记录。由于该保留,Claude Tag 不适用于启用了零数据保留(Zero Data Retention, ZDR)的组织。

5.1.2 凭证存储

你配置的凭证保存在独立的凭证存储中,而非代理本身中。当出站请求匹配规则时,Agent Proxy——沙箱与任何外部主机之间的网络层——从该存储中检索凭证并在边界处注入,因此模型和沙箱不会获得密钥。

这意味着:

  • 保存的凭证不会再次显示。 设置界面是只写的。
  • 凭证仅前往你命名的主机——你在添加连接时指定的主机。
  • 你可以进一步收窄凭证,限制到一个主机、一个路径前缀或只读方法,参见添加连接

5.1.3 网络出口

频道会话沙箱的出站流量默认拒绝。请求仅前往允许层覆盖的主机,允许层包括连接的允许网站bundle 的域名选项卡以及该作用域会话运行的环境的网络访问设置。新环境的默认级别 Trusted access 已覆盖一组已记录的包注册器和开发者主机。每个请求有三种结果:

  • 匹配凭证规则。 凭证在边界处附加,请求继续。
  • 仅匹配允许列表。 主机在域名选项卡上或被环境网络访问设置允许;请求在不带凭证的情况下发送。
  • 什么都不匹配。 请求被直接阻止;主机不可达而非仅未认证。

由于对任何其他主机的请求都被阻止,数据只能离开沙箱前往允许层覆盖的主机。管理员在每个连接上设置允许网站列表,在每个 bundle 上设置域名选项卡。管理员从管理设置中的 Cloud environments 页面设置环境的网络访问级别,默认为 Trusted access。参见设置允许网站允许不带凭证的主机

组织可以选择加入允许全部出口,即在 bundle 的域名选项卡上用 * 条目允许对任何主机(在该条目列出的端口上)的请求,仍然不带凭证。私有和内部网络地址以及云元数据端点保持阻止状态。允许全部出口默认关闭,由 Anthropic 按组织启用;参见允许所有主机

5.1.4 服务账户

在频道中,Claude 使用自己的服务凭证行动,而非使用 @它的人的账户。Slack 界面是 Claude 应用,代码工作通过 Claude GitHub App 进行,所有其他连接工具使用 Owner 在 Access bundle 中配置的服务账户。完整的模型请参见Agent 身份如何工作

连接属于该 Agent 身份,由 bundle 作用域覆盖的所有人共享。该作用域下频道中的任何人都可以要求 Claude 使用该凭证行动,因此连接账户能读写的任何内容对该频道中的每个成员都可用。为每个服务连接一个你控制的专用身份,例如 claude@yourcompany.example.com 席位或原生服务账户,而非个人登录。专用账户使 Agent 的操作在每个工具的日志中可独立审计,并让你可以撤销其访问而不影响任何个人;参见为每个服务创建专用账户

@Claude 的 DM 在用户自己的 claude.ai 账户上运行,使用该用户的个人连接器,工作归属于他们,但 pull request 例外——DM 中的 pull request 也由 Claude GitHub App 创建。个人连接器仅在 DM 中适用,从不在频道中。Owner 可以在整个组织范围内禁用 DM;参见允许或禁用直接消息

5.1.5 频道间凭证隔离

频道会话只能使用在以下三个位置之一附加的 Access bundle

  • 频道本身。 在此处附加的 bundle 仅在该频道中适用。
  • 频道的工作区。 在此处附加的 bundle 在该工作区的每个频道中适用。
  • Default Slack access 组织级别的根;在此处附加的 bundle 在每个配对工作区的每个频道中适用。

组织中其他任何位置附加的 bundle 对会话不可见,会话沙箱的任何请求都不能携带来自这三个作用域之外 bundle 的凭证。

例如,如果你将持有财务凭证的 bundle 附加到一个私有频道,所有其他频道中的会话就像该凭证不存在一样运行。如果你将同一 bundle 附加到工作区或 Default Slack access,其下的每个频道都获得该访问权限,因此隔离来自你附加 bundle 的位置,而非 bundle 本身。

将凭证限制在一个频道的三个步骤:

  1. 将其 bundle 附加到该频道,不附加到更广的范围。
  2. 保持频道私有。公开频道上的 bundle 将其访问授予任何加入的人
  3. 检查频道在管理设置的 Slack 选项卡上的 Access summary。它显示该频道实际获得的访问权限,包括从工作区和 Default Slack access 继承的内容。

Claude 不在外部共享频道中运行,因此与另一家公司共享的频道永远不会有需要隔离的会话。

隔离凭证不隔离 Claude 知道的内容。它在公开频道中学到的内容成为工作区记忆,工作区中其他频道的会话可以读取,并且它可以按关键词搜索公开频道而无需被添加到其中——与任何工作区成员相同。

5.2 Artifact 可见性

会话可以发布 artifact——一个托管在 claude.ai 上的网页,链接发布在话题中——该页面在沙箱释放后仍然可用。任何有权访问源 Slack 频道的人都可以打开它,在公开频道中覆盖工作区中的所有人。没有该访问权限的人打开链接时看到的是请求访问的提示而非页面。没有任何共享设置供任何人更改,更新通过在话题中与 Claude 交互完成。

从你自己的 Claude Code 会话发布的 artifact 工作方式不同:它们属于你,你可以控制谁可以打开它们,共享选项取决于你的套餐和组织设置。参见 Claude Code artifact 文档

5.3 成员访问

默认情况下,已连接 Slack 工作区中的任何人都可以在频道中调用 Claude,无论是否拥有 Claude 账户。Owner 可以开启限制开关来收窄:在 Team 套餐上,它将 Claude 限制为你组织中拥有 Claude 账户的人;在 Enterprise 套餐上,它将 Claude 限制为角色授予 Claude Tag in Slack 能力的成员。参见限制谁可以使用 Claude。该开关同时管理 DM 和频道。

5.4 相关资源