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>
27 KiB
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]
- Claude.ai 账户登录(浏览器 OAuth):个人 Pro/Max,以及 Teams/Enterprise 成员(管理员邀请后用 Claude.ai 账户登录)。首次运行
claude自动开浏览器;WSL2/SSH/容器里按c复制 URL、粘贴 login code。 - Claude Console 凭证登录:API 计费优先;管理员先在 Console 邀请并分配角色。
- 云提供商凭证(Bedrock/Vertex/Foundry):设环境变量,无需浏览器登录。
ANTHROPIC_API_KEY:直连 Anthropic API(X-Api-Key头);交互模式首次提示批准并记忆,/config的「使用自定义 API 密钥」开关可改;-p非交互模式下只要存在就用。ANTHROPIC_AUTH_TOKEN:Authorization: Bearer头,用于经 LLM 网关/代理路由(网关用 bearer token 而非 API key)。apiKeyHelper脚本:返回 API key 的 shell 脚本,用于动态/轮换凭证(如 vault 短期令牌);默认 5 分钟或遇 HTTP 401 刷新,CLAUDE_CODE_API_KEY_HELPER_TTL_MS可调;执行 >10 秒会告警。CLAUDE_CODE_OAUTH_TOKEN(长期 token):claude setup-token生成的一年期 OAuth 令牌,用于 CI/脚本(无浏览器);需 Pro/Max/Team/Enterprise;仅限推理,不能建 Remote Control 会话;--bare模式不读它。- 订阅 OAuth 凭证(
/login):Pro/Max/Team/Enterprise 的默认方式。
2.2 认证优先级(多凭证并存,从高到低)[AU]
- 云提供商(
CLAUDE_CODE_USE_BEDROCK/_VERTEX/_FOUNDRY) ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY(批准后)apiKeyHelperCLAUDE_CODE_OAUTH_TOKEN/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]
- Managed(托管,最高) —— 服务器管理 / MDM-OS 策略 / 系统级
managed-settings.json;影响机器所有用户;无法被任何下层覆盖,包括命令行参数。 - 命令行参数(
--settings <file-or-json>)—— 临时会话覆盖。 - Local 本地项目(
.claude/settings.local.json,gitignored)—— 个人、仅本仓库。 - Project 共享项目(
.claude/settings.json,提交到 git)—— 团队共享。 - 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.claudecodemanaged preferences;WindowsHKLM\SOFTWARE\Policies\ClaudeCode(Settings值含 JSON)或HKCU\...(最低)。 - 文件型:macOS
/Library/Application Support/ClaudeCode/、Linux/WSL/etc/claude-code/、WindowsC:\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 端点托管。可用
ConfigChangehook 检测/阻止未授权运行时改动。
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
- macOS
- 关键限制:
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):- 合并列表:各源 allow/deny 合并;
allowManagedMcpServersOnly: true时只保留托管 allow,deny 始终从每源合并; - 检查拒绝:匹配即阻止,没有任何东西能覆盖 deny;
- 检查允许:未设放行所有过了 deny 的;已设按类型匹配(远程必须匹配
serverUrl;stdio 必须匹配serverCommand;仅当 allow 不含对应类型条目时serverName才生效)。
- 合并列表:各源 allow/deny 合并;
- 不对称:
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]
hard_deny无条件阻止;soft_deny阻止(可被用户意图/allow 覆盖);allow覆盖匹配的soft_deny;- 明确用户意图覆盖剩余 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重试;可用PermissionDeniedhook 编程响应。
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)
附:原始文档清单
- admin-setup:https://code.claude.com/docs/zh-CN/admin-setup
- authentication:https://code.claude.com/docs/zh-CN/authentication
- server-managed-settings:https://code.claude.com/docs/zh-CN/server-managed-settings
- settings:https://code.claude.com/docs/zh-CN/settings
- managed-mcp:https://code.claude.com/docs/zh-CN/managed-mcp
- auto-mode-config:https://code.claude.com/docs/zh-CN/auto-mode-config
文档外链未展开、设计前建议再抓:《Claude Enterprise Administrator Guide》(完整角色清单、SSO/SAML 字段、SCIM 属性映射、域名捕获流程);
permission-modes页(auto-mode 在 Enterprise 的管理员启用开关)。