Use esta referencia para comprender las claves admitidas actualmente en managed-settings.json.
Para conocer los métodos de implementación y los clientes admitidos, consulte Configuración de opciones administradas por la empresa.
Reglas de precedencia
Cuando hay varios orígenes de configuración, la configuración anterior en esta lista tiene prioridad sobre la configuración más adelante en la lista:
- Configuración administrada por MDM
- Configuración administrada por el servidor
- Configuración basada en archivos
- Configuración de nivel de usuario
En Copilot CLI, la sandbox clave es una excepción a estas reglas de precedencia. Las restricciones de sandbox gestionadas por MDM, por el servidor y mediante archivos se combinan entre sí y con la configuración de sandbox del usuario de la forma más restrictiva.
Teclas compatibles
| Clave | propósito | Copilot CLI | VS Code | GitHub Copilot app | Copilot cloud agent | JetBrains IDEs |
|---|---|---|---|---|---|---|
permissions.disable | Desactiva el comportamiento de omisión o de permitirlo todo al estilo YOLO | |||||
model | Establece la selección automática del modelo como valor predeterminado para las nuevas conversaciones. | |||||
enabledPlugins | Habilita o deshabilita complementos específicos por clave | |||||
extra | Agrega marketplaces de complementos a los que los usuarios pueden acceder | |||||
strict | Restringe la instalación del complemento a marketplaces enumerados explícitamente. | |||||
telemetry | Configura la exportación de OpenTelemetry y dirige los datos de uso Copilot a un colector que elija. | |||||
remoteControl | Restringe si las sesiones hospedadas en este dispositivo se pueden controlar de forma remota, en función del estado de autorización de SSO del cliente de control para las organizaciones enumeradas. No afecta a la capacidad del usuario de controlar de forma remota las sesiones hospedadas en otros dispositivos. | |||||
allowedMcpServers | Define una lista de servidores MCP autorizados para ejecutarse. Se bloquea cualquier servidor que no coincida. Déjelo en blanco para permitir todos los servidores, sujeto a cualquier regla de denegación | |||||
deniedMcpServers | Define servidores MCP bloqueados incondicionalmente, aunque también coincidan con una entrada en . allowedMcpServers | |||||
sandbox | Aplica restricciones mínimas de espacio aislado local para la ejecución de comandos, el sistema de archivos y el acceso a la red, las credenciales y los servidores MCP y LSP locales. |
Aplicación de una configuración diferente a los equipos empresariales
En el caso de las implementaciones administradas por el servidor, la empresa puede aplicar una gobernanza diferente a grupos de usuarios en función de su pertenencia al equipo empresarial. La empresa define toda la configuración: la pertenencia al equipo solo determina qué usuarios reciben un conjunto determinado de valores.
Para que una clave pueda tener valores específicos del equipo, márquela como reemplazable en managed-settings.json mediante la sintaxis { "overridable": <VALUE> }. Una clave reemplazable usa el valor del equipo cuando está configurada o, si el equipo la deja sin configurar, recurra al valor predeterminado de su empresa. La { "overridable": <VALUE> } sintaxis se aplica a las modelclaves , permissions.disableBypassPermissionsMode, allowedMcpServersy deniedMcpServers . Las claves no marcadas como invalidables siguen siendo una decisión de nivel empresarial que los equipos no pueden modificar.
enabledPlugins y extraKnownMarketplaces funcionan aditivamente. La empresa managed-settings.json establece una línea base y un archivo de equipo de empresa puede agregar más complementos y marketplaces sobre él. Para ver los pasos de configuración completos, consulte Configuración de opciones administradas por la empresa.
Ejemplo de configuración
En el ejemplo siguiente se muestran estas claves en un archivo de configuración administrada.
{
"model": "auto",
"permissions": {
"disableBypassPermissionsMode": "disable"
},
"enabledPlugins": {
"my-plugin@agent-skills": true
},
"extraKnownMarketplaces": {
"agent-skills": {
"source": {
"source": "github",
"repo": "OWNER/REPO"
}
}
},
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "OWNER/REPO"
}
],
"telemetry": {
"enabled": true,
"endpoint": "https://otel-collector.example.com",
"protocol": "http/protobuf",
"captureContent": false,
"lockCaptureContent": true,
"serviceName": "copilot",
"resourceAttributes": {
"deployment.environment": "production"
},
"headers": {
"Authorization": "Bearer TOKEN"
}
},
"remoteControl": {
"mode": "requireSSO",
"githubDotComOrganizations": ["ORG-NAME"]
},
"allowedMcpServers": [
{ "serverUrl": "https://api.githubcopilot.com/*" },
{ "serverCommand": ["npx", "@playwright/mcp@latest"] },
{ "serverCommand": ["cmd", "/c", "uvx", "markitdown-mcp"] }
],
"deniedMcpServers": [
{
"serverCommand": [
"npx",
"-y",
"@modelcontextprotocol/server-filesystem",
"/"
]
}
],
"sandbox": {
"enabled": true,
"allowBypass": false,
"sandboxMcpServers": true,
"sandboxLspServers": true
}
}
enabledPlugins
Define complementos que se instalan o bloquean automáticamente para todos los usuarios empresariales. Cada entrada usa el formato PLUGIN-NAME@MARKETPLACE-NAME como clave, con un valor booleano: true para requerir que el complemento esté habilitado o false para requerir que se deshabilite. Consulte Acerca de los estándares de complementos administrados por la empresa.
extraKnownMarketplaces
Define marketplaces de complementos adicionales disponibles para los usuarios. Cada entrada es un objeto de mercado con nombre que contiene una propiedad source. Se admiten los siguientes tipos de origen:
"github": requiererepoenOWNER/REPOformato; opcionalref(rama, etiqueta o SHA) ypath(subdirectorio)"git"— requiereurl; opcionalrefypath"directory"— requierepath
Consulte Acerca de los estándares de complementos administrados por la empresa.
strictKnownMarketplaces
Restringe la instalación del complemento solo a los marketplaces definidos explícitamente por la empresa. Un array vacío significa bloqueo completo. Cada entrada es un objeto de Marketplace con una source propiedad que indica el tipo de origen. Se admiten los siguientes tipos de origen:
"github"— requiererepoenOWNER/REPOformato; opcionalrefypath"git"— requiereurl; opcionalrefypath"url": requiereurl; objeto opcionalheaders"npm"— requierepackage"file"— requierepath"directory"— requierepath"hostPattern": requierehostPattern(regex que coincide con los hosts del marketplace)"pathPattern"— requierepathPattern(regex que coincida con las rutas del Marketplace)
model
Establece la selección automática del modelo como valor predeterminado para las nuevas conversaciones. Consulte Acerca de Copilotauto model selection.
- Al establecer
modela"auto", las nuevas sesiones usan el modelo Auto, a menos que el usuario especifique un modelo diferente para cada conversación. - Esta clave se invalida mediante la asignación de equipos empresariales. En su
managed-settings.json, utilice la sintaxis{ "overridable": "auto" }para personalizar la configuración de la clave para cada equipo. A continuación, puede establecer"model": "unmanaged"en un archivo de configuración del equipo para proporcionar una especialización que tiene prioridad sobremanaged-settings.jsonpara los miembros del equipo en cuestión.
permissions
disableBypassPermissionsMode
Impide que los usuarios habiliten el modo de omisión (también conocido como "modo YOLO"). El modo de omisión permite a un agente ejecutar comandos, acceder a archivos y capturar direcciones URL sin solicitar aprobación.
Si establece disableBypassPermissionsMode en "disable", los usuarios no pueden activar el modo bypass:
- En Copilot CLI, todas las opciones de la línea de comandos para permitir todos los permisos (
--yolo,--allow-all, y las opciones individuales--allow-all-tools,--allow-all-pathsy--allow-all-urls) se suprimen en el inicio y no pueden conceder permisos elevados. Los comandos con barra/yoloy/allow-alltambién están bloqueados. - En VS Code, la configuración global de aprobación automática (
chat.tools.global.autoApprove) está desactivada y no se puede volver a habilitar. - En GitHub Copilot app, la configuración "Permitir todo" de "Permisos de herramientas" está bloqueada en la configuración de las sesiones.
- Esta clave se invalida mediante la asignación de equipos empresariales. En su
managed-settings.json, use la sintaxis{ "overridable": "disable" }para personalizar la configuración de la clave para cada equipo. A continuación, puede establecer"disableBypassPermissionsMode": "unmanaged"en un archivo de configuración del equipo, especificando una especialización que tiene prioridad sobremanaged-settings.jsonpara los miembros del equipo en cuestión.
Telemetría
Configura la exportación de OpenTelemetry, dirigiendo los datos de uso Copilot a un colector que elija.
Esta propiedad es compatible con Copilot CLI y VS Code.
Cuando establece la propiedad telemetry, la telemetría Copilot se envía al punto de conexión que especifique. Se admiten las siguientes subpropiedades:
enabled: se establece entruepara activar la exportación de telemetría ofalsepara desactivarla.endpoint: la dirección URL del recopilador de OTLP (por ejemplo,https://otel-collector.example.com).protocol: protocolo de transporte para la exportación de telemetría. Los valores aceptados son:"http/json"y"http/protobuf".captureContent: se establece entruepara incluir contenido de solicitud y respuesta en la carga de telemetría ofalsepara excluirlo.lockCaptureContent: se establece entruepara impedir que los usuarios cambien lacaptureContentconfiguración.serviceName: una etiqueta para el nombre del servicio de telemetría (por ejemplo,"copilot").resourceAttributes: un objeto de los atributos de recursos openTelemetry que se van a asociar a todos los datos de telemetría exportados (por ejemplo,{"deployment.environment": "production"}).headers: objeto de encabezados HTTP que se van a incluir con cada solicitud de telemetría (por ejemplo, unAuthorizationencabezado para el recopilador).
remoteControl
Restringe si Copilot las sesiones hospedadas en un dispositivo se pueden controlar de forma remota. Esto no afecta a la capacidad de un usuario de controlar de forma remota sus sesiones hospedadas en otros dispositivos.
mode: Se establece en"disabled"para evitar el control remoto de sesiones en el dispositivo,"requireSSO"para permitir solo el control remoto desde un cliente autorizado mediante SSO para las organizaciones enumeradas engithubDotComOrganizations, o"enabled"para permitirlo sin restricciones.githubDotComOrganizations: Una lista de nombres de usuario de la organización. Obligatorio cuandomodees"requireSSO".
allowedMcpServers
Define una lista de servidores MCP cuya ejecución está permitida. Cuando se establece, solo se permiten servidores que coincidan con al menos una entrada. Se bloquea cualquier servidor que no coincida.
Omita esta clave por completo para permitir todos los servidores, según lo especificado en deniedMcpServers. Establézcalo en una matriz vacía para bloquear todos los servidores excepto los servidores predeterminados integrados.
Cuando varias fuentes de configuración definen allowedMcpServers, la lista de elementos permitidos resultante es la intersección de todas las fuentes. Un servidor debe estar permitido por todos los orígenes para poder ejecutarse.
Cada entrada debe contener exactamente una propiedad de coincidencia.
| Propiedad | Comportamiento de coincidencia | Servidores aplicables |
|---|---|---|
serverName | Coincide exactamente con la etiqueta de servidor asignada por el usuario. No se admiten caracteres comodín. Dado que los usuarios eligen nombres de servidor, use serverUrl o serverCommand cuando necesite aplicar la identidad de un servidor. | Cualquier servidor. Los servidores en memoria solo pueden usar serverName. |
serverUrl | Coincide con una dirección URL del servidor remoto. Admite caracteres comodín * para subdominios o prefijos de ruta de acceso, por ejemplo, https:/ o https:/. | Servidores remotos que se conectan a través de eventos HTTP o enviados por el servidor (SSE). Esta propiedad no se aplica a los servidores locales, incluso si tienen una dirección URL. |
serverCommand | Coincide con el comando exacto y cada argumento de un servidor local, por ejemplo, ["npx", "-y", "my-mcp-server"]. No se admiten comodines ni la expansión de la línea de comandos. | Servidores locales que usan la entrada y salida estándar (stdio). Esta propiedad no se aplica a los servidores remotos, incluso si tienen un comando. |
Esta clave se puede invalidar para los equipos empresariales. Encapsular los objetos comparadores en overridable a nivel empresarial y, a continuación, usar la sintaxis habitual para definir listas de permitidos y de denegados en el archivo de cada equipo.
Canonización de URL
Antes de comparar un serverUrl patrón con una dirección URL de servidor, el cliente normaliza ambos valores:
- Convierte el esquema y el host en minúsculas.
- Convierte los nombres de host internacionalizados o Unicode en Punycode.
- Quita el puerto predeterminado para
:80HTTP o:443HTTPS. - Descodifica octetos de host codificados por porcentaje. Por ejemplo,
%65vilse convierte enevil. - Elimina los fragmentos de URL y los puntos al final de los nombres DNS.
- Impide que los caracteres comodín del componente de autoridad coincidan más allá del límite
/hacia la ruta.
deniedMcpServers
Define servidores MCP bloqueados incondicionalmente. Un servidor que coincida con cualquier entrada se bloquea incluso si también coincide con una entrada en allowedMcpServers. Las reglas de denegación siempre tienen prioridad sobre las reglas de permiso.
Los servidores propios Copilot, como el servidor MCP integrado GitHub, están exentos de las reglas de denegación y no se pueden bloquear.
Cuando varios orígenes de configuración definen deniedMcpServers, la lista de denegación efectiva es la unión de todos los orígenes. Un servidor bloqueado por cualquier origen está bloqueado para todos.
Cada entrada usa las mismas serverNamepropiedades , serverUrlo serverCommand descritas en allowedMcpServers.
sandbox
Aplica restricciones mínimas de espacio aislado local para Copilot CLI. La configuración de espacio aislado administrado impone restricciones en lugar de valores predeterminados:
- Para las configuraciones de activación forzada, un valor administrado de
trueimpone la configuración.falseo la omisión no modifica la configuración del usuario. - Para la configuración de funcionalidad, un valor administrado de
falseprohíbe la funcionalidad.trueo la omisión deja la configuración del usuario sin cambios. - Las listas de rutas de acceso de lectura y escritura administradas y de solo lectura restringen las concesiones configuradas por el usuario, mientras que las rutas de acceso denegadas administradas se agregan a las denegaciones configuradas por el usuario.
Se admiten las siguientes subpropiedades:
-
`enabled`: `true` requiere aislamiento y evita que los usuarios lo deshabiliten. allowBypass:falseimpide que el modelo solicite que un comando individual se ejecute fuera del espacio aislado.addCurrentWorkingDirectory:falseimpide que Copilot CLI agregue automáticamente el directorio de trabajo actual a las rutas de lectura/escritura del sandbox.sandboxMcpServers:truerequiere que los servidores MCP locales iniciados por Copilot CLI se ejecuten en el espacio aislado. Los servidores MCP remotos no se ejecutan en el espacio aislado local.-
`sandboxLspServers`: `true` requiere que los servidores de lenguaje iniciados por Copilot CLI se ejecuten en el espacio aislado. -
`gitAuth`: `false` impide que Copilot CLI inyecte un token GitHub en operaciones Git HTTPS autenticadas en el espacio aislado. -
`ghAuth`: `false` impide que Copilot CLI inyecte un token GitHub de GitHub CLI en el espacio aislado. allowDevToolAccess:falseimpide el acceso automático a la configuración de herramientas de desarrollo, las memorias caché, los registros y las cadenas de herramientas. Estas ubicaciones pueden contener credenciales o tokens del Registro de paquetes. Deshabilitar el acceso puede provocar un error en la restauración de paquetes, las operaciones del Registro autenticadas o las compilaciones que usan cachés compartidas a menos que conceda explícitamente las rutas de acceso necesarias.-
`userPolicy`: objeto que configura restricciones de seatbelt específicas del sistema de archivos, la red y macOS. Las propiedades admitidas se describen en las secciones siguientes.
sandbox.userPolicy.filesystem
Configura el acceso al sistema de archivos para los procesos que se ejecutan en un entorno aislado. Las rutas deben ser absolutas. Las listas de concesión administradas se comparan con las listas configuradas por el usuario por cadena de ruta de acceso exacta, no por cobertura de ruta de acceso primaria o secundaria.
readwritePaths: Una lista de rutas que los procesos aislados pueden leer y escribir. Una ruta de acceso configurada por el usuario permanece disponible solo si su cadena exacta también aparece en todos los orígenes administrados que especifican esta propiedad. Una matriz gestionada vacía elimina todos los permisos de acceso de lectura/escritura a rutas configurados por el usuario, pero no elimina el acceso concedido por separado, como los directorios temporales o el directorio de trabajo actual.readonlyPaths: Una lista de rutas que los procesos aislados pueden leer, pero no escribir. Una ruta de acceso configurada por el usuario permanece disponible solo si su cadena exacta también aparece en todos los orígenes administrados que especifican esta propiedad. Una matriz administrada vacía quita todas las concesiones de ruta de acceso de solo lectura configuradas por el usuario, pero no quita el acceso ensamblado por separado.deniedPaths: Array de rutas a las que los procesos en entorno aislado no pueden acceder. Un valor administrado se agrega a, en lugar de reemplazar, las rutas de acceso denegadas de un usuario.
sandbox.userPolicy.network
Configura el acceso a la red para los procesos aislados.
allowOutbound:falsebloquea el acceso de red saliente.allowLocalNetwork:falseimpide el acceso a la red local.
El comportamiento de red varía según el sistema operativo. En concreto, un proxy no es un límite completo de control de salida porque algunas aplicaciones pueden omitir la configuración del proxy.
sandbox.userPolicy.seatbelt
Configura las opciones de seatbelt específicas de macOS.
keychainAccess:falseimpide que los procesos aislados accedan al Llavero de macOS.