Habilitación de anotaciones de solicitud de incorporación de cambios en GitHub y Azure DevOps

La seguridad de DevOps expone los resultados de seguridad como anotaciones en solicitudes de cambios (PR). Los operadores de seguridad pueden habilitar las anotaciones de solicitud de incorporación de cambios en Microsoft Defender for Cloud. Los desarrolladores pueden solucionar cualquier incidencia expuesto. Este proceso ayuda a evitar y corregir posibles vulnerabilidades de seguridad y errores de configuración antes de entrar en la fase de producción. La seguridad de DevOps anota vulnerabilidades dentro de las diferencias introducidas durante la solicitud de cambios en lugar de todas las vulnerabilidades detectadas en todo el archivo. Los desarrolladores pueden ver anotaciones en sus sistemas de administración de código fuente y los operadores de seguridad pueden ver los resultados sin resolver en Microsoft Defender for Cloud.

Con Microsoft Defender for Cloud, puede configurar anotaciones de solicitud de incorporación de cambios en Azure DevOps. Si es cliente de GitHub Advanced Security, puede obtener anotaciones de solicitud de incorporación de cambios en GitHub.

Qué son las anotaciones de solicitud de incorporación de cambios

Las anotaciones de solicitud de incorporación de cambios son comentarios que se agregan a una solicitud de incorporación de cambios en GitHub o Azure DevOps. Estas anotaciones proporcionan comentarios sobre los cambios de código realizados y los problemas de seguridad identificados en la solicitud de incorporación de cambios y ayudan a los revisores a comprender los cambios realizados.

Un usuario puede agregar anotaciones con acceso al repositorio y se pueden usar para sugerir cambios, formular preguntas o proporcionar comentarios sobre el código. También se pueden usar anotaciones para realizar un seguimiento de problemas y errores que deben corregirse antes de combinar el código en la rama principal. La seguridad de DevOps en Defender for Cloud usa anotaciones para exponer los resultados de seguridad.

Requisitos previos

Para GitHub:

Para Azure DevOps:

Habilite las anotaciones de solicitud de incorporación de cambios en GitHub

Al habilitar las anotaciones de solicitud de incorporación de cambios en GitHub, los desarrolladores pueden ver sus problemas de seguridad cuando crean una solicitud de incorporación de cambios directamente en la rama principal.

Para habilitar las anotaciones de solicitud de incorporación de cambios en GitHub:

  1. Vaya a GitHub e inicie sesión.

  2. Seleccione un repositorio que haya incorporado a Defender for Cloud.

  3. Vaya a Your repository's home page>.github/workflows.

    Captura de pantalla que muestra a dónde navegar para seleccionar la carpeta de flujo de trabajo de GitHub.

  4. Seleccione msdevopssec.yml, que se creó en los requisitos previos.

    Captura de pantalla que muestra dónde se encuentra en la pantalla para seleccionar el archivo msdevopssec.yml.

  5. Seleccione edit (Editar).

    Captura de pantalla que muestra el aspecto del botón de edición.

  6. Busque y actualice la sección desencadenador para incluir:

    # Triggers the workflow on push or pull request events but only for the main branch
    pull_request:
      branches: ["main"]
    

    También puede ver un repositorio de ejemplo.

    (Opcional) Puede seleccionar en qué ramas quiere ejecutarla si escribe las ramas en la sección Desencadenador. Si quiere incluir todas las ramas, quite las líneas con la lista de ramas. 

  7. Seleccione Start commit (Iniciar confirmación).

  8. Seleccione Confirmar cambios.

    Los problemas detectados por el analizador serán visibles en la sección de archivos modificados de la solicitud de incorporación de cambios.

    • Usado en pruebas: la alerta no está en el código de producción.

Habilitación de anotaciones de solicitud de incorporación de cambios en Azure DevOps

Al habilitar las anotaciones de solicitud de incorporación de cambios en Azure DevOps, los desarrolladores pueden ver los problemas de seguridad cuando crean solicitudes de incorporación de cambios directamente en la rama principal.

Habilitación de la directiva de validación de compilación para la compilación de CI

