Descartar alertas de examen de dependencias en Advanced Security

El examen de dependencias en Advanced Security detecta los componentes de código abierto usados en el código fuente e identifica si hay alguna vulnerabilidad asociada. Las vulnerabilidades encontradas de componentes de código abierto se marcan como una alerta. Con esta actualización, puede descartar las alertas de examen de dependencias en Advanced Security que cree que es un riesgo falso positivo o aceptable.

En Azure Repos, hemos cambiado el comportamiento predeterminado para quitar el permiso "Editar directivas" al crear una nueva rama.

Consulte las notas de la versión para obtener más información sobre estas características.

GitHub Advanced Security para Azure DevOps

Azure Boards

Azure Pipelines

Azure Repos

General

Rechazos de alertas para alertas de análisis de dependencias en Advanced Security

Ahora puede descartar cualquier alerta de análisis de dependencias que cree que es un riesgo falso positivo o aceptable. Estas son las mismas opciones de descarte para el examen de secretos y las alertas de análisis de código en Advanced Security que puede usar actualmente.

Descartar una alerta de análisis de dependencias

Tenga en cuenta que es posible que tenga que volver a ejecutar la canalización de detección con la tarea de análisis de dependencias, así como asegurarse de que tiene los Advanced Security: dismiss alerts permisos para descartar estas alertas.

Para más información sobre los despidos de alertas, consulte Descartar alertas de examen de dependencias.

Azure Boards

Hemos realizado una pequeña mejora para copiar la dirección URL del elemento de trabajo de varias áreas de Azure Boards. Facilitar la obtención del vínculo directo a un elemento de trabajo específico.

Imagen para copiar elemento de menú contextual del vínculo en el trabajo pendiente

El vínculo de copia se ha agregado a los menús contextuales del formulario del elemento de trabajo, el trabajo pendiente y el trabajo pendiente de tareas.

Nota:

Esta característica solo estará disponible con la versión preliminar de New Boards Hubs.

Azure Pipelines

Las tareas de Kubernetes ahora admiten kubelogin

Hemos actualizado las tareas KubernetesManifest@1, HelmDeploy@0, Kubernetes@1 y AzureFunctionOnKubernetes@1 para admitir kubelogin. Esto le permite dirigirse a Azure Kubernetes Service (AKS) configurado con la integración de Azure Active Directory.

Kubelogin no está preinstalado en imágenes hospedadas. Para asegurarse de que las tareas mencionadas anteriormente usan kubelogin, instálela insertando la tarea KubeloginInstaller@0 antes de la tarea que depende de ella:

 - task: KubeloginInstaller@0

 - task: HelmDeploy@0
   # arguments do not need to be modified to use kubelogin

Mejoras en la API REST de aprobaciones

Las aprobaciones aumentan la seguridad de la canalización de YAML al ofrecer la posibilidad de revisar manualmente una implementación en producción. Se ha actualizado la API REST de consulta de aprobaciones para que sea más eficaz. Ahora, usted:

  • No es necesario especificar una lista de approvalIds. Ahora todos los parámetros son opcionales.
  • Puede especificar una lista de userIds para recuperar la lista de aprobaciones pendientes en estos usuarios. Actualmente, la API REST devuelve la lista de aprobaciones para las que los usuarios se asignan explícitamente como aprobadores.
  • Puede especificar el state de las aprobaciones que se van a devolver, por ejemplo, pending.

Este es un ejemplo: GET https://dev.azure.com/fabrikamfiber/fabrikam-chat/_apis/pipelines/approvals?api-version=7.1-preview.1&userId=00aa00aa-bb11-cc22-dd33-44ee44ee44ee&state=pending devuelve

{
    "count": 2,
    "value":
    [
        {
            "id": "87436c03-69a3-42c7-b5c2-6abfe049ee4c",
            "steps": [],
            "status": "pending",
            "createdOn": "2023-06-27T13:58:07.417Z",
            "lastModifiedOn": "2023-06-27T13:58:07.4164237Z",
            "executionOrder": "anyOrder",
            "minRequiredApprovers": 1,
            "blockedApprovers": [],
            "_links":
            {
                "self":
                {
                    "href": "https://dev.azure.com/fabrikamfiber/fabricam-chat/_apis/pipelines/approvals/87436c03-69a3-42c7-b5c2-6abfe049ee4c"
                }
            }
        },
        {
            "id": "2549baca-104c-4a6f-b05f-bdc4065a53b7",
            "steps": [],
            "status": "pending",
            "createdOn": "2023-06-27T13:58:07.417Z",
            "lastModifiedOn": "2023-06-27T13:58:07.4164237Z",
            "executionOrder": "anyOrder",
            "minRequiredApprovers": 1,
            "blockedApprovers": [],
            "_links":
            {
                "self":
                {
                    "href": "https://dev.azure.com/fabrikamfiber/fabricam-chat/_apis/pipelines/approvals/2549baca-104c-4a6f-b05f-bdc4065a53b7"
                }
            }
        }
    ]
}

