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 CLI de Copilot, la sandbox clave es una excepción a estas reglas de precedencia. Las restricciones de espacio aislado administrados por MDM, administrados por el servidor y la configuración basada en archivos se combinan entre sí y con la configuración del espacio aislado del usuario en la dirección más restrictiva.
Teclas compatibles
| Clave | propósito | CLI de Copilot | VS Code | aplicación Copilot de GitHub | agente en la nube de Copilot | JetBrains IDEs |
|---|---|---|---|---|---|---|
permissions.disable | Deshabilita el comportamiento de elusión o de permitirlo todo al estilo YOLO | |||||
permissions.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 permitidos de los servidores MCP que se pueden ejecutar. Se bloquea cualquier servidor que no coincida. Omitir 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 sea apta para los valores específicos del equipo, marque como invalidable en managed-settings.json el uso de la { "overridable": <VALUE> } sintaxis . Una clave reemplazable usa el valor del equipo cuando se establece, o retroceda al valor predeterminado de la empresa cuando el equipo lo deja sin establecer. La { "overridable": <VALUE> } sintaxis se aplica a las permissions.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.
{
"permissions": {
"disableBypassPermissionsMode": "disable",
"model": "auto"
},
"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)
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 managed-settings.json, 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. También se bloquean los/yolocomandos de barra diagonal y/allow-all. - En managed-settings.json, la configuración global de aprobación automática (
chat.tools.global.autoApprove) está desactivada y no se puede volver a habilitar. - En CLI de Copilot, 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.
VS CodeEn , use la{ "overridable": "disable" }sintaxis para especializar la configuración de la clave por equipo. A continuación, puede establecer"disableBypassPermissionsMode": "unmanaged"en un archivo de configuración de equipo, lo que proporciona una especialización que tiene prioridad sobreaplicación Copilot de GitHublos miembros del equipo de temas.
model
Establece la selección automática del modelo como valor predeterminado para las nuevas conversaciones. Consulte Acerca de Copilotselección automática de modelos.
- Al establecer
permissions.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.
managed-settings.jsonEn , use la{ "overridable": "auto" }sintaxis para especializar la configuración de la clave por equipo. A continuación, puede establecer"model": "unmanaged"en un archivo de configuración de equipo, lo que proporciona una especialización que tiene prioridad sobremanaged-settings.jsonlos miembros del equipo de temas.
Telemetría
Configura la exportación de OpenTelemetry, dirigiendo los datos de uso Copilot a un colector que elija.
Esta propiedad es compatible con CLI de Copilot 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 por el inicio de sesión único para las organizaciones enumeradas engithubDotComOrganizationso"enabled"para permitir que no esté restringido.githubDotComOrganizations: matriz de inicios de sesión de la organización. Obligatorio cuandomodees"requireSSO".
allowedMcpServers
Define una lista de permitidos de los servidores MCP que se pueden ejecutar. 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, sujeto a las entradas de deniedMcpServers. Establézcalo en una matriz vacía para bloquear todos los servidores excepto los servidores predeterminados integrados.
Cuando varios orígenes de configuración definen allowedMcpServers, la lista de permitidos efectiva es la intersección de todos los orígenes. Todos los orígenes deben permitir que se ejecute un servidor.
Cada entrada debe contener exactamente una propiedad de buscador de coincidencias.
| 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 caracteres comodín ni expansión de 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. Encapsula los objetos del buscador de coincidencias en overridable en el nivel de empresa y, a continuación, use la sintaxis normal para definir listas de permitidos y listas de denegación en el archivo de cada equipo.
Canónica de direcciones 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. - Quita los fragmentos de dirección URL y los puntos finales de los nombres DNS.
- Impide que los caracteres comodín del componente de autoridad coincidan a través del
/límite en la ruta de acceso.
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 de primera entidad 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 CLI de Copilot. La configuración de espacio aislado administrado impone restricciones en lugar de valores predeterminados:
- Para la configuración forzada, un valor administrado de
trueaplica la configuración.falseu omisión deja la configuración del usuario sin cambios. - Para la configuración de funcionalidad, un valor administrado de
falseprohíbe la funcionalidad.trueu 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:truerequiere espacio aislado y evita que los usuarios lo deshabilite.allowBypass:falseimpide que el modelo solicite que un comando individual se ejecute fuera del espacio aislado.addCurrentWorkingDirectory:falseimpide CLI de Copilot agregar automáticamente el directorio de trabajo actual a las rutas de acceso de lectura y escritura del espacio aislado.sandboxMcpServers:truerequiere servidores MCP locales iniciados por CLI de Copilot para ejecutarse en el espacio aislado. Los servidores MCP remotos no se ejecutan en el espacio aislado local.sandboxLspServers:truerequiere que los servidores de lenguaje iniciados por CLI de Copilot se ejecuten en el espacio aislado.gitAuth:falseimpide CLI de Copilot insertar un GitHub token para las operaciones HTTPS de Git autenticadas en el espacio aislado.ghAuth:falseimpide CLI de Copilot insertar un GitHub token para 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 de espacio aislado. Las rutas de acceso 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: matriz de rutas de acceso que los procesos de espacio aislado 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 administrada vacía quita todas las concesiones de ruta de acceso de lectura y escritura configuradas por el usuario, pero no quita el acceso ensamblado por separado, como directorios temporales o el directorio de trabajo actual.readonlyPaths: matriz de rutas de acceso que los procesos de espacio aislado 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: matriz de rutas de acceso a las que los procesos de espacio aislado no pueden tener acceso. 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 de espacio aislado.
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 de espacio aislado accedan a la cadena de claves de macOS.