Para habilitar anotaciones de solicitud de incorporación de cambios, la rama principal debe tener habilitada la directiva de validación de compilación para la compilación de CI.

Para habilitar la directiva de validación de compilación para la compilación de CI:

  1. Inicie sesión en su proyecto de Azure DevOps.

  2. Vaya aConfiguración de proyecto>Repositorios.

    Captura de pantalla que muestra dónde ir para seleccionar los repositorios.

  3. Seleccione el repositorio para habilitar las solicitudes de incorporación de cambios.

  4. Seleccione Directivas.

  5. Vaya a Directivas de rama>Rama principal.

    Captura de pantalla que muestra dónde buscar las directivas de rama.

  6. Busque la sección Validación de compilación.

  7. Asegúrese de que la validación de compilación del repositorio está activada.

    Captura de pantalla que muestra dónde se encuentra el botón de alternancia compilación de CI.

  8. Seleccione Guardar.

    Captura de pantalla que muestra la validación de compilación.

Una vez completados estos pasos, puede seleccionar la canalización de compilación que creó anteriormente y personalizarla para adaptarla a sus necesidades.

Habilitación de anotaciones de solicitud de incorporación de cambios

Para habilitar anotaciones de solicitudes de incorporación de cambios en Azure DevOps:

  1. Inicie sesión en Azure Portal.

  2. Vaya a Defender for Cloud>seguridad de DevOps.

  3. Seleccione todos los repositorios correspondientes para habilitar las anotaciones de solicitud de incorporación de cambios.

  4. Seleccione Administrar recursos.

    Captura de pantalla que muestra cómo administrar recursos.

  5. Alterne las anotaciones de solicitud de cambios a Activado.

    Captura de pantalla que muestra el botón de alternancia activado.

  6. (Opcional) Seleccione una categoría en el menú desplegable.

    Nota

    Actualmente solo se admiten los resultados de las configuraciones incorrectas de infraestructura como código (ARM, Bicep, Terraform, CloudFormation, Dockerfiles, gráficos de Helm, etc.).

  7. (Opcional) Seleccione un nivel de gravedad en el menú desplegable.

  8. Seleccione Guardar.

Todas las anotaciones de sus solicitudes de extracción se mostrarán a partir de ahora en función de sus configuraciones.

Para habilitar las anotaciones de solicitud de cambios para mis proyectos y organizaciones en Azure DevOps:

Puede hacerlo mediante programación llamando a la API de recursos de Azure DevOps de actualización expuesta a Microsoft. Proveedor de recursos de seguridad.

Información de la API:

Método Http: DIRECCIONES URLREVISIÓN:

  • Actualización del proyecto de Azure DevOps:https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>/projects/<adoProjectName>?api-version=2023-09-01-preview
  • Actualización de la organización de Azure DevOps]: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview

Cuerpo de la solicitud:

{
   "properties": {
"actionableRemediation": {
              "state": <ActionableRemediationState>,
              "categoryConfigurations":[
                    {"category": <Category>,"minimumSeverityLevel": <Severity>}
               ]
           }
    }
}

Parámetros/ opciones disponibles

<ActionableRemediationState>Descripción: estado de las opciones de configuración de la anotación PR Opciones: habilitado | Deshabilitado

<Category>Descripción: categoría de hallazgos que se anotarán en las solicitudes de cambios. Opciones: IaC | Código | Artefactos | Dependencias | Contenedores Nota: actualmente solo se admite IaC

<Severity>Descripción: gravedad mínima de un hallazgo que se considerará al crear anotaciones de solicitud de cambios. Opciones: Alto | Medio | Bajo

Ejemplo de habilitación de las anotaciones de solicitud de cambios de una organización de Azure DevOps para la categoría laC con una gravedad mínima de Medio mediante la herramienta az cli.

Actualizar organización:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'Medium'}]}}}

Ejemplo de habilitación de anotaciones de solicitud de cambios de Azure DevOps Project para la categoría laC con una gravedad mínima de Alto mediante la herramienta az cli.

Actualizar proyecto:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg/projects/testProject?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'High'}]}}}"

Saber más

Pasos siguientes

Ahora obtenga más información sobre la seguridad de DevOps.