Отключение оповещений проверки зависимостей в расширенной безопасности
Проверка зависимостей в расширенной безопасности обнаруживает компоненты открытый код, используемые в исходном коде, и определяет наличие связанных уязвимостей. Все обнаруженные уязвимости из компонентов открытый код помечаются как оповещение. С помощью этого обновления можно закрыть оповещения проверки зависимостей в расширенной безопасности, которые, как вы считаете, ложным положительным или приемлемым риском.
В Azure Repos мы изменили поведение по умолчанию, чтобы удалить разрешение "Изменить политики" при создании новой ветви.
Ознакомьтесь с заметками о выпуске, чтобы узнать больше об этих функциях.
Расширенная безопасность GitHub для Azure DevOps
Azure Boards
Azure Pipelines
- Задачи Kubernetes теперь поддерживают kubelogin
- Обновления расписаний cron YAML
- Отключение проверки
- Улучшения REST API утверждений
- Новые переключатели для управления созданием классических конвейеров
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
Теперь все параметры являются необязательными. - Может указать список
userId
s, чтобы получить список утверждений, ожидающих этих пользователей. В настоящее время 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,
Сильвиу Андреика