Deshabilitación de una comprobación

Hemos realizado comprobaciones de depuración menos tediosas. A veces, una comprobación invocar función de Azure o Invocar API REST no funciona correctamente y debe corregirla. Anteriormente, tenía que eliminar estas comprobaciones para evitar que bloqueasen erróneamente una implementación. Una vez corregido la comprobación, tenía que volver a agregarla y configurarla correctamente, asegurándose de que todos los encabezados necesarios están establecidos o de que los parámetros de consulta son correctos. Esto es tedioso.

Ahora, solo puede deshabilitar una comprobación. La comprobación deshabilitada no se ejecutará en las evaluaciones posteriores del conjunto de comprobaciones.

Deshabilite una imagen de comprobación.

Una vez que corrija la comprobación errónea, solo puede habilitarla.

Habilite una imagen de comprobación.

Actualizaciones de las programaciones cron de YAML

En las canalizaciones de YAML, puede definir desencadenadores programados mediante la cron propiedad YAML.

Actualizamos cómo funciona la propiedad batch. En pocas palabras, si establece batch como true, la programación cron no se ejecutará si hay otra ejecución de canalización programada en curso. Esta acción se realiza independientemente de la versión del repositorio de canalización.

La siguiente tabla describe cómo interactúan always e batch.

Siempre Batch Comportamiento
false false La canalización solo se ejecuta si hay un cambio con respecto a la última ejecución de canalización programada correcta.
false true La canalización solo se ejecuta si hay un cambio con respecto a la última ejecución de canalización programada correcta y no hay ninguna ejecución de canalización programada en curso.
true false Ejecuciones de canalización según la programación cron
true true Ejecuciones de canalización según la programación cron

Por ejemplo, suponga always: false que y batch: true. Supongamos que hay una programación cron que especifica que la canalización se debe ejecutar cada 5 minutos. Imagine que hay una nueva confirmación. En un plazo de 5 minutos, la canalización inicia su ejecución programada. Imagine que una ejecución de canalización tarda 30 minutos en completarse. En estos 30 minutos, no se realiza ninguna ejecución programada, independientemente del número de confirmaciones. La siguiente ejecución programada solo se produce después de que finalice la ejecución programada actual.

La canalización de YAML puede contener varias programaciones cron y es posible que quiera que la canalización ejecute diferentes fases o trabajos en función de las ejecuciones de programación cron. Por ejemplo, tiene una compilación nocturna y una compilación semanal, y desea que durante la compilación semanal de la canalización recopile más estadísticas.

Para ello, presentamos una nueva variable de sistema predefinida denominada Build.CronSchedule.DisplayName que contiene la displayName propiedad de una programación cron.

Nuevas alternancias para controlar la creación de canalizaciones clásicas

El año pasado, iniciamos una configuración de Pipelines para deshabilitar la creación de canalizaciones de compilación y versión clásicas.

En respuesta a los comentarios, hemos dividido el botón de alternancia inicial en dos: uno para canalizaciones de compilación clásicas y otro para canalizaciones de versión clásicas, grupos de implementación y grupos de tareas.

Deshabilitar la creación

Si su organización tiene activado el Disable creation of classic build and release pipelines botón de alternancia, ambos de los nuevos botóns de alternancia están activados. Si el botón de alternancia original está desactivado, ambos nuevos botón de alternancia están desactivados.

Azure Repos

Eliminación del permiso "Editar directivas" al creador de la rama

Anteriormente, al crear una nueva rama, se le concede permiso para editar directivas en esa rama. Con esta actualización, estamos cambiando el comportamiento predeterminado para que no se conceda este permiso aunque la configuración "Administración de permisos" esté activada para el repositorio.

Imagen de administración de permisos.

Necesitará que se le conceda el permiso "Editar directivas" explícitamente (ya sea manualmente o a través de la API de REST) mediante la herencia de permisos de seguridad o a través de la pertenencia a grupos.

Pasos siguientes

Nota:

Estas características se implementarán en las próximas dos a tres semanas.

Vaya a Azure DevOps y eche un vistazo.

Cómo enviar sus comentarios

Nos encantaría escuchar lo que piensas sobre estas características. Use el menú de ayuda para notificar un problema o proporcionar una sugerencia.

Hacer una sugerencia

También puede obtener consejos y sus preguntas respondidas por la comunidad en Stack Overflow.

Gracias,

Silviu Andrica