Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
GitHub Advanced Security para Azure DevOps agrega el conjunto de características de seguridad de GitHub Advanced Security a Azure Repos e incluye las siguientes características:
- 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 para Azure DevOps está disponible como GitHub Secret Protection para Azure DevOps y GitHub Code Security 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 utilizar 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 Seguridad Avanzada: permisos de administrador de Project. - Para administrar permisos en Advanced Security: miembro del grupo Administradores de la colección de proyectos o del grupo Advanced Security: administrar configuración con el permiso configurado 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 (actualmente .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ónAdvancedSecurity-Codeql-Init@1
para las canalizaciones YAML o seleccionar la casilla de verificaciónEnable automatic CodeQL detection and installation
para las canalizaciones clásicas. Como alternativa, para obtener instrucciones de la instalación manual, consulte Análisis de código para GitHub Advanced Security para Azure DevOps.
Habilitar 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
- Vaya a Configuración del proyecto para el proyecto de Azure DevOps.
- Seleccione Repos>Repositorios.
- Seleccione el repositorio para el que quiera habilitar Advanced Security.
- 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.
Incorporación a nivel de proyecto
- Vaya a Configuración del proyecto para el proyecto de Azure DevOps.
- Seleccione Repos.
- Seleccione la pestaña Configuración.
- Seleccione Habilitar todo y verá que aparece una estimación del número de confirmadores activos del proyecto.
- Seleccione Comenzar facturación para activar Advanced Security para cada repositorio existente del proyecto.
- Opcionalmente, seleccione Habilitar automáticamente Advanced Security para nuevos repositorios, de forma que los repositorios recién creados tengan habilitado Advanced Security tras la creación.
Incorporación a nivel de organización
- Vaya a la configuración de la organización para su organización de Azure DevOps.
- Seleccione Repositorios.
- Seleccione Habilitar todo y verá que aparece una estimación del número de confirmadores activos de la organización.
- Seleccione Comenzar facturación para activar Advanced Security para cada repositorio existente de cada proyecto en su organización.
- Opcionalmente, seleccione Habilitar automáticamente Advanced Security para nuevos proyectos, de forma que los proyectos recién creados tengan habilitado Advanced Security tras la creación.
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.
El escaneo de secretos en el repositorio se inicia automáticamente al habilitar "Advanced Security" para un repositorio seleccionado.
Configuración del examen de dependencias
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
- Vaya a Configuración del proyecto para el proyecto de Azure DevOps.
- Seleccione Repos>Repositorios.
- Seleccione el repositorio para el que quiera habilitar Advanced Security.
- Cambie la opción Protección de secretos o Seguridad del código.
- 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.
- Para habilitar opcionalmente la configuración predeterminada del examen de dependencias, seleccione Opciones y habilite la casilla Configuración predeterminada del examen de dependencias.
Incorporación a nivel de proyecto
- Vaya a Configuración del proyecto para el proyecto de Azure DevOps.
- Seleccione Repos.
- Seleccione la pestaña Configuración.
- Seleccione Habilitar todo y vea una estimación del número de confirmadores activos por producto para el proyecto.
- Cambie los productos deseados de Protección secreta o seguridad de código.
- Seleccione Begin billing (Comenzar facturación ) para activar Secret Protection o Code Security para todos los repositorios existentes del proyecto.
- Opcionalmente, active Habilitar automáticamente Advanced Security para los nuevos repositorios para que los repositorios recién creados tengan habilitada la protección secreta o la seguridad de código al crearse.
Incorporación a nivel de organización
- Vaya a la configuración de la organización para su organización de Azure DevOps.
- Seleccione Repositorios.
- Seleccione Habilitar todo y vea una estimación del número de confirmadores activos por producto para su organización.
- Cambie los productos deseados de Protección secreta o seguridad de código.
- Seleccione Comenzar facturación para activar Advanced Security para cada repositorio existente de cada proyecto en su organización.
- Opcionalmente, active Habilitar automáticamente Advanced Security para los nuevos repositorios para que los proyectos recién creados tengan habilitada la protección secreta o la seguridad de código al crearse.
Configuración del examen de secretos
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.
El escaneo de repositorios secretos se inicia automáticamente al habilitar la Protección de Secretos para un repositorio seleccionado, como se mencionó.
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. Se recomienda agregar la tarea de examen de dependencias a todas las canalizaciones que quiera examinar.
Sugerencia
Para obtener los resultados de análisis más precisos, agregue la tarea de análisis de dependencias después de los pasos de compilación o del paso de restauración de paquetes en una canalización que compile el código que desea examinar.
Agregue la tarea Advanced Security Dependency Scan (AdvancedSecurity-Dependency-Scanning@1) directamente al archivo de canalización de YAML o seleccione la tarea Advanced Security Dependency Scan desde el asistente de tareas.
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.
Sugerencia
El examen de código puede ser una tarea de compilación con un uso más intensivo del tiempo, por lo que se recomienda agregar la tarea 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.
Agregue las tareas en el orden siguiente:
- Advanced Security Initialize CodeQL (AdvancedSecurity-Codeql-Init@1)
- Pasos de creación personalizados
- Seguridad avanzada realiza el análisis de CodeQL (AdvancedSecurity-Codeql-Analyze@1)
Además, especifique el idioma que está analizando en la Initialize CodeQL
tarea. Puede usar una lista separada por comas para analizar varios idiomas a la vez. Los lenguajes admitidos son csharp, cpp, go, java, javascript, python, ruby, swift
. Si usa agentes autohospedados, también puede agregar la enableAutomaticCodeQLInstall: true
variable para instalar automáticamente los bits de CodeQL más recientes para el agente.
Este es un ejemplo de canalización inicial:
trigger:
- main
pool:
# Additional hosted image options are available: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted#software
vmImage: ubuntu-latest
steps:
- task: AdvancedSecurity-Codeql-Init@1
inputs:
languages: "java"
# Supported languages: csharp, cpp, go, java, javascript, python, ruby, swift
# You can customize the initialize task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-init-v1?view=azure-pipelines
# If you're using a self-hosted agent to run CodeQL, use `enableAutomaticCodeQLInstall` to automatically use the latest CodeQL bits on your agent:
enableAutomaticCodeQLInstall: true
# Add your custom build steps here
# - Ensure that all code to be scanned is compiled (often using a `clean` command to ensure you're building from a clean state).
# - Disable the use of any build caching mechanisms as this can interfere with CodeQL's ability to capture all the necessary data during the build.
# - Disable the use of any distributed/multithreaded/incremental builds as CodeQL needs to monitor executions of the compiler to construct an accurate representation of the application.
# - For dependency scanning, ensure you have a package restore step for more accurate results.
# If you had a Maven app:
# - task: Maven@4
# inputs:
# mavenPomFile: 'pom.xml'
# goals: 'clean package'
# publishJUnitResults: true
# testResultsFiles: '**/TEST-*.xml'
# javaHomeOption: 'JDKVersion'
# jdkVersionOption: '1.17'
# mavenVersionOption: 'Default'
# Or a general script:
# - script: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- task: AdvancedSecurity-Dependency-Scanning@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-dependency-scanning-v1?view=azure-pipelines
- task: AdvancedSecurity-Codeql-Analyze@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-analyze-v1?view=azure-pipelines
Sugerencia
El análisis de CodeQL para Kotlin/Swift está actualmente en versión beta. Durante la versión beta, el análisis de estos lenguajes es menos completo que el análisis de CodeQL de otros.
- Usa
java
para analizar el código escrito en Java, Kotlin o ambos. - Use
javascript
para analizar el código escrito en JavaScript, TypeScript o ambos.
Si el idioma especificado es cpp, java, csharp
o swift
, se requieren pasos de compilación personalizados.
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.
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.
Artículos relacionados
- Alertas de examen de código para GitHub Advanced Security para Azure DevOps
- Alertas de examen de dependencias para GitHub Advanced Security para Azure DevOps
- Alertas de examen de secretos para GitHub Advanced Security para Azure DevOps
- Permisos para GitHub Advanced Security para Azure DevOps
- Facturación para GitHub Advanced Security para Azure DevOps