Compartir a través de


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:

  • Protección de publicación, para evitar fugas de secretos antes de que se produzcan
  • Alertas de examen de secretos con notificaciones, para detectar las 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 una versión compatible no está presente en el agente, la tarea de compilación de análisis 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 para habilitar GitHub Advanced Security.

integració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 para habilitar GitHub Advanced Security.

integració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 secretos en el repositorio se inicia automáticamente al habilitar "Advanced Security" para un repositorio seleccionado.

Al activar la protección de secretos, la protección de inserción de escaneo de secretos y el escaneo de repositorios se habilitan automáticamente. 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 examen de código también es una herramienta de análisis basada en canalizaciones en la que los resultados se agregan por repositorio. Puede habilitar el examen de código mediante la configuración predeterminada o la configuración avanzada. Puede ejecutar ambos en la misma organización, según sus necesidades y el nivel de control de escaneo.

La configuración predeterminada es la manera más rápida de habilitar el examen de código. La configuración predeterminada se ejecuta de forma programada mediante Azure Pipelines, detecta los idiomas admitidos por CodeQL en el repositorio y configura automáticamente el examen de ellos. Si cambian los idiomas del repositorio, la configuración de examen se actualiza automáticamente.

El grupo de agentes y la programación de examen de la configuración predeterminada se comparten en todos los repositorios de la organización. Puede configurar estas opciones en Configuración de la organización> y Repositorios, debajo de la lista desplegable Opciones configurables predeterminadas de CodeQL. Para obtener más información sobre cada opción, consulte Configuración de opciones de configuración predeterminadas.

La configuración avanzada le proporciona control total sobre la configuración de análisis mediante la incorporación directa de tareas de canalización de CodeQL a sus canalizaciones. Para obtener más información sobre cómo configurar la configuración avanzada, consulte Configuración del examen de código.

Sugerencia

Se recomienda comenzar con la configuración predeterminada. Si necesita más control sobre la configuración de análisis, como diferentes grupos de agentes, pasos de compilación personalizados para lenguajes compilados o análisis en varias ramas, podrá ejecutar tanto la configuración predeterminada como la avanzada en la misma organización. Para obtener más información, consulte Configuración del examen de código.

Para generar alertas, la configuración predeterminada se ejecuta según una programación semanal. Las vulnerabilidades detectadas se muestran en la pestaña Seguridad avanzada.

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

Para el examen de dependencias y el análisis de código, las anotaciones se configuran automáticamente para las solicitudes de incorporación de cambios en las que se aplica una directiva de validación de compilación con las tareas de análisis de dependencias o de análisis de código incluidas en la canalización. 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.

Configuración de comprobaciones de estado de solicitud de incorporación de cambios

Las comprobaciones de estado avanzadas de seguridad permiten bloquear la fusión de solicitudes de incorporación de cambios cuando se detectan vulnerabilidades de seguridad. Estas comprobaciones de estado evalúan el escaneo de dependencias, el análisis de código y los resultados del escaneo de secretos y publican un estado en la solicitud de extracción en función de los resultados.

Hay dos comprobaciones de estado disponibles:

  • Bloquear todas las vulnerabilidades críticas y altas (AdvancedSecurity/AllHighAndCritical): use esta comprobación para aplicar que todas las alertas de gravedad crítica y alta en el repositorio se resuelvan antes de combinarse.
  • Bloquear las nuevas vulnerabilidades críticas y altas (AdvancedSecurity/NewHighAndCritical): use esta comprobación para evitar que se introduzcan nuevas vulnerabilidades sin necesidad de corregir todas las vulnerabilidades existentes en primer lugar. Esta comprobación requiere una directiva de validación de compilación con tareas de Advanced Security para examinar la rama de solicitud de incorporación de cambios.

Configura comprobaciones de estado como políticas de rama

Para exigir comprobaciones de estado de Advanced Security antes de que se puedan fusionar las solicitudes de extracción, configúrelas como directivas de rama. Puede establecerlos por repositorio o para un proyecto.

  1. Vaya a Project settings>Repos.
  2. Opcionalmente, seleccione el repositorio que desea configurar.
  3. Seleccione Directivas y, a continuación, seleccione la rama que desea proteger. De forma predeterminada, se protegerá la rama predeterminada de los repositorios.
  4. Si aún no se ha creado, agregue una política de validación de compilación. Esto es necesario para que ambas comprobaciones de estado se ejecuten correctamente. En su canalización de compilación de validación, si tiene varias tareas de Seguridad Avanzada, habilite la propiedad Wait for Processing para las tareas AdvancedSecurity-CodeQL-Analyze y AdvancedSecurity-Publish.
  5. En Comprobaciones de estado, seleccione + para agregar una nueva directiva de comprobación de estado.
  6. En el menú Estado para comprobar , escriba AdvancedSecurity para el género y AllHighAndCritical o NewHighAndCritical como Nombre. (Estas opciones aparecen después de la primera ejecución de canalización correcta con tareas de seguridad avanzada).
  7. Elija el requisito de directiva (obligatorio o opcional) y establezca cualquier otra opción deseada. Deje las Opciones avanzadas en sus valores por defecto: cambiar la identidad autorizada o requerir un identificador de iteración impide que las comprobaciones de estado se publiquen.
  8. Haga clic en Guardar.

Captura de pantalla de la adición de una comprobación de estado de Advanced Security.

Para obtener más información sobre cómo configurar directivas de comprobación de estado, consulte Comprobaciones de estado.

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.