Поделиться через


Отключение оповещений проверки зависимостей в расширенной безопасности

Проверка зависимостей в расширенной безопасности обнаруживает компоненты открытый код, используемые в исходном коде, и определяет наличие связанных уязвимостей. Все обнаруженные уязвимости из компонентов открытый код помечаются как оповещение. С помощью этого обновления можно закрыть оповещения проверки зависимостей в расширенной безопасности, которые, как вы считаете, ложным положительным или приемлемым риском.

В Azure Repos мы изменили поведение по умолчанию, чтобы удалить разрешение "Изменить политики" при создании новой ветви.

Ознакомьтесь с заметками о выпуске, чтобы узнать больше об этих функциях.

Расширенная безопасность GitHub для Azure DevOps

Azure Boards

Azure Pipelines

Azure Repos

Общие

Отклонение оповещений о проверке зависимостей в Advanced Security

Теперь вы можете закрыть любые оповещения проверки зависимостей, которые вы считаете ложным положительным или приемлемым риском. Это те же варианты закрытия для сканирования секретов и проверки кода в расширенной безопасности, которые можно использовать в настоящее время.

Отключение оповещения проверки зависимостей

Обратите внимание, что может потребоваться повторно запустить конвейер обнаружения с задачей проверки зависимостей, а также убедиться, что у вас есть Advanced Security: dismiss alerts разрешения, чтобы закрыть эти оповещения.

Дополнительные сведения об увольнении оповещений см. в статье "Отключение оповещений о проверке зависимостей".

Azure Boards

Мы сделали небольшое улучшение, чтобы скопировать URL-адрес рабочего элемента из нескольких областей в Azure Boards. Упрощая получение прямой ссылки на определенный рабочий элемент.

Изображение для элемента контекстного меню ссылки копирования в невыполненной работы

Ссылка на копирование добавлена в контекстные меню формы рабочего элемента, невыполненной работы и невыполненной работы задач.

Примечание.

Эта функция будет доступна только в предварительной версии New Boards Hubs.

Azure Pipelines

Задачи Kubernetes теперь поддерживают kubelogin

Мы обновили задачи KuberentesManifest@1, HelmDeploy@0, Kubernetes@1 и AzureFunctionOnKubernetes@1 для поддержки kubelogin. Это дает возможность использовать Службу Azure Kubernetes (AKS), настроенную с интеграцией Azure Active Directory.

Kubelogin не установлен на размещенных образах. Чтобы убедиться, что указанные выше задачи используют kubelogin, установите его, вставив задачу KubeloginInstaller@0 перед задачей, которая зависит от нее:

 - task: KubeloginInstaller@0

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

Улучшения REST API утверждений

Утверждения повышают безопасность конвейера YAML, предоставляя возможность вручную просматривать развертывание в рабочей среде. Мы обновили REST API запросов утверждений, чтобы сделать его более мощным. Теперь вы:

  • Не нужно указывать список.approvalId Теперь все параметры являются необязательными.
  • Может указать список userIds, чтобы получить список утверждений, ожидающих этих пользователей. В настоящее время REST API возвращает список утверждений, для которых пользователи явно назначаются в качестве утверждающих.
  • Можно указать state возвращаемые утверждения, например pending.

Ниже приведен пример 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 : возвращается

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

Отключение проверки

Мы сделали отладку менее мучительной. Иногда проверка REST API "Вызов функции Azure" или "Вызов REST API" не работает правильно, и ее необходимо исправить. Ранее необходимо было удалить такие проверки, чтобы предотвратить их ошибочное блокирование развертывания. После исправления проверки необходимо было добавить ее обратно и правильно настроить ее, убедившись, что все необходимые заголовки заданы или параметры запроса правильны. Это мучительно.

Теперь можно просто отключить проверку. Отключенная проверка не будет выполняться в последующих оценках набора.

Отключите изображение проверки.

После исправления ошибочной проверки его можно просто включить.

Включите изображение проверки.

Обновления расписаний cron YAML

В конвейерах YAML можно определить запланированные триггеры с помощью cron свойства YAML.

Мы обновили принцип работы свойства batch. Вкратце, если для batch настроено значение true, расписание cron не будет выполняться при осуществлении другого запланированного выполнения конвейера. Это не зависит от версии репозитория конвейера.

В следующей таблице описывается, как always и batch взаимодействовать.

Всегда Пакетная служба Поведение
false false Конвейер выполняется только в том случае, если произошло изменение относительно последнего успешного запланированного выполнения конвейера
false true Конвейер выполняется только в том случае, если происходит изменение относительно последнего успешного запланированного выполнения конвейера и не выполняется запланированное выполнение конвейера.
true false Конвейер выполняется в соответствии с расписанием cron
true true Конвейер выполняется в соответствии с расписанием cron

Например, предположим always: false batch: trueи . Предположим, что существует расписание cron, указывающее, что конвейер должен выполняться каждые 5 минут. Представьте, что есть новая фиксация. Через 5 минут конвейер запускает запланированный запуск. Представьте, что выполнение конвейера занимает 30 минут. В течение этих 30 минут не выполняется запланированное выполнение независимо от количества фиксаций. Следующий запланированный запуск происходит только после завершения текущего запланированного запуска.

Конвейер YAML может содержать несколько расписаний cron, и может потребоваться, чтобы конвейер выполнял различные этапы / задания на основе которых выполняется расписание cron. Например, у вас есть еженедельная сборка и еженедельная сборка, и вы хотите, чтобы во время еженедельной сборки конвейера собирал больше статистики.

Мы делаем это возможным, введя новую предопределенную системную переменную с именем Build.CronSchedule.DisplayName , которая содержит displayName свойство расписания cron.

Новые переключатели для управления созданием классических конвейеров

В прошлом году мы запустили параметр конфигурации Pipelines, чтобы отключить создание классических конвейеров сборки и выпуска.

В ответ на ваши отзывы мы разделим начальный переключатель на два: один для классических конвейеров сборки и один для классических конвейеров выпуска, групп развертывания и групп задач.

Отключение создания

Если у вашей организации есть Disable creation of classic build and release pipelines переключатель, оба новых переключателя включены. Если исходный переключатель отключен, оба новых переключателя отключены.

Azure Repos

Удаление разрешения "Изменить политики" для создателя ветви

Ранее при создании новой ветви мы получили разрешение на изменение политик в этой ветви. В этом обновлении мы изменяем поведение по умолчанию, чтобы не предоставлять это разрешение, даже если для репозитория включен параметр "Управление разрешениями".

Образ управления разрешениями.

Вам потребуется явное разрешение "Изменение политик" (вручную или через REST API) путем наследования разрешений безопасности или членства в группе.

Следующие шаги

Примечание.

Эти функции будут развернуты в течение следующих двух-трех недель.

Перейдите к Azure DevOps и посмотрите.

Отправка отзыва

Мы хотели бы услышать то, что вы думаете об этих функциях. Используйте меню справки, чтобы сообщить о проблеме или указать предложение.

Внести предложение

Вы также можете получить советы и ваши вопросы, ответы сообщества на Stack Overflow.

Thanks,

Сильвиу Андреика