Files
heicode-mananger/docs/reference/claude-code-enterprise-controls-zh.md
T
chenchenandClaude Opus 4.8 edb7090055 docs(reference): faithful Claude Code enterprise controls digest (zh)
Standalone reading reference faithfully consolidating the six official Claude
docs (admin-setup, authentication, server-managed-settings, settings,
managed-mcp, auto-mode-config): auth methods + precedence, roles/seats/admin,
settings scope precedence & merge rules, server-managed-settings mechanism,
full managed-only/permissions/model/sandbox/MCP key reference, managed-mcp
seven modes + allow/deny evaluation, auto-mode classifier, usage/audit, and
quick-reference tables. No HM design — pure Claude reference for study.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 16:34:29 +08:00

27 KiB
Raw Blame History

Claude Code 企业管控体系(权限 · 分配 · 设置)阅读参考

整理自 Claude 官方文档(中文):admin-setup / authentication / server-managed-settings / settings / managed-mcp / auto-mode-config。 本文是忠实还原 Claude 体系的学习参考(不含任何二次设计),用于深读理解「Claude 如何做团队/企业的权限与分配」。 每条尽量标注来源:[AS]=admin-setup [AU]=authentication [SM]=server-managed-settings [S]=settings [MCP]=managed-mcp [AM]=auto-mode-config。


0. 全局心智模型:三层控制

Claude Code 的企业管控可拆成三层 + 两条贯穿能力:

层 机制 决定什么
身份与准入 提供商(provider) + 计划(plan) + 座位(seat) + 邀请/角色 + SSO/SCIM/域名捕获 谁能用、用哪个组织身份
策略下发 server-managed-settings(控制台下发 JSON,最高优先级、不可本地覆盖) 客户端能/不能做什么
能力供给 managed-mcp + 插件/agent 下发 客户端有哪些工具/MCP/agent 可用
贯穿①分配/计费 模型限制、支出上限、速率、用量归属 用多少、花多少
贯穿②审计/合规 Compliance API、审计日志、ZDR 留痕与数据留存

1. 提供商与计划(根选择)

1.1 API 提供商(决定计费 + 认证 + 合规 + 可用功能)[AS]

  • Claude for Teams / Enterprise(默认推荐,按座位订阅,claude.ai 与 Claude Code 同一订阅)
  • Claude Console(API 优先 / 按量付费)
  • Amazon Bedrock(继承 AWS 合规与计费)
  • Google Vertex AI(继承 GCP)
  • Microsoft Foundry(继承 Azure)

1.2 计划层级 [AU]

  • 个人:Pro / Max。
  • Teams:自助计划,含协作、管理工具、计费管理,适合小团队。
  • Enterprise:在 Teams 之上增加 SSO、域名捕获(domain capture)、基于角色的权限(role-based permissions)、合规性 API(compliance API)、托管策略设置(managed policy settings)。

server-managed-settings 需要 Teams/Enterprise 计划。[SM]


2. 认证(authentication)

2.1 登录 / 鉴权方式(逐项 + 适用场景)[AU]

  1. Claude.ai 账户登录(浏览器 OAuth):个人 Pro/Max,以及 Teams/Enterprise 成员(管理员邀请后用 Claude.ai 账户登录)。首次运行 claude 自动开浏览器;WSL2/SSH/容器里按 c 复制 URL、粘贴 login code。
  2. Claude Console 凭证登录:API 计费优先;管理员先在 Console 邀请并分配角色。
  3. 云提供商凭证(Bedrock/Vertex/Foundry):设环境变量,无需浏览器登录。
  4. ANTHROPIC_API_KEY:直连 Anthropic API(X-Api-Key 头);交互模式首次提示批准并记忆,/config 的「使用自定义 API 密钥」开关可改;-p 非交互模式下只要存在就用。
  5. ANTHROPIC_AUTH_TOKEN:Authorization: Bearer 头,用于经 LLM 网关/代理路由(网关用 bearer token 而非 API key)。
  6. apiKeyHelper 脚本:返回 API key 的 shell 脚本,用于动态/轮换凭证(如 vault 短期令牌);默认 5 分钟或遇 HTTP 401 刷新,CLAUDE_CODE_API_KEY_HELPER_TTL_MS 可调;执行 >10 秒会告警。
  7. CLAUDE_CODE_OAUTH_TOKEN(长期 token):claude setup-token 生成的一年期 OAuth 令牌,用于 CI/脚本(无浏览器);需 Pro/Max/Team/Enterprise;仅限推理,不能建 Remote Control 会话;--bare 模式不读它。
  8. 订阅 OAuth 凭证(/login):Pro/Max/Team/Enterprise 的默认方式。

