Skip to content

Gemini CLI 企业管理控制台提供的 Admin Controls 在本地不可被用户覆盖,优先级高于系统级 settings.json。通过 Google 管理控制台统一推送,支持启用严格模式(禁止 YOLO)、限制 MCP 服务器白名单、强制注入企业 MCP 服务器,以及关闭 Extensions 和 Skills 等功能。

企业管理控制台(Admin Controls)

企业管理员可通过 Management Console 为整个组织统一配置安全策略,这些配置对本地用户不可见、不可修改,确保全组织一致的安全基线。

企业安全默认值(Secure Defaults)对所有企业用户自动启用,可通过 Management Console 按需调整。

Admin Controls 与系统级 settings.json 的区别

对比维度Admin Controls系统级 settings.json
配置来源Google Management Console本地系统文件
可被用户覆盖?(本地不可修改)有一定权限的用户可修改
适用场景强制安全策略便捷配置推送
推荐用途需严格执行的合规策略默认配置模板

详细系统级配置方式参见企业级部署指南


可用的管控项

Strict Mode(严格模式)

状态:启用 / 禁用 | 默认:已启用

启用后,用户无法进入 YOLO 模式(所有工具无需确认自动执行的模式)。企业环境强烈建议保持启用。

保护场景:防止 AI 在无监督状态下执行批量文件删除、代码推送等高风险操作。


Extensions(扩展插件)

状态:启用 / 禁用 | 默认:已禁用

禁用后,用户无法安装或使用任何 Gemini CLI 扩展插件。详见扩展插件文档


MCP 服务器管控

全局启用/禁用

状态:启用 / 禁用 | 默认:已禁用

禁用后,用户无法使用任何 MCP 服务器,包括本地配置的服务器。

MCP 服务器白名单(预览功能)

默认值:空(不限制)

管理员可以定义一个精确的 MCP 服务器白名单,确保用户只能连接到组织批准的服务器。

白名单格式

json
{
  "mcpServers": {
    "external-provider": {
      "url": "https://api.mcp-provider.com",
      "type": "sse",
      "trust": true,
      "includeTools": ["toolA", "toolB"],
      "excludeTools": []
    },
    "internal-corp-tool": {
      "url": "https://mcp.internal-tool.corp",
      "type": "http",
      "includeTools": [],
      "excludeTools": ["adminTool"]
    }
  }
}

字段说明

字段必填说明
urlMCP 服务器的完整 URL
type连接类型,ssehttp
trusttrue 时工具执行无需用户确认
includeTools只允许该列表中的工具(为空则允许全部)
excludeTools屏蔽该列表中的工具

白名单合并逻辑

  • 白名单为空:客户端使用用户本地配置(前提是 MCP 未被全局禁用)
  • 白名单非空:本地配置中不在白名单里的服务器将被完全忽略
  • 激活条件:服务器必须同时存在于白名单和用户本地配置(按名称匹配),两者缺一不可
  • 字段覆盖规则
    • urltypetrust:始终使用管理员白名单的值,覆盖本地设置
    • 工具过滤(includeTools/excludeTools):管理员定义了就用管理员的,未定义则回退到用户本地设置
    • 安全清除:客户端自动清除本地的执行字段(commandargsenvcwdhttpUrltcp),防止用户绕过连接方式限制
  • 白名单内服务器但本地未配置:不会自动初始化,用户仍然保有最终决定权(选择是否启用某个被允许的服务器)

强制注入 MCP 服务器(Required Servers,预览功能)

默认值:空

与白名单(过滤用户配置)不同,Required Servers 无论用户是否在本地配置,都会被自动注入到用户环境中。适合需要全员强制启用的合规类工具。

格式示例

json
{
  "requiredMcpServers": {
    "corp-compliance-tool": {
      "url": "https://mcp.corp/compliance",
      "type": "http",
      "trust": true,
      "description": "企业合规检查工具"
    },
    "internal-registry": {
      "url": "https://registry.corp/mcp",
      "type": "sse",
      "authProviderType": "google_credentials",
      "oauth": {
        "scopes": ["https://www.googleapis.com/auth/scope"]
      }
    }
  }
}

支持字段

字段必填说明
urlMCP 服务器端点 URL
type连接类型,ssehttp
trust默认 true(强制注入服务器默认受信任)
description服务器描述
authProviderType认证类型:dynamic_discovery / google_credentials / service_account_impersonation
oauthOAuth 配置,含 scopesclientIdclientSecret
targetAudience服务间 OAuth 目标受众
targetServiceAccount服务账号邮箱(用于账号模拟)
headers请求时额外附加的 HTTP 头部
includeTools / excludeTools工具过滤列表
timeout请求超时时间(毫秒)

强制注入逻辑

  • 强制注入发生在白名单过滤之后,因此无论白名单如何配置,强制服务器始终可用
  • 如果强制服务器与本地某个同名服务器冲突,管理员配置完全覆盖本地配置
  • 强制服务器只支持远程传输(ssehttp),不支持本地执行字段(commandargsenvcwd
  • 白名单和强制服务器互不影响,可同时使用

Unmanaged Capabilities(非受管功能)

状态:启用 / 禁用 | 默认:已禁用

禁用后,用户无法使用特定功能。当前该控制项会禁用 Agent Skills(代理技能)

详细的 Skills 使用说明参见 Skills 工作流


Admin Controls 与 Policy Engine 的关系

能力Admin ControlsPolicy Engine(TOML)
配置方式Google 管理控制台本地 TOML 文件
执行层云端下发,本地不可覆盖本地文件,管理员目录(系统路径)
粒度功能开关级(MCP 整体开/关)工具参数级(正则匹配)
适合场景跨设备统一合规基线单机/单团队精细权限

两者可配合使用:Admin Controls 建立不可逾越的底线,Policy Engine 在底线之上进行精细调整。

常见问题

Q: Admin Controls 和 settings.json 同时配置时谁优先?

A: Admin Controls 优先级最高,本地无法覆盖。settings.json(包括系统级 System Overrides)只作用于 Admin Controls 未管控的配置项。

Q: 如果 Admin Controls 禁用了 MCP,本地的 mcpServers 配置还有效吗?

A: 无效。MCP 全局禁用时,无论本地配置了多少服务器,都不会被加载。强制注入服务器(Required MCP Servers)同样受此限制。

Q: 如何验证 Admin Controls 是否已生效?

A: 启动 Gemini CLI 后,尝试执行被管控的操作(如进入 YOLO 模式),如果操作被拒绝并显示管理员策略提示,说明 Admin Controls 已正常生效。也可以通过企业遥测日志验证,详见遥测配置指南