Si ha habilitado Copilot in the cloud, debe configurar la configuración de la organización para que los Copilot agentes puedan conectarse a servidores MCP, usar paquetes privados y acceder a servicios externos cuando funcionan de forma autónoma en GitHub.
Parte de la configuración siguiente se realiza en el nivel de repositorio. Sin embargo, los propietarios de la organización tienen control sobre qué recursos están en el ámbito y quién puede configurar el acceso a ellos.
Acerca de los entornos de sesión
Las sesiones del agente en GitHub se pueden ejecutar en un espacio aislado en la nube o en GitHub Actions. Los costes de computación de ambos entornos consumen la misma asignación mensual.
- Un espacio aislado en la nube es un entorno más rápido y ligero que permite a los usuarios reanudar sesiones en la interfaz de chat de GitHub o en otros clientes.
- GitHub Actions proporciona más control sobre el entorno, como secretos y variables, pasos de instalación para instalar dependencias y acceso a ejecutores autohospedados o redes privadas.
Para obtener una comparación detallada, consulte GitHub Copilot en GitHub.com y GitHub Mobile.
En esta guía se da por supuesto que usa GitHub Actions como entorno de computación. Actualmente, los espacios aislados en la nube tienen menos opciones para configurar el acceso a los recursos de la organización.
Escenario de ejemplo
La organización usa Sentry para realizar un seguimiento de errores en la aplicación Node. Las nuevas excepciones se generan como problemas en GitHuby los desarrolladores quieren asignar estos problemas a Copilot.
Si deseas que Copilot:
- Conéctese al servidor MCP de Sentry para que pueda acceder a los detalles de la instancia de Sentry.
- Instalar dependencias, incluidos los paquetes privados hospedados en GitHub, para compilar la aplicación y ejecutar pruebas
- Siga las convenciones de su organización para el control de errores
Almacenamiento de secretos de forma segura
De forma predeterminada, el ámbito del token de Copilotautenticación se limita al repositorio donde se ejecuta. Esto significa que Copilot no podrá autenticarse en sistemas externos ni acceder a paquetes privados de ámbito de organización.
Los propietarios de la organización pueden agregar Agents secrets en el nivel de organización para compartir la configuración entre varios repositorios. Copilot puede acceder a estos datos durante su instalación y ejecución de tareas. No podrá acceder a secretos y variables para GitHub Actions, Codespaceso Dependabot. Para obtener más información, vea Configurar secretos y variables para el agente de Copilot en la nube.
Nota:
Los secretos para las conexiones de servidor MCP (con prefijo con COPILOT_MCP_) también estarán disponibles en espacios aislados en la nube. Los secretos de otros agentes solo estarán disponibles en entornos GitHub Actions.
Ejemplo: Guardar un secreto
Un propietario de la organización guarda un token de autenticación para la instancia de Sentry de la organización.
- Vaya a la sección Secretos y variables**** > de la configuración de la organización.
- Guarde un token de acceso para la instancia de Sentry en un secreto denominado
COPILOT_MCP_SENTRY_ACCESS_TOKEN.
Sugerencia
No es necesario guardar un token para el registro privado GitHub Packages , al que accederemos mediante el estándar GitHub ActionsGITHUB_TOKEN. Sin embargo, querrá guardar un token de autenticación si estuviera usando un registro de paquetes externo.
Configuración del acceso a servidores MCP
Los propietarios de la organización y de la empresa pueden establecer una directiva para permitir que los usuarios configuren el acceso a los servidores MCP. Si esta directiva está habilitada, los usuarios pueden configurar servidores MCP para Copilot en la configuración del repositorio o en perfiles de agente personalizados. Para la coherencia de toda la organización, se recomienda crear perfiles de agente personalizados en el nivel de organización o de empresa.
Una sesión que usa un agente personalizado tiene acceso a los servidores MCP configurados tanto en la configuración del repositorio como en el perfil del agente. Sin embargo, cuantos más casos de uso cubra con agentes personalizados de toda la organización, menos usuarios tendrán que configurar el acceso ad hoc a los servidores MCP en la configuración del repositorio.
También puede usar el archivo managed-settings.json de una empresa para crear una lista de servidores MCP aprobados. Consulte Configuración de una lista de elementos permitidos para un servidor MCP en su empresa. allowedMcpServers y deniedMcpServers se aplican a los servidores MCP definidos en la configuración de usuario y la configuración del repositorio, pero no se aplican a los servidores MCP definidos en los perfiles de agente personalizados del repositorio. Sin embargo, puede impedir el uso de servidores MCP configurados en perfiles de agente personalizados asegurándose de que los dominios necesarios para iniciarlos no están permitidos por el firewall personalizado de nivel de repositorio o organización. Consulte Personalización o deshabilitación del firewall para GitHub Copilot.
Se recomienda navegar por el GitHub Registro MCP para encontrar opciones de confianza y altamente calificadas.
Ejemplo: Creación de un agente personalizado
Un propietario de la organización crea un perfil de agente personalizado para el agente Sentry. Tiene acceso al servidor MCP de Sentry e instrucciones personalizadas para las convenciones de control de errores de la organización.
-
Cree un repositorio llamado
.github-privateen la organización. Opcionalmente, un propietario de la empresa puede establecer este repositorio como origen para todos los agentes personalizados de la empresa. -
En el repositorio, agregue un
agent.mdarchivo con un perfil como el siguiente. Esto incluye la configuración del servidor MCP, que hace referencia al secreto que hemos guardado.--- name: sentry-error-fixer description: Proposed fixes for exception issues raised from Sentry mcp-servers: sentry: type: 'local' command: 'npx' args: ['@sentry/mcp-server@latest'] env: SENTRY_ACCESS_TOKEN: ${{ secrets.COPILOT_MCP_SENTRY_ACCESS_TOKEN }} --- You are an error resolution specialist. When you're assigned an issue created by our Sentry integration, check for error details and stack traces using the MCP server, then propose a fix. Make sure you check that your proposed fix works by building the site with `npm run build` and running the test suite in `npm test`. -
Cuando los desarrolladores asignan un problema a Copilot, pueden seleccionar el agente personalizado en una lista desplegable.
Instalación de paquetes privados
La mejor manera de conceder Copilot acceso a las dependencias de un proyecto es instalarlas en un copilot-setup-steps.yml archivo de flujo de trabajo. Este archivo define cómo se configura el entorno antes de Copilot empezar a funcionar.
Para permitir que el flujo de trabajo extraiga tus paquetes privados con alcance en la organización, debes actualizar la configuración del paquete para asegurar que el repositorio GITHUB_TOKEN tenga acceso a dicho paquete. Esto es más seguro que usar un personal access token de larga duración con permisos de organización.
Ejemplo: Instalación de dependencias de node
Un desarrollador crea un flujo de trabajo para instalar las dependencias del nodo definidas en el archivo de package-lock.json un repositorio. Esto incluye paquetes privados dentro del ámbito organizacional hospedados en GitHub.
-
El desarrollador crea un
copilot-setup-steps.ymlarchivo en el repositorio. -
Agregan pasos para instalar las dependencias del proyecto. Por ejemplo:
# ... jobs: copilot-setup-steps: # ... # You can define any steps you want, and they will run before the agent starts. # If you do not check out your code, Copilot will do this for you. steps: - name: Checkout code uses: actions/checkout@v6 - name: Set up Node.js uses: actions/setup-node@v7 with: node-version: "20" cache: "npm" - name: Install JavaScript dependencies run: npm ci -
Un administrador de la organización garantiza que el repositorio tenga acceso a los paquetes privados de la organización concediéndole acceso al repositorio en la configuración de cada paquete. Consulte Configurar la visibilidad y el control de accesos de un paquete.
Sugerencia
Si necesita acceder a paquetes hospedados internamente dentro de la red corporativa, es posible que tenga que ejecutar Copilot agentes en GitHub Actions runners autohospedados.
Controlar quién puede configurar estas opciones
Ahora ha visto cómo se controla el acceso a los recursos en los niveles de repositorio y organización, tenga en cuenta cuánto ámbito desea conceder a los usuarios que administren esta configuración.
- Elija qué repositorios tienen acceso a Copilot in the cloud. Si le preocupa un repositorio específico, puede bloquearlo para todos los usuarios.
- Tenga en cuenta quién obtiene acceso de administrador a estos repositorios. Puede controlarlo en el nivel de organización mediante la creación de un equipo con el rol personalizado administrador de todo el repositorio . Estos usuarios podrán administrar las opciones de configuración, como la configuración de MCP y los secretos y variables de agentes, en todos los repositorios.
- Use conjuntos de reglas y archivos CODEOWNERS para controlar las modificaciones de los archivos de configuración, como
copilot-setup-steps.yml, que cualquier persona con acceso de escritura puede editar de forma predeterminada. - Revise el firewall predeterminado. El firewall no afecta a las conexiones a servidores MCP ni a los pasos de configuración de
copilot-setup-steps.yml, pero limita Copilotel acceso a Internet durante la ejecución de la tarea. Consulte Personalización o deshabilitación del firewall para GitHub Copilot. - Defina los estándares de complementos. Los complementos son paquetes instalables que amplían Copilot con agentes reutilizables, habilidades, ganchos e integraciones. Puede controlar qué complementos y marketplaces se permiten en el archivo de
managed-settings.jsonuna empresa. Consulte Acerca de los estándares de complementos administrados por la empresa.