2.2 认证优先级(多凭证并存,从高到低)[AU]

  1. 云提供商(CLAUDE_CODE_USE_BEDROCK / _VERTEX / _FOUNDRY)
  2. ANTHROPIC_AUTH_TOKEN
  3. ANTHROPIC_API_KEY(批准后)
  4. apiKeyHelper
  5. CLAUDE_CODE_OAUTH_TOKEN
  6. /login 订阅 OAuth

常见陷阱:有订阅但环境里也有 ANTHROPIC_API_KEY 时,API key 批准后优先;若该 key 属已禁用/过期组织会认证失败,需 unset 回退。apiKeyHelper / ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN 仅终端 CLI 生效;Claude Desktop 和远程会话只用 OAuth。

2.3 凭证存储 [AU]

  • macOS:加密 Keychain。
  • Linux:~/.claude/.credentials.json(权限 0600)。
  • Windows:%USERPROFILE%\.claude\.credentials.json(继承用户目录 ACL)。
  • CLAUDE_CONFIG_DIR 改配置位置;ANTHROPIC_BASE_URL 改 API 端点。

2.4 企业级强制 [AU][AS]

  • SSO:Enterprise 能力;Console 侧也可设 SSO。SSO/SCIM 预配在「账户级」配置(细节在《Enterprise Administrator Guide》,文档外链未展开)。
  • 域名捕获(domain capture):Enterprise 能力,等价「域名验证 / 同域用户自动归属」。
  • 强制登录:见 §4 的 forceLoginMethod / forceLoginOrgUUID。

3. 管理员、角色、座位、准入(admin-setup)

3.1 角色 [AU]

文档明确出现的角色来自 Claude Console 侧(邀请用户时分配):

  • Claude Code 角色:只能创建 Claude Code API 密钥。
  • Developer 角色:可创建任何类型 API 密钥。

Enterprise 的「基于角色的权限(role-based permissions)」是一项能力点,完整角色清单(owner/admin/member 等)在《Enterprise Administrator Guide》,本组文档未逐项展开。不要臆造完整角色表。

3.2 座位(seat) [AS]

  • SSO、SCIM 预配、座位分配在「Claude 账户级别」的管理控制台配置。
  • 座位 = Claude Code 访问的硬开关:若用户座位「不包括 Claude Code 访问权限」,登录会报「您还没有被添加到您的组织」,需在管理控制台更新座位。

3.3 管理员能做的控制动作 [AS][AU]

  • 成员与准入:管理员仪表板/Console 邀请成员(Console 路径 Settings → Members → Invite,支持批量),邀请时分配角色,靠座位分配决定谁能用 Claude Code。
  • 策略强制:通过托管设置(§4/§5),优先于本地开发者配置,可锁定权限/沙箱/MCP/插件/hooks/版本下限等。
  • 用量与支出:Usage monitoring(OpenTelemetry,所有提供商)、Analytics dashboard(每用户指标/贡献/排行榜,仅 Anthropic 提供商)、Cost tracking(spend limits / rate limits / 使用归属,仅 Anthropic);云提供商侧走各自账单。
  • 数据与审计:ZDR(Enterprise)、审计跟踪、Compliance API、请求级审计(放 LLM gateway)。

3.4 分发与验证 [AS]

  • 分发:订阅 → 邀请成员(分角色/座位)→ 成员装 Claude Code 用对应账户登录;云路线分发环境变量与凭证生成说明。
  • 验证生效:开发者跑 /status,显示 Enterprise managed settings (remote|plist|HKLM|HKCU|file),表明策略来源与生效。
  • 切换/排障:/logout→/login 切账号;缺企业认证选项跑 claude update 后重启终端。

