Мы рады представить релиз GitLab 14.7 с трансляцией событий аудита, соответствием GitLab Runner стандарту FIPS 140-2, групповыми токенами доступа и многим другим!
Это — лишь несколько основных из более 25 улучшений этого релиза. Читайте далее, и вы узнаете всё об этих классных обновлениях. Чтобы узнать, что выйдет в следующем месяце, зайдите на страницу предстоящих релизов и посмотрите видео по релизу 14.8.
Fabio добавил поддержку групповых токенов доступа, как в UI, так и в REST API. Масштаб этого вклада показывает размах работы, вложенной в него: эпик, три тикета и более 250 голосов сообщества за эту фичу!
Ранее токены доступа были доступны только на уровне проекта. Существовало обходное решение, которое позволяло администраторам самостоятельных инстансов GitLab генерировать групповой токен доступа через консоль Rails, но это оставляло наших клиентов SaaS ни с чем.
Вклад Fabio позволяет любому пользователю с соответствующими привилегиями генерировать токены доступа на уровне группы. Токены можно генерировать с определёнными заранее ролью, сроком действия и областью применения.
Спасибо Fabio за этот потрясающий вклад! 🙌
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Для пользователей GitLab из США нормативные требования правительства предписывают использовать программное обеспечение, соответствующее стандартам FIPS (Federal Information Processing Standards, Федеральные стандарты обработки информации). Версии FIPS 140-2 и 140-3 определяют требования безопасности для криптографических модулей, используемых в компьютерных и телекоммуникационных системах, а также в киберсистемах, защищающих конфиденциальную информацию. Обработчик заданий (GitLab Runner) теперь соответствует стандарту FIPS 140-2 для вычислительных архитектур AMD64 и дистрибутивов Red Hat Enterprise Linux. В этом эпике вы можете ознакомиться с обсуждениями, посвящёнными обеспечению соответствия GitLab требованиям FIPS.
Документация по обработчику заданий GitLab и оригинальный тикет.
(Доступно в планах SaaS: ULTIMATE; self-managed: ULTIMATE) Стадия цикла DevOps: Manage
Теперь вы можете передавать события аудита в выбранное вами место назначения. Это отличный способ сопоставить события аудита из GitLab с другими имеющимися у вас источниками данных, сохранить резервную копию событий аудита или создать собственную автоматизацию для принятия мер при наступлении определённого события.
Вы можете указать конечную точку HTTPS с помощью нашего нового API GraphQL, и события будут отправляться на неё в виде веб-хуков. Эти сообщения содержат ту же информацию, что и в пользовательском интерфейсе событий аудита: какое изменение произошло, когда оно произошло, кто был вовлечён, а также дополнительные метаданные.
После получения этих сообщений вы можете отфильтровать их по пользователям или типам, или передать эти данные в другой сторонний инструмент. Это отличный способ запустить любую пользовательскую автоматизацию по событиям, например, создания нового пользователя или изменения ключевого параметра. Нам не терпится узнать, для чего вы будете использовать эту фичу! Расскажите нам о ваших впечатлениях в соответствующем эпике.
Документация по трансляции событий аудита и оригинальный эпик.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Благодаря групповым токенам доступа вы можете использовать один токен для выполнения действий над группами, управления проектами в группе и для аутентификации в Git по HTTPS (в GitLab 14.2 и более поздних версиях).
Ранее групповые токены доступа были доступны только для самостоятельно управляемых инстансов GitLab и создавались только через консоль Rails. Теперь вы можете создавать групповые токены доступа через пользовательский интерфейс и API. Вы можете указать имя токена, срок действия и область применения. Также можно отозвать существующий групповой токен доступа.
Спасибо Fabio Huser за этот вклад!
Документация по групповым токенам доступа и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В этом релизе мы добавили возможность удаления меток на странице редактирования меток. Это улучшает удобство использования, поскольку наконец-то позволяет пользователям удалять ненужные метки вместо того, чтобы хранить длинный список «устаревших» меток. Удалять можно метки администраторов, проектов и групп.
Документация по управлению метками и оригинальный тикет.
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Теперь вы можете указать несколько хостов в конфигурации LDAP в GitLab, используя hosts
. GitLab будет использовать первый из доступных хостов. Это гарантирует непрерывный доступ к GitLab, если какой-либо из ваших LDAP-хостов перестанет отвечать на запросы.
Спасибо Mathieu Parent за этот вклад!
Документация по конфигурации LDAP и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В предыдущих релизах мы добавили на страницу создания группы вопросы для персонализации пользовательского опыта. Ответы на эти вопросы могут быть полезными для пользователей SaaS, но пользователей инстансов с самостоятельным управлением они только сбивают с толку, усложняя для них процесс создания группы. В этом релизе, благодаря пользователю Jonas Wälter, мы добавили возможность отключать эти вопросы.
Документация по настройкам панели администратора и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Package
Теперь вы можете сортировать список тегов на странице с тегами реестра контейнеров по имени. Ранее никакой сортировки тегов не было, из-за чего вам иногда приходилось прокручивать множество страниц, чтобы найти определённый тег. Теперь по умолчанию список тегов отсортирован по имени в порядке возрастания. Вы можете изменить порядок сортировки на убывающий. За дальнейшим процессом разработки этой фичи следите в этом тикете.
Документация по реестру контейнеров и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Статическое тестирование безопасности приложений (SAST) в GitLab включает в себя множество анализаторов безопасности, активно управляемых, поддерживаемых и обновляемых командой статического анализа GitLab. Ниже представлены обновления анализаторов, выпущенные в релизе 14.7. Эти обновления включают расширенное покрытие, исправления ошибок и прочие улучшения.
Если вы используете поставляемый GitLab шаблон SAST (SAST.gitlab-ci.yml), то вам не нужно ничего делать, чтобы получить эти обновления. Однако если вы переопределяете его или используете свой собственный шаблон CI, вам потребуется обновить конфигурации CI. Также вы можете закрепить минорную версию анализатора, чтобы использовать определённую версию любого анализатора. Закрепление одной из предыдущих версий отменит автоматические обновления анализатора, и вам потребуется вручную менять версию анализатора в шаблоне CI.
Документация по настройке анализаторов SAST и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure
Подключение GitLab CI/CD к облачным провайдерам с помощью переменных окружения неплохо работает во многих сценариях использования. Однако это решение плохо масштабируется, если вам нужно более продвинутое управление разрешениями, или если вы предпочитаете безопасные и краткосрочные подключения со строго определённым контекстом. В GitLab 12.10 мы добавили первоначальную поддержку JWT-соединения на основе токенов (CI_JOB_JWT
), чтобы позволить пользователям HashiCorp Vault безопасно извлекать секретные ключи. На основе этой фичи мы разработали возможность подключаться и к другим провайдерам.
В GitLab 14.7 мы представляем переменную окружения CI_JOB_JWT_V2
, которую можно использовать для подключения к AWS, GCP, Vault и, возможно, другим облачным сервисам. Имейте в виду, что эта фича в альфа-версии и пока не готова к использованию на продакшене. Мы будем рады, если вы оставите фидбек в этом эпике.
С новой переменной CI_JOB_JWT_V2
вы сможете подключаться к AWS для извлечения секретных ключей или для развёртывания через ваш аккаунт. Вы также сможете управлять правами доступа к вашему кластеру через роли AWS IAM. Узнайте больше о настройке OIDC-соединения с AWS.
Новая переменная окружения будет автоматически добавлена в ваш конвейер (в русской локализации GitLab «сборочная линия»), но не будет обратно совместимой с текущей переменной CI_JOB_JWT
. До релиза GitLab 15.0 переменная CI_JOB_JWT
продолжит работать, но это изменится в одном из будущих релизов. Мы сообщим вам об этом изменении, когда оно произойдёт. secrets
сейчас использует переменную CI_JOB_JWT_V1
. Если вы им пользуетесь, вам пока не нужно ничего менять.
Документация по подключению к облачным сервисам и оригинальный тикет.
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Доступность
Реестр пакетов GitLab позволяет вам использовать GitLab как приватный или публичный реестр для множества поддерживаемых менеджеров пакетов. До GitLab 14.7 наши задания Rake по резервному копированию и восстановлению не поддерживали файлы реестра пакетов. Теперь GitLab включает файлы реестра пакетов в бэкапы, созданные с помощью команды gitlab-backup create
. Администраторам больше не нужно придумывать отдельную стратегию резервного копирования для этих файлов, чтобы защитить их от потери данных. Обратите внимание, что это относится только к файлам, хранящимся в файловой системе. Если вы храните файлы реестра пакетов в хранилище объектов, включите резервное копирование с помощью поставщика этого хранилища.
Документация по резервному копированию в GitLab и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
В предыдущих версиях GitLab заблокированные пользователи никак не отмечались в пользовательском интерфейсе. Начиная с этой версии рядом с именами заблокированных пользователей будет отображаться слово Заблокирован (Locked), что позволит администраторам быстро получать информацию о статусе пользователей и, при необходимости, отменять блокировку.
Документация по разблокировке пользователей и оригинальный тикет.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Manage
Таблица с этапами аналитики цикла разработки для групп теперь включает название проекта для каждого тикета (в русской локализации GitLab «обсуждение») и мерж-реквеста (в русской локализации GitLab «запрос на слияние»), чтобы помочь вам лучше понять данные в этой таблице.
Документация по аналитике цикла разработки и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Хорошая стратегия по управлению потреблением хранилища — устанавливать правила для истечения срока действия артефактов. Но иногда вам нужно сразу уменьшить количество элементов в хранилище. Раньше вы могли использовать скрипт для автоматизации утомительной задачи по удалению артефактов по одному с помощью вызовов API, но теперь вы можете использовать новую конечную точку API, чтобы быстро и просто удалить множество артефактов заданий.
Документация по удалению артефактов заданий и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Verify
Теперь можно легко увидеть состояние каждого обработчика заданий на инстансе. Панель администратора для обработчиков заданий теперь включает значки статуса и крупные цифры, так что вы можете сразу увидеть все важные данные и легко управлять обработчиками.
Документация по администрированию обработчиков заданий и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Secure
Основываясь на большом расширении правил в GitLab 14.5 (оригинальная статья, перевод), мы обновляем наш анализатор поиска секретных ключей, Gitleaks, до следующей мажорной версии — 8. Эта версия включает в себя масштабные обновления производительности и новую реализацию основного механизма обнаружения. Сканирование истории для обнаружения секретных ключей теперь должно происходить намного быстрее при значительном сокращении использования памяти. Это означает как более быстрое обнаружение, так и более быстрые и более эффективные конвейеры. Это изменение также позволяет нам повысить производительность, что улучшит все задания по обнаружению ключей в будущем.
Вот некоторые реальные данные о производительности, демонстрирующие улучшение по скорости и памяти в этой версии:
Мы хотим особо отметить Zachary Rice, поскольку он не только член команды GitLab, но и является создателем и мейнтейнером проекта Gitleaks с открытым исходным кодом, который помог многим организациям, как государственным, так и частным, искать в своих кодовых базах утечку секретных ключей. Мы рады поддержать его работу с Gitleaks, а также его вклад в обширное сообщество открытого исходного кода.
Документация по настройке анализаторов SAST и оригинальный тикет.
(Доступно в планах SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Configure
Агент GitLab для Kubernetes тестируется и внедряется сотнями клиентов GitLab каждый месяц. Некоторые пользователи заметили, что удалить зарегистрированный агент из GitLab непросто. До сих пор агент можно было удалить только через API GraphQL. Начиная с GitLab 14.7 можно удалять агент непосредственно из пользовательского интерфейса GitLab.
Когда вы удаляете агент, GitLab отзывает его токены, так что данное соединение сразу перестаёт работать.
Документация по удалению агента GitLab и оригинальный тикет.
(Доступно в планах self-managed: FREE, PREMIUM, ULTIMATE) Доступность
Управляемый GitLab бэкенд состояний Terraform может безопасно хранить состояния Terraform, избавляя вас от необходимо настраивать дополнительные удалённые ресурсы. До GitLab 14.7 наши задания Rake по резервному копированию и восстановлению не поддерживали файлы состояния Terraform. Теперь GitLab включает файлы состояния Terraform в бэкапы, созданные с помощью команды gitlab-backup create
. Администраторам больше не нужно придумывать отдельную стратегию резервного копирования для этих файлов, чтобы защитить их от потери данных. Обратите внимание, что это относится только к файлам, хранящимся в файловой системе. Если вы храните файлы состояния Terraform в хранилище объектов, включите резервное копирование с помощью поставщика этого хранилища.
Документация по резервному копированию и восстановлению с помощью Rake и оригинальный тикет.
(Доступно в планах SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Доступность
Пользователи часто хотят лучше понимать результаты поиска по коду, например, кто и когда редактировал файл. Начиная с GitLab 14.7 пользователи могут легко это увидеть с меньшим количеством кликов, используя ссылку Просмотр Git blame (View blame) в результатах глобального поиска. Эта дополнительная ссылка появится рядом со строками кода при наведении указателя мыши на результаты поиска.
Документация по поиску кода и оригинальный тикет.
В каждом релизе мы делаем большие шаги по повышению общей эффективности и полезности нашего продукта. У нас также есть Галерея UI Polish для отслеживания важных обновлений наших интерфейсов. Эти обновления, хоть часто и небольшие, заметно улучшают удобство использования.
В GitLab 14.7 мы поработали над тикетами, проектами, майлстоунами (в русской локализации GitLab «этапы») и многим другим. Мы особо выделяем следующие изменения в GitLab 14.7:
Посмотрите все улучшения удобства использования в GitLab 14.7.
Полный текст релиза и инструкции по обновлению/установке вы можете найти в оригинальном англоязычном посте GitLab 14.7 released with Streaming Audit Events, GitLab Runner compliance with FIPS 140-2, and Group Access Tokens.
Над переводом с английского работали @cattidourden, @maryartkey, @ainoneko и @rishavant.