Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for GitLab
  • Начало работы
    • Взаимосвязь ресурсов сервиса
    • Преимущества сервиса перед пользовательской инсталляцией GitLab
    • Порядок миграции из пользовательской инсталляции GitLab
    • Правила ревью кода
    • Резервные копии
    • Безопасность в GitLab
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Обнаружение уязвимостей в CI/CD
  • Использование примеров безопасности пайплайна
  • Дополнительные материалы
  • Рекомендации по настройке безопасности инстанса GitLab
  • Работа с Docker изнутри GitLab
  • Примеры использования
  • Интеграция с Yandex Managed Service for Kubernetes
  • Примеры использования
  • Использование переменных
  • Разграничение доступа
  • Безопасная конфигурация агента GitLab Runner
  • Примеры использования
  1. Концепции
  2. Безопасность в GitLab

Безопасность в Managed Service for GitLab

Статья создана
Yandex Cloud
Обновлена 11 марта 2025 г.
  • Обнаружение уязвимостей в CI/CD
  • Использование примеров безопасности пайплайна
  • Дополнительные материалы
  • Рекомендации по настройке безопасности инстанса GitLab
    • Работа с Docker изнутри GitLab
    • Примеры использования
    • Интеграция с Yandex Managed Service for Kubernetes
    • Примеры использования
    • Использование переменных
    • Разграничение доступа
    • Безопасная конфигурация агента GitLab Runner
    • Примеры использования

Обнаружение уязвимостей в CI/CDОбнаружение уязвимостей в CI/CD

Managed Service for GitLab предоставляет защиту вашего пайплайна встроенными в GitLab средствами.

Набор средств зависит от типа лицензии GitLab. В бесплатную лицензию входит ряд средств защиты, например, Static Application Security Testing (SAST) и Secret Detection. Также вы можете разрабатывать собственные задания на базе инструментов с открытым исходным кодом.

Полный список средств защиты пайплайна в зависимости от типа лицензии приведен в таблице:

Средства защиты пайплайна Free Premium Ultimate
API Fuzzing
Cluster Image Scanning
Container Scanning
Dependency Scanning
Dynamic Application Security Testing (DAST)
License Compliance
Secret Detection
Security Dashboard
Static Application Security Testing (SAST)

С развитием Managed Service for GitLab список средств защиты может меняться.

Использование примеров безопасности пайплайнаИспользование примеров безопасности пайплайна

Доступны следующие варианты использования пайплайна в ваших проектах:

  • Создайте пайплайн в отдельном проекте и подключите его к другим проектам с помощью функции include. Доступно для всех типов лицензий.
  • Используйте механизм Compliance framework and pipeline — он будет выполняться в любом проекте группы. Механизм доступен для типа лицензии Ultimate.
  • Скопируйте секции пайплайна в файл .gitlab-ci.yml ваших проектов.

Дополнительные материалыДополнительные материалы

Изучите примеры безопасности пайплайна, подготовленные в рамках Yandex Cloud Security Solution Library:

  • Обнаружение уязвимостей в CI/CD (тип лицензии Ultimate).
  • Обнаружение уязвимостей в CI/CD (тип лицензии Free).

Рекомендации по настройке безопасности инстанса GitLabРекомендации по настройке безопасности инстанса GitLab

Совет

Перед настройкой инстанса изучите общие рекомендации по безопасности GitLab.

Используйте эти наборы рекомендаций для обеспечения безопасности вашего инстанса GitLab:

  • Для аудита и анализа событий безопасности настройте экспорт логов аудита в стороннюю систему анализа событий, например, Splunk.
  • Подписывайте коммиты с помощью GPG-ключа.
  • Организуйте approve изменений в коде как минимум двумя сотрудниками — это поможет снизить количество ошибок.
  • Для предотвращения отказа обслуживания используйте ограничения User and IP rate limits.

Работа с Docker изнутри GitLabРабота с Docker изнутри GitLab

  • Изучите лучшие практики по безопасной работе с образами Docker.
  • Работайте с Docker в режиме non-privileged. Используйте настройки cap_add и cap_drop для более тонкой настройки привилегий контейнеров.
  • Для безопасной сборки контейнеров используйте утилиту kaniko.
  • Не используйте Shell executor, Docker-in-Docker и Docker socket binding — это дает доступ к Docker socket и privileged mode. Подробнее см. в статье Securing GitLab CI pipelines with Sysbox.

Примеры использованияПримеры использования

  • Хранение Docker-образов в Yandex Container Registry

Интеграция с Yandex Managed Service for KubernetesИнтеграция с Yandex Managed Service for Kubernetes

  • Для безопасной интеграции используйте GitLab Agent for Kubernetes.
  • Чтобы исключить использование сервисных аккаунтов с ролью cluster-admin и открытия API Kubernetes в интернет, не используйте certificate-based интеграцию.
  • Чтобы исключить связанность агента GitLab Runner и Kubernetes, используйте развертывание с помощью CI/CD tunnel.

Примеры использованияПримеры использования

  • Непрерывное развертывание контейнеризованных приложений Managed Service for Kubernetes

Использование переменныхИспользование переменных

  • Для ограничения доступа к переменным используйте настройку Protect variable.
  • Для маскирования переменных в логах используйте настройку Mask variable.
  • Не храните секреты (ключи, пароли, API-токены и т. д.) в коде. Для поиска секретов в коде используйте инструмент Secret Scanning.

Разграничение доступаРазграничение доступа

  • Выдавайте доступ к вашим проектам ограниченному количеству сотрудников. Предоставляйте сотрудникам только минимально необходимые права.
  • Настраивайте доступ к проектам с помощью механизма групп GitLab.
  • Ограничьте подключения к проектам только с конкретных IP-адресов, а также включите двухфакторную аутентификацию. Для этого перейдите во вкладку Settings → General → Permissions, LFS, 2FA в свойствах нужной группы.
  • Чтобы предоставить доступ к проектам пользователям вашей организации, настройте SAML SSO.
  • По возможности заблокируйте использование fork.

Безопасная конфигурация агента GitLab RunnerБезопасная конфигурация агента GitLab Runner

  • Используйте наиболее изолированные и безопасные управляющие программы Docker и Kubernetes. Не рекомендуется использовать устаревший Shell executor.
  • Чтобы ограничить сетевой доступ к агенту GitLab Runner, используйте группы безопасности.
  • Используйте безопасный механизм назначения сервисных аккаунтов виртуальной машине для взаимодействия с облачным API внутри заданий. Такой способ более безопасен, чем указание учетных данных через env.

Примеры использованияПримеры использования

  • Развертывание GitLab Runner на виртуальной машине Yandex Compute Cloud

Была ли статья полезна?

Предыдущая
Резервные копии
Следующая
Квоты и лимиты
Проект Яндекса
© 2025 ООО «Яндекс.Облако»