Descartar alertas de verificação de dependência na Segurança Avançada

A varredura de dependências na Segurança Avançada detecta os componentes de código aberto usados no código-fonte e identifica se há alguma vulnerabilidade associada. As vulnerabilidades encontradas de componentes de software livre são sinalizadas como um alerta. Com esta atualização, você pode descartar alertas de verificação de dependência na Segurança Avançada que você acredita ser um risco falso positivo ou aceitável.

No Azure Repos, alteramos o comportamento padrão para remover a permissão "Editar políticas" ao criar uma nova ramificação.

Confira as notas de versão para saber mais sobre esses recursos.

GitHub Advanced Security para Azure DevOps

Azure Boards

Azure Pipelines

Azure Repos

Geral

Dispensas de alertas de verificação de dependências na Segurança Avançada

Agora você pode descartar qualquer alerta de verificação de dependência que você acredita ser um risco falso positivo ou aceitável. Essas são as mesmas opções de demissão para verificação secreta e alertas de varredura de código na Segurança Avançada que você pode usar no momento.

Dismiss a dependency scanning alert

Observe que talvez seja necessário executar novamente o pipeline de detecção com a tarefa de verificação de dependência, bem como garantir que você tenha as Advanced Security: dismiss alerts permissões para descartar esses alertas.

Para saber mais sobre dispensas de alerta, consulte Dispensar alertas de verificação de dependência.

Azure Boards

Fizemos uma pequena melhoria para copiar a URL do item de trabalho de várias áreas nos Quadros do Azure. Facilitando a obtenção do link direto para um item de trabalho específico.

Image for copy link context menu item on backlog

O link de cópia foi adicionado aos menus de contexto no formulário de item de trabalho, lista de pendências e lista de pendências de tarefas.

Observação

Esse recurso só estará disponível com a versão prévia do New Boards Hubs.

Azure Pipelines

As tarefas do Kubernetes agora suportam kubelogin

Atualizamos as tarefas KuberentesManifest@1, HelmDeploy@0, Kubernetes@1 e AzureFunctionOnKubernetes@1 para suportar o kubelogin. Isso permite que você direcione o Serviço de Kubernetes do Azure (AKS) configurado com a integração do Azure Active Directory.

O Kubelogin não está pré-instalado em imagens hospedadas. Para garantir que as tarefas acima mencionadas usem kubelogin, instale-o inserindo a tarefa KubeloginInstaller@0 antes da tarefa que depende dela:

 - task: KubeloginInstaller@0

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

Melhorias na API REST de aprovações

As aprovações aumentam a segurança do pipeline do YAML, oferecendo a possibilidade de revisar manualmente uma implantação para produção. Atualizamos a API REST de consulta de aprovações para torná-la mais poderosa. Agora, você:

  • Não é necessário especificar uma lista de approvalIds. Todos os parâmetros agora são opcionais.
  • Pode especificar uma lista de s para recuperar a lista de userIdaprovações pendentes nesses usuários. Atualmente, a API REST retorna a lista de aprovações para as quais os usuários são explicitamente atribuídos como aprovadores.
  • Pode especificar as state aprovações a serem retornadas, por exemplo, pending.

Veja um exemplo: GET https://dev.azure.com/fabrikamfiber/fabrikam-chat/_apis/pipelines/approvals?api-version=7.1-preview.1&userId=47acd774-9773-6c31-bbb6-5a0585695d19&state=pending devoluções

{
    "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"
                }
            }
        }
    ]
}

Desabilitar uma verificação

Tornamos as verificações de depuração menos tediosas. Às vezes, uma verificação Invoke Azure Function ou Invoke REST API não funciona corretamente e você precisa corrigi-la. Anteriormente, era necessário excluir essas verificações para evitar que elas bloqueassem erroneamente uma implantação. Depois de corrigir a verificação, você tinha que adicioná-la novamente e configurá-la corretamente, certificando-se de que todos os cabeçalhos necessários estão definidos ou os parâmetros de consulta estão corretos. Isso é tedioso.

Agora, você pode simplesmente desativar uma verificação. A verificação desativada não será executada nas avaliações subsequentes do conjunto de verificação.

Disable a check image.

Depois de corrigir a verificação errada, você pode simplesmente ativá-la.

Enable a check image.

Atualizações para programações cron YAML

Em pipelines YAML, você pode definir gatilhos agendados usando a cron propriedade YAML.

Atualizamos como a propriedade batch funciona. Resumindo, se você definir batch como true, o cronograma cron não será executado se outra execução de pipeline agendada estiver em andamento. Isso ocorrerá independentemente da versão do repositório de pipeline.

A tabela a seguir descreve como interação always e batch.

Sempre Lote Comportamental
false false O pipeline é executado somente se houver uma alteração em relação à última execução de pipeline agendada bem-sucedida
false true O pipeline é executado somente se houver uma alteração em relação à última execução de pipeline agendada bem-sucedida e não houver nenhuma execução de pipeline agendada em andamento
true false O pipeline é executado de acordo com o cronograma cron
true true O pipeline é executado de acordo com o cronograma cron

Por exemplo, suponha always: false e batch: true. Suponha que haja um agendamento cron que especifique que o pipeline deve ser executado a cada 5 minutos. Imagine que há um novo compromisso. Dentro de 5 minutos, o pipeline inicia sua execução programada. Imagine que uma execução de pipeline leva 30 minutos para ser concluída. Dentro desses 30 minutos, nenhuma execução programada ocorre, independentemente do número de confirmações. A próxima execução agendada acontece somente após a conclusão da execução agendada atual.

Seu pipeline YAML pode conter várias agendas cron, e você pode querer que seu pipeline execute diferentes estágios / trabalhos com base nos quais cron schedule é executado. Por exemplo, você tem uma compilação noturna e uma compilação semanal, e deseja que durante a compilação semanal seu pipeline colete mais estatísticas.

Tornamos isso possível introduzindo uma nova variável de sistema predefinida chamada Build.CronSchedule.DisplayName que contém a displayName propriedade de uma agenda cron.

Novas alternâncias para controlar a criação de pipelines clássicos

No ano passado, lançamos uma definição de configuração de Pipelines para desabilitar a criação de pipelines clássicos de compilação e lançamento.

Em resposta aos seus comentários, dividimos a alternância inicial em duas: uma para pipelines de compilação clássicos e outra para pipelines de versão clássica, grupos de implantação e grupos de tarefas.

Disable creation

Se a sua organização tiver a Disable creation of classic build and release pipelines alternância, ambas as novas alternâncias estarão ativadas. Se a alternância original estiver desativada, ambas as novas alternâncias estarão desativadas.

Azure Repos

Removendo a permissão "Editar políticas" para o criador da ramificação

Anteriormente, quando você criava uma nova ramificação, recebíamos permissão para editar políticas nessa ramificação. Com esta atualização, estamos alterando o comportamento padrão para não conceder essa permissão, mesmo que a configuração "Gerenciamento de permissões" esteja ativada para o repositório.

Permission management image.

Você precisará da permissão "Editar políticas" concedida explicitamente (manualmente ou por meio da API REST) por herança de permissão de segurança ou por meio de associação de grupo.

Próximas etapas

Observação

Esses recursos serão lançados nas próximas duas a três semanas.

Vá até o Azure DevOps e dê uma olhada.

Como fornecer comentários

Adoraríamos ouvir o que você pensa sobre esses recursos. Use o menu de ajuda para relatar um problema ou fornecer uma sugestão.

Make a suggestion

Você também pode obter conselhos e suas perguntas respondidas pela comunidade no Stack Overflow.

Obrigada,

Silviu Andrica