Appearance
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"]
}
}
}字段说明:
| 字段 | 必填 | 说明 |
|---|---|---|
url | 是 | MCP 服务器的完整 URL |
type | 是 | 连接类型,sse 或 http |
trust | 否 | 为 true 时工具执行无需用户确认 |
includeTools | 否 | 只允许该列表中的工具(为空则允许全部) |
excludeTools | 否 | 屏蔽该列表中的工具 |
白名单合并逻辑:
- 白名单为空:客户端使用用户本地配置(前提是 MCP 未被全局禁用)
- 白名单非空:本地配置中不在白名单里的服务器将被完全忽略
- 激活条件:服务器必须同时存在于白名单和用户本地配置(按名称匹配),两者缺一不可
- 字段覆盖规则:
url、type、trust:始终使用管理员白名单的值,覆盖本地设置- 工具过滤(
includeTools/excludeTools):管理员定义了就用管理员的,未定义则回退到用户本地设置 - 安全清除:客户端自动清除本地的执行字段(
command、args、env、cwd、httpUrl、tcp),防止用户绕过连接方式限制
- 白名单内服务器但本地未配置:不会自动初始化,用户仍然保有最终决定权(选择是否启用某个被允许的服务器)
强制注入 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"]
}
}
}
}支持字段:
| 字段 | 必填 | 说明 |
|---|---|---|
url | 是 | MCP 服务器端点 URL |
type | 是 | 连接类型,sse 或 http |
trust | 否 | 默认 true(强制注入服务器默认受信任) |
description | 否 | 服务器描述 |
authProviderType | 否 | 认证类型:dynamic_discovery / google_credentials / service_account_impersonation |
oauth | 否 | OAuth 配置,含 scopes、clientId、clientSecret |
targetAudience | 否 | 服务间 OAuth 目标受众 |
targetServiceAccount | 否 | 服务账号邮箱(用于账号模拟) |
headers | 否 | 请求时额外附加的 HTTP 头部 |
includeTools / excludeTools | 否 | 工具过滤列表 |
timeout | 否 | 请求超时时间(毫秒) |
强制注入逻辑:
- 强制注入发生在白名单过滤之后,因此无论白名单如何配置,强制服务器始终可用
- 如果强制服务器与本地某个同名服务器冲突,管理员配置完全覆盖本地配置
- 强制服务器只支持远程传输(
sse、http),不支持本地执行字段(command、args、env、cwd) - 白名单和强制服务器互不影响,可同时使用
Unmanaged Capabilities(非受管功能)
状态:启用 / 禁用 | 默认:已禁用
禁用后,用户无法使用特定功能。当前该控制项会禁用 Agent Skills(代理技能)。
详细的 Skills 使用说明参见 Skills 工作流。
Admin Controls 与 Policy Engine 的关系
| 能力 | Admin Controls | Policy 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 已正常生效。也可以通过企业遥测日志验证,详见遥测配置指南。