Configuración de GitHub Advanced Security para Azure DevOps

GitHub Advanced Security para Azure DevOps añade el conjunto de características de seguridad de GitHub Advanced Security a Azure Repos e incluye las siguientes funcionalidades:

  • Protección contra inserción del examen de secretos: compruebe si las inserciones de código incluyen confirmaciones que exponen secretos como credenciales
  • Examen de repositorio de examen de secretos: examine el repositorio y busque secretos expuestos que se hayan confirmado accidentalmente
  • Análisis de dependencias – búsqueda de vulnerabilidades conocidas en dependencias de código abierto (directas y transitivas)
  • Examen de código: use el motor de análisis estático CodeQL para identificar vulnerabilidades de aplicación de nivel de código, como la inyección de código SQL y la omisión de autenticación

Puede ofrecer la protección de Advanced Security a su empresa con la flexibilidad de habilitar el nivel adecuado de protección para los repositorios. GitHub Advanced Security for Azure DevOps está disponible como protección de secretos GitHub para Azure DevOps y seguridad de código GitHub para Azure DevOps.

Secret Protection incluye las siguientes características:

  • Presiona la protección para evitar fugas secretas antes de que ocurran
  • Alertas secretas de escaneo con notificaciones, para detectar exposiciones existentes antes de que se conviertan en un problema
  • Información general sobre la seguridad, que proporciona información sobre el nivel de riesgo y protección de seguridad de su organización

La seguridad del código incluye las siguientes características:

  • Alertas de dependencia para buscar vulnerabilidades en dependencias de código abierto
  • Examen de CodeQL para detectar vulnerabilidades directamente en el código
  • Conclusiones de seguridad para herramientas de terceros
  • Información general sobre la seguridad, que proporciona información sobre el nivel de riesgo y protección de seguridad de su organización

GitHub Advanced Security para Azure DevOps solo está disponible para Azure DevOps Services y específicamente para repositorios git de código.

GitHub Advanced Security para Azure DevOps funciona con Azure Repos. Para usar GitHub Advanced Security con repositorios de GitHub, consulte GitHub Advanced Security.

Requisitos previos

Categoría Requisitos
Permisos - Para ver un resumen de todas las alertas de un repositorio: permisos de colaborador para el repositorio.
- Para descartar alertas en Advanced Security: permisos administrador del proyecto.
- Para administrar permisos en Advanced Security: miembro del grupo Project Collection Administrators o con el permiso Advanced Security: administrar configuraciones establecido en Permitir.

Para obtener más información sobre los permisos de Advanced Security, consulte Administrar permisos de Advanced Security.

Requisitos previos adicionales para agentes autohospedados

Si su organización usa agentes autohospedados, agregue las siguientes direcciones URL a la lista de permitidos para que la tarea de análisis de dependencias pueda capturar datos de asesoramiento sobre vulnerabilidades. Para obtener más información, consulte Direcciones IP permitidas y direcciones URL de dominio.

URL de dominio Descripción
https://governance.dev.azure.com Para las organizaciones que usan el dominio dev.azure.com para acceder a su instancia de DevOps
https://dev.azure.com Para las organizaciones que usan el dominio dev.azure.com para acceder a su instancia de DevOps
https://advsec.dev.azure.com Para las organizaciones que usan el dominio dev.azure.com para acceder a su instancia de DevOps
https://{organization_name}.governance.visualstudio.com Para las organizaciones que usan el dominio {nombre_de_la_organización}.visualstudio.com para acceder a su instancia de DevOps
https://{organization_name}.visualstudio.com  Para las organizaciones que usan el dominio {nombre_de_la_organización}.visualstudio.com para acceder a su instancia de DevOps
https://{organization_name}.advsec.visualstudio.com Para las organizaciones que usan el dominio {nombre_de_la_organización}.visualstudio.com para acceder a su instancia de DevOps
  • Ejecute una versión compatible del entorno de ejecución de .NET. A partir de abril de 2026, la versión actual sigue siendo .NET 8.x. Si no hay una versión compatible en el agente, la tarea de compilación de examen de dependencias descarga .NET.

  • Asegúrese de que el paquete CodeQL esté instalado en la memoria caché de herramientas del agente. Puede utilizar la variable enableAutomaticCodeQLInstall: true con la tarea de canalización AdvancedSecurity-Codeql-Init@1 para las canalizaciones YAML o seleccionar la casilla de verificación Enable automatic CodeQL detection and installation para las canalizaciones clásicas. Como alternativa, para obtener instrucciones de instalación manuales, consulte análisis de código mediante GitHub Advanced Security para Azure DevOps.