4. 设置体系与优先级(settings)

4.1 作用域与优先级(从高到低)[S]

  1. Managed(托管,最高) —— 服务器管理 / MDM-OS 策略 / 系统级 managed-settings.json;影响机器所有用户;无法被任何下层覆盖,包括命令行参数。
  2. 命令行参数(--settings <file-or-json>)—— 临时会话覆盖。
  3. Local 本地项目(.claude/settings.local.json,gitignored)—— 个人、仅本仓库。
  4. Project 共享项目(.claude/settings.json,提交到 git)—— 团队共享。
  5. User 用户(最低)(~/.claude/settings.json;Windows %USERPROFILE%\.claude)—— 个人全局。

4.2 Managed 层内部子优先级 [S][SM]

server-managed > MDM/OS 级策略 > 基于文件(managed-settings.d/*.json + managed-settings.json) > HKCU 注册表(仅 Windows)。 只用一个 managed 源,层间不合并 —— 若 server-managed 下发了任意键,端点托管(MDM/文件)被完全忽略。[SM]

4.3 合并规则 [S]

  • 标量值:高层压低层(谁高谁赢)。例:user 允许 Bash(npm run *),project deny 它,则被阻止。
  • 数组设置:跨作用域**「连接 + 去重」而非替换**(如 permissions.allow、sandbox.filesystem.allowWrite)。低层能添加条目但不能删高层条目。
  • 权限规则评估顺序:先 deny → 再 ask → 最后 allow,第一个匹配的规则获胜。

4.4 端点托管的存放形式 [S]

  • 服务端托管:Claude.ai Web 控制台,无本地路径。
  • MDM/OS:macOS com.anthropic.claudecode managed preferences;Windows HKLM\SOFTWARE\Policies\ClaudeCode(Settings 值含 JSON)或 HKCU\...(最低)。
  • 文件型:macOS /Library/Application Support/ClaudeCode/、Linux/WSL /etc/claude-code/、Windows C:\Program Files\ClaudeCode\(旧 C:\ProgramData\ 自 v2.1.75 弃用);支持 managed-settings.d/ 目录(数字前缀控制合并序)。
  • policyHelper:管理员部署的可执行文件,启动时动态计算 managed 设置(仅 MDM/系统文件源,输出 managedSettings 信封)。

5. 服务端托管设置(server-managed-settings)

5.1 是什么 [SM]

管理员在 Claude.ai Web 控制台(Admin Settings → Claude Code → Managed settings)集中下发 JSON;客户端用组织凭证登录后自动接收。专为无 MDM / 非托管设备的组织设计。需 Teams/Enterprise + 客户端能访问 api.anthropic.com。

5.2 工作机制 [SM]

  • 下发者:仅 Primary Owner 和 Owner 角色可管理。
  • 拉取/缓存:客户端启动时异步从服务器获取,活动会话期间每小时轮询一次;缓存本地持久化,网络故障下仍生效;多数设置更新无需重启自动应用(OpenTelemetry 等高级设置例外)。
  • 应用形式:管理员侧纯 JSON;客户端侧本质是 Managed 层(最高优先级)。传输靠组织 OAuth 身份 + api.anthropic.com,无本地文件路径。
  • 首次无缓存窗口:获取前有一小段「策略未强制执行」窗口;获取失败则继续运行而不带托管设置。
  • 故障关闭(fail-closed):设 forceRemoteSettingsRefresh: true,客户端启动时阻塞直到成功拉取,失败则退出而非裸跑;此设置自我延续(本地缓存同样强制)。注意:claude auth login 等子命令(v2.1.139+)不受此阻塞,以便凭证过期时能重认证。
  • 安全批准对话框:含 shell 命令、未知 env 变量、任何 hook 定义的设置,用户启动时会看到批准弹窗,拒绝则 Claude Code 退出(-p 非交互模式跳过批准直接应用)。

5.3 能否本地覆盖 / 绕过 [SM]

  • 不能覆盖:Managed 层无法被 user/project/local/命令行覆盖;用户篡改缓存文件 → 下次服务器拉取恢复。
  • 会被绕过的情形:用不同组织登录 → 不下发;配置第三方模型提供商(Bedrock/Vertex/Foundry/自定义 ANTHROPIC_BASE_URL)→ server-managed 被完全绕过。
  • 安全定性:server-managed 是客户端控制(client-side control)。非托管设备上有 sudo/管理员权限的用户仍可改二进制/文件系统/网络;要更强保证须用 MDM 端点托管。可用 ConfigChange hook 检测/阻止未授权运行时改动。

5.4 审计与当前限制 [SM]

  • 审计:设置变更通过 Compliance API / 审计日志导出,含操作类型、账户、设备、新旧值引用。
  • 限制:统一应用全组织(暂不支持分组);managed-mcp.json 不能经此下发(改用 allowedMcpServers/deniedMcpServers);policyHelper、wslInheritsWindowsSettings 等仅限 OS 级策略的键不被遵守。

6. 关键设置键名清单(settings,真实写法)

按类别整理,便于查阅哪些适合做「企业强制」。

6.1 仅 Managed 设置生效的键(放 user/project 无效,最适合企业强制)[S]

  • allowManagedPermissionRulesOnly —— 只认 managed 权限规则,禁 user/project 定义 allow/ask/deny。
  • allowManagedHooksOnly —— 只加载 managed/SDK/强制启用插件的 hooks。
  • allowManagedMcpServersOnly —— 只认 managed 的 MCP 允许列表(deny 仍全源合并)。
  • forceRemoteSettingsRefresh —— 故障关闭启动。
  • claudeMd —— 组织级注入的 CLAUDE.md 指令。
  • strictKnownMarketplaces / blockedMarketplaces / pluginSuggestionMarketplaces / pluginTrustMessage —— 插件市场允许/阻止/信任提示。
  • strictPluginOnlyCustomization —— 锁定 skills/agents/hooks/MCP 只能来自插件或 managed(可传 true 或数组如 ["skills","hooks"])。
  • channelsEnabled / allowedChannelPlugins —— 频道开关与允许列表。
  • allowAllClaudeAiMcps、parentSettingsBehavior("first-wins"/"merge")、sshConfigs(只读)。

6.2 权限(企业强制核心)[S]

  • permissions.allow / permissions.ask / permissions.deny —— 数组,语法 Tool 或 Tool(specifier),如 Bash(curl *)、Read(./.env)、WebFetch(domain:example.com)。
  • permissions.deny 典型用于排除敏感文件:Read(./.env)、Read(./secrets/**)。
  • permissions.additionalDirectories —— 额外可访问工作目录。
  • permissions.defaultMode —— default/acceptEdits/plan/auto/dontAsk/bypassPermissions(项目/本地设 auto 被忽略,防仓库自授)。
  • permissions.disableBypassPermissionsMode: "disable" —— 禁用 --dangerously-skip-permissions。
  • skipDangerousModePermissionPrompt。

6.3 模型 / 认证 / 登录 [S]

  • model、availableModels(限制 /model 可选模型,如 ["sonnet","haiku"])、modelOverrides、minimumVersion。
  • apiKeyHelper(生成 X-Api-Key/Bearer 的脚本)、forceLoginMethod(claudeai/console)、forceLoginOrgUUID(强制属于特定 Anthropic 组织,空数组 fail-close)。

6.4 env / hooks / 遥测 / 自动更新 [S]

  • env —— 注入每会话及子进程的环境变量(如 CLAUDE_CODE_ENABLE_TELEMETRY、OTEL_METRICS_EXPORTER)。
  • hooks —— 生命周期事件命令;相关约束键 allowedHttpHookUrls、httpHookAllowedEnvVars、disableAllHooks。
  • 自动更新:autoUpdatesChannel(stable/latest);完全禁用用 env 里的 DISABLE_AUTOUPDATER。
  • 遥测:env 中 CLAUDE_CODE_ENABLE_TELEMETRY、feedbackSurveyRate(设 0 抑制)、CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY。

6.5 MCP 开关 [S]

  • enableAllProjectMcpServers、enabledMcpjsonServers、disabledMcpjsonServers(.mcp.json 内的批准/拒绝)。
  • allowedMcpServers / deniedMcpServers(managed-settings 中,deny 优先于 allow,全作用域生效)。

6.6 沙箱 sandbox(网络/文件系统准入)[S]

  • sandbox.enabled、sandbox.failIfUnavailable(硬门)、allowUnsandboxedCommands: false(禁逃生舱)。
  • sandbox.filesystem.allowWrite/denyWrite/denyRead/allowRead、filesystem.allowManagedReadPathsOnly(仅 managed)。
  • sandbox.network.allowedDomains/deniedDomains/allowManagedDomainsOnly(仅 managed,deny 优先且全源合并)、httpProxyPort/socksProxyPort、allowLocalBinding。

6.7 其他可锁项 [S]

disableAgentView、disableAutoMode、disableRemoteControl、disableSkillShellExecution、disableWorkflows、includeGitInstructions、attribution/includeCoAuthoredBy(提交归属)、companyAnnouncements、cleanupPeriodDays、minimumVersion、autoUpdatesChannel。


7. 受管 MCP(managed-mcp:控制组织的 MCP 访问)

7.1 背景 [MCP]

  • 默认任何人都能连任意 MCP server;Anthropic 只对其目录连接器做上架审查,不对任意 MCP 做安全审计或托管。
  • Claude Code 没有内置 MCP registry供用户浏览安装;批准目录模式需管理员在内部 wiki 分享 claude mcp add 命令,或经托管插件市场(/plugin)分发。

7.2 七种控制模式 [MCP]

模式 功能 配置
禁用 MCP 任何地方都不加载 managed-mcp.json 带空映射 {"mcpServers": {}}
固定部署 每个用户拿到相同 server,无法添加其他 managed-mcp.json 含想要的 server
批准的目录 发布批准列表,用户可加,其他被阻止 allowedMcpServers + allowManagedMcpServersOnly: true
仅插件 server server 只能来自插件 strictPluginOnlyCustomization 含 mcp
软允许列表 强制允许列表,用户可扩展 allowedMcpServers(不带 only 开关)
仅拒绝列表 阻止已知坏 server,放行其余 deniedMcpServers
无限制 用户随意添加 不部署任何托管 MCP 配置

7.3 managed-mcp.json(集中下发一批 MCP)[MCP]

  • 独占控制:部署后 Claude Code 仅加载该文件定义的 server;用户无法添加/修改/使用其他 MCP(包括插件提供的),并默认禁止 claude.ai 连接器(除非 allowAllClaudeAiMcps)。
  • 格式:同项目级 .mcp.json,顶层键 mcpServers,每 server 支持 type(http/stdio/sse)、url、command、args、env。
  • 部署路径(系统级,需管理员权限,一般 MDM/Jamf/GPO/Intune 下发):
    • macOS /Library/Application Support/ClaudeCode/managed-mcp.json
    • Linux/WSL /etc/claude-code/managed-mcp.json
    • Windows C:\Program Files\ClaudeCode\managed-mcp.json
  • 关键限制:managed-mcp.json 无法经 server-managed-settings 交付,只能靠能写系统路径的进程部署。
  • 完全禁用:部署 {"mcpServers": {}};用户 /mcp 看不到任何 server,claude mcp add 报企业策略错误;之前配过的 server 下次启动静默停止加载。

7.4 白/黑名单与三步评估 [MCP]

  • 两字段:allowedMcpServers(白)、deniedMcpServers(黑),均为条目对象数组,每条用单键标识:
    • serverUrl —— 远程 URL,支持 * 通配(HTTP/SSE);
    • serverCommand —— stdio 的精确命令+参数(逐参数精确匹配);
    • serverName —— 用户分配标签,仅精确匹配、不展开通配。
  • 安全警告:仅用 serverName 的白名单不是安全控制(用户能把任意 server 命名为 github);真正强制须用 serverCommand 或 serverUrl。
  • 未设置 vs 空数组:allowedMcpServers 未设=允许全部,[]=不允许任何,有内容=仅允许匹配;deniedMcpServers 未设/[]=都不阻止,有内容=阻止匹配。
  • 三步评估(对所有 server,含 managed-mcp.json):
    1. 合并列表:各源 allow/deny 合并;allowManagedMcpServersOnly: true 时只保留托管 allow,deny 始终从每源合并;
    2. 检查拒绝:匹配即阻止,没有任何东西能覆盖 deny;
    3. 检查允许:未设放行所有过了 deny 的;已设按类型匹配(远程必须匹配 serverUrl;stdio 必须匹配 serverCommand;仅当 allow 不含对应类型条目时 serverName 才生效)。
  • 不对称:allowManagedMcpServersOnly 让用户/项目/本地 allow 失效(只受管 allow 生效),但 deny 始终合并 → 用户能为自己收紧、不能放宽。与 allowManagedPermissionRulesOnly 是两个独立标志。
  • allowAllClaudeAiMcps: true(v2.1.149+,仅托管源生效):让 claude.ai 连接器与 managed-mcp.json 共存;allow/deny 仍生效,但插件 server 仍禁止。

7.5 凭据(重要安全约束)[MCP]

  • 不要在 env 块放 API key/凭据(机器上任何用户都能读该文件)。
  • 改用按用户(per-user):${VAR} 环境变量扩展、OAuth 或 per-user headers、headersHelper(连接时动态生成凭据)。
  • (文档未出现「集中托管单一密钥」字段,均为 per-user —— 待确认是否他处提供。)

7.6 用户侧报错 + 监控 [MCP]

限制 用户看到
存在 managed-mcp.json 且 add enterprise MCP configuration is active and has exclusive control over MCP servers
命中拒绝列表 server is explicitly blocked by enterprise policy
不在允许列表 not allowed by enterprise policy
既有 server 被新策略阻止 静默从 /mcp、claude mcp list 消失,无警告
  • 监控:OTel 导出后设 OTEL_LOG_TOOL_DETAILS=1,工具事件含 MCP server 与工具名。
  • 验证:托管机上 claude mcp list(应只剩托管 server)、claude mcp add ...(应被拒)。

8. 自动模式(auto-mode-config)

8.1 是什么 [AM]

  • 让 Claude Code 无需权限提示即可运行:把每个工具调用路由到一个分类器(classifier),分类器阻止任何不可逆、破坏性、或指向你环境之外的操作。
  • 开箱即用只信任工作目录 + 当前代码库已配置的远程;推送到公司 SCM 组织、写团队云桶等会被阻止,直到加入 autoMode.environment。
  • 可用性:Anthropic API 全员可用;Bedrock/Vertex/Foundry 需先设 CLAUDE_CODE_ENABLE_AUTO_MODE;Team/Enterprise 上还涉及管理员启用(详见 permission-modes 页,待确认细节)。

8.2 配置读取范围 [AM]

范围 文件 用途
单开发者 ~/.claude/settings.json 个人受信基础设施
单项目单开发者 .claude/settings.local.json(gitignored) 按项目受信桶/服务
组织范围 server-managed-settings 分发给所有开发者
按调用 --settings 标志 / Agent SDK 内联 JSON 自动化覆盖
  • 分类器还读取与 Claude 相同的 CLAUDE.md(如「从不强制推送」同时指导 Claude 与分类器)。
  • 关键隔离:分类器不从 .claude/settings.json(共享项目设置)读取 autoMode → 被 check-in 的代码库无法注入自己的允许规则。

8.3 配置字段(autoMode 块下,内容是自然语言散文)[AM]

  • autoMode.environment —— 受信基础设施(代码库、桶、域、内部服务)。多数组织唯一需要设的字段。
  • autoMode.allow —— 例外(覆盖 soft_deny)。
  • autoMode.soft_deny —— 破坏性操作,用户意图或 allow 可覆盖。
  • autoMode.hard_deny —— 无条件安全边界,用户意图与 allow 都不能覆盖。
  • "$defaults" 字面字符串:在数组里包含它会把内置默认拼接进来并继续继承版本更新;不含则替换整段默认(Danger:漏掉会丢弃强制推送、curl|bash、生产部署等内置 soft_deny 与内置数据泄露/绕过 hard_deny)。

8.4 分类器内部优先级(四层)[AM]

  1. hard_deny 无条件阻止;
  2. soft_deny 阻止(可被用户意图/allow 覆盖);
  3. allow 覆盖匹配的 soft_deny;
  4. 明确用户意图覆盖剩余 soft_deny(须「直接且具体」,如「强制推送此分支」算,泛泛「清理代码库」不算)。

8.5 与权限系统的关系(重要)[AM]

  • 分类器是权限系统之后的「第二道门」。permissions.deny(基于工具模式)在分类器之前先跑,是硬边界;autoMode 是其后的语义判断层。
  • autoMode 合并是累加(additive)的,不是硬策略边界:开发者能扩展 environment/allow/soft_deny/hard_deny,不能删除托管条目;但因 allow 是 soft_deny 的例外,开发者新增 allow 可覆盖组织的 soft_deny。
  • → 结论:对「无论用户意图或分类器配置如何都必须永不运行」的操作,要用托管设置里的 permissions.deny(咨询分类器之前阻断,不可覆盖),而非 autoMode。

8.6 CLI 验证 [AM]

  • claude auto-mode defaults —— 打印内置 environment/allow/soft_deny/hard_deny。
  • claude auto-mode config —— 打印应用设置后实际生效的规则($defaults 已展开)。
  • claude auto-mode critique —— AI 审查自定义规则(标记模糊/冗余/易误报)。
  • 拒绝记录在 /permissions 的「最近拒绝」;按 r 重试;可用 PermissionDenied hook 编程响应。

9. 用量 · 计费 · 审计 · 合规 [AS]

  • Usage monitoring:OpenTelemetry 导出会话/工具/令牌(所有提供商)。
  • Analytics dashboard:每用户指标、贡献跟踪、排行榜(仅 Anthropic 提供商,入口 claude.ai/analytics/claude-code)。
  • Cost tracking:spend limits、rate limits、使用归属(仅 Anthropic);云提供商走 AWS Cost Explorer / GCP Billing / Azure Cost Management。
  • 审计/合规:审计跟踪、Compliance API(Enterprise)、ZDR(Enterprise)、请求级审计(放 LLM gateway)。
  • 限制可用模型:文档没有直接的「模型允许列表」设置键用于此(availableModels 是限制 /model 选择项);账户级限制等价手段是 LLM gateway 按敏感度路由 + 沙箱域名允许列表。

10. 速查表

10.1 设置优先级(高→低)

Managed(server-managed > MDM/OS > 文件 > HKCU) > 命令行 --settings > 项目 local > 项目 shared > 用户全局。 (Managed 层不可被任何下层覆盖;Managed 内部「只用一个源、不合并」。)

10.2 权限/MCP 评估顺序

  • 权限规则:deny → ask → allow,第一个匹配获胜。
  • MCP:合并 → 查 deny(最高,不可覆盖)→ 查 allow。
  • auto-mode:hard_deny → soft_deny →(allow / 明确用户意图覆盖 soft_deny);硬边界另由 permissions.deny 在分类器前把守。

10.3 数组合并的不对称原则(贯穿全体系)

托管下发的数组项只能被下层扩展、不能被删除;deny 始终全源合并、不可覆盖 → 用户能自我收紧、不能自我放宽。

10.4 企业强制最常用项

  • 权限:permissions.deny + allowManagedPermissionRulesOnly
  • 模型:availableModels、minimumVersion
  • 网络/FS:sandbox.network.allowedDomains + allowManagedDomainsOnly、sandbox.enabled
  • 登录:forceLoginMethod、forceLoginOrgUUID
  • 能力开关:disableBypassPermissionsMode、disableRemoteControl、disableAgentView、disableAutoMode
  • MCP:allowedMcpServers/deniedMcpServers + allowManagedMcpServersOnly,或系统级 managed-mcp.json(独占)
  • 启动:forceRemoteSettingsRefresh(fail-closed)

附:原始文档清单

文档外链未展开、设计前建议再抓:《Claude Enterprise Administrator Guide》(完整角色清单、SSO/SAML 字段、SCIM 属性映射、域名捕获流程);permission-modes 页(auto-mode 在 Enterprise 的管理员启用开关)。