Habilitación de GitHub Advanced Security

Puede habilitar Advanced Security a nivel de organización, proyecto o repositorio. Para acceder a cada una de las herramientas de escaneo y sus resultados, primero debe habilitar la Seguridad Avanzada. Una vez que habilite Advanced Security, se bloquean las inserciones futuras que contengan secretos en un repositorio con esta directiva habilitada y el examen de secretos del repositorio se produce en segundo plano.

Incorporación a nivel de repositorio

  1. Vaya a la configuración del proyecto para su proyecto de Azure DevOps.
  2. Seleccione Repos>Repositories.
  3. Seleccione el repositorio para el que quiera habilitar Advanced Security.
  4. Seleccione Habilitar y Comenzar la facturación para activar Advanced Security. Aparecerá un icono de escudo en la vista de cualquier repositorio con Advanced Security habilitada.

Captura de pantalla de la activación de GitHub Advanced Security.

incorporación a nivel de proyecto

  1. Vaya a la configuración del proyecto para su proyecto de Azure DevOps.
  2. Seleccione Repos.
  3. Seleccione la pestaña Configuración.
  4. Seleccione Habilitar todo y verá que aparece una estimación del número de confirmadores activos del proyecto. Esta acción solo habilita el producto para repositorios existentes.
  5. Seleccione Comenzar facturación para activar Advanced Security para cada repositorio existente del proyecto.
  6. Opcionalmente, seleccione Habilitar automáticamente Advanced Security para los nuevos repositorios para que los repositorios recién creados en el futuro tengan habilitada Advanced Security tras la creación. Esta configuración es independiente de la acción Habilitar todo y debe seleccionarse de forma independiente.

Captura de pantalla de habilitación de nivel de proyecto en Advanced Security.

Incorporación a nivel de organización

  1. Vaya a su Configuración de organización para su organización de Azure DevOps.
  2. Seleccione Repositorios.
  3. Seleccione Habilitar todo y verá que aparece una estimación del número de confirmadores activos de la organización. Esta acción solo habilita el producto para repositorios existentes.
  4. Seleccione Comenzar facturación para activar Advanced Security para cada repositorio existente de cada proyecto en su organización.
  5. Opcionalmente, seleccione Habilitar automáticamente Advanced Security para los nuevos proyectos para que los proyectos recién creados en el futuro tengan habilitada Advanced Security tras la creación. Esta configuración es independiente de la acción Habilitar todo y debe seleccionarse de forma independiente.

Captura de pantalla de habilitación de nivel de organización en Advanced Security.

Puede habilitar la protección de secretos o la seguridad de código en el nivel de organización, proyecto o repositorio.

Incorporación a nivel de repositorio

  1. Vaya a la configuración del proyecto para su proyecto de Azure DevOps.
  2. Seleccione Repos>Repositories.
  3. Seleccione el repositorio para el que quiera habilitar Advanced Security.
  4. Cambie la opción Protección de secretos o Seguridad del código.
  5. Seleccione Begin billing (Comenzar facturación). Ahora aparece un icono de escudo en la vista de repositorio de cualquier repositorio con cualquiera de los productos habilitados.
  6. Para habilitar opcionalmente la configuración predeterminada del examen de dependencias, seleccione Opciones y habilite la casilla Configuración predeterminada del examen de dependencias.

Captura de pantalla de la activación de GitHub Advanced Security.

incorporación a nivel de proyecto

  1. Vaya a la configuración del proyecto para su proyecto de Azure DevOps.
  2. Seleccione Repos.
  3. Seleccione la pestaña Configuración.
  4. Seleccione Habilitar todo y vea una estimación del número de confirmadores activos por producto para el proyecto. Esta acción solo habilita el producto seleccionado para repositorios existentes.
  5. Active los productos deseados de Protección Secreta o Seguridad de Código y todas las subfunciones asociadas.
  6. Seleccione Begin billing (Comenzar facturación ) para activar Secret Protection o Code Security para todos los repositorios existentes del proyecto.
  7. Opcionalmente, active Automáticamente la Seguridad Avanzada para los nuevos repositorios para que los repositorios recién creados en el futuro tengan habilitada la protección de secretos o la seguridad de código cuando se creen. Esta configuración es independiente de la acción Habilitar todo y debe seleccionarse de forma independiente.

Captura de pantalla de habilitación de nivel de proyecto en Advanced Security.

Incorporación a nivel de organización

  1. Vaya a su Configuración de organización para su organización de Azure DevOps.
  2. Seleccione Repositorios.
  3. Seleccione Habilitar todo y vea una estimación del número de confirmadores activos por producto para su organización. Esta acción solo habilita el producto seleccionado para repositorios existentes.
  4. Active los productos deseados de Protección Secreta o Seguridad de Código y todas las subfunciones asociadas.
  5. Seleccione Comenzar facturación para activar Advanced Security para cada repositorio existente de cada proyecto en su organización.
  6. Opcionalmente, active Habilitar automáticamente Advanced Security para nuevos proyectos de modo que los proyectos que se creen en el futuro tengan habilitada la Protección de Secretos o la Seguridad de Código al crearse. Esta configuración es independiente de la acción Habilitar todo y debe seleccionarse de forma independiente.

Captura de pantalla de habilitación de nivel de organización en Advanced Security.

Configuración del examen de secretos

La protección contra inserción del examen de secretos y el examen de repositorios se habilitan automáticamente al activar Advanced Security. Puede habilitar o deshabilitar la protección contra inserción de secretos desde la página de configuración del repositorio.

Captura de pantalla de activación de protección de notificaciones push.

El escaneo de repositorios de escaneo secreto se activa automáticamente al habilitar la Seguridad Avanzada para un repositorio seleccionado.

El escaneo secreto, la protección push y el escaneo de repositorios se activan automáticamente cuando activas la Protección Secreta. Puede habilitar o deshabilitar la protección contra inserción de secretos desde la página de configuración del repositorio.

Captura de pantalla de activación de protección de notificaciones push.

El escaneo del repositorio para detección de secretos se inicia automáticamente al habilitar la protección de secretos para un repositorio seleccionado.

Configuración del examen de dependencias

Para obtener acceso a las características de análisis de dependencias, necesita tener habilitado el producto Code Security en su repositorio.

El examen de dependencias es una herramienta de análisis basada canalizaciones. Los resultados se agregan por repositorio. Para examinar la rama predeterminada, puede usar la configuración "Buscar dependencias vulnerables" en la página de configuración del repositorio. Esta característica incluirá automáticamente la tarea de examen de dependencias en cualquier canalización que tenga como destino la rama predeterminada o cualquier compilación de solicitud de incorporación de cambios que tenga como destino la rama predeterminada.

Para una configuración más avanzada o si desea examinar todas las ramas, se recomienda agregar la tarea de examen de dependencias a todas las canalizaciones que desea examinar. Consulte Exploración de dependencias para GitHub Advanced Security en Azure DevOps para obtener más información.

Configuración del examen de código

Para acceder a las funciones de escaneo de código, necesita tener habilitado el producto Seguridad de Código para su repositorio.

El análisis de código es una herramienta de análisis basada en canalización en la que los resultados se agregan por repositorio. Puede configurar el examen de código agregando tareas de CodeQL directamente a la Azure Pipelines.

Para configurar el análisis de código, agregue las siguientes tareas a la pipeline en orden:

  1. AdvancedSecurity-Codeql-Init@1 : inicializa CodeQL
  2. Los pasos personalizados de compilación (para lenguajes compilados)
  3. AdvancedSecurity-Codeql-Analyze@1 : ejecuta el análisis de CodeQL.

Especifique el lenguaje que está analizando en la tarea Inicializar CodeQL. Entre los idiomas admitidos se incluyen: csharp, cpp, go, java, javascript, python, ruby, swift.

Sugerencia

Se recomienda agregar las tareas de examen de código a una canalización clonada independiente de la canalización de producción principal o crear una nueva canalización. Para obtener más información sobre las opciones de configuración, consulte Configuración del examen de código.

Configuración de anotaciones de solicitud de incorporación de cambios

Tanto para el escaneo de dependencias como para el escaneo de código, las anotaciones se configuran automáticamente para pull requests donde se aplica una política de validación de compilación con tareas de escaneo de dependencias y/o de código incluidas en tu pipeline. Para obtener más información sobre cómo configurar directivas de validación de compilación, consulte Validación de compilación.

Las anotaciones de solicitud de incorporación de cambios también requieren un análisis de Advanced Security en la rama predeterminada y la rama de destino antes de analizar la rama de origen (solicitud de incorporación de cambios). Para obtener más información sobre cómo resolver alertas para ramas de solicitudes de incorporación de cambios, consulte Administración de alertas de análisis de dependencias en solicitudes de incorporación de cambios y Administración de alertas de análisis de código en solicitudes de incorporación de cambios.

Para deshabilitar Advanced Security, las alertas y el estado de las alertas se conservan en la pestaña Seguridad avanzada para la próxima vez que vuelva a habilitar Advanced Security para el repositorio.