CoRoid выполняет автономные инженерные задачи с вашим кодом. На этой странице описывается место, где происходит эта работа, какие ресурсы она может использовать, как защищаются учетные данные и данные, и какие следы она оставляет. Здесь также описаны действующие на данный момент механизмы контроля. Планируемые механизмы контроля обозначены как планируемые.
Где выполняется работа агентов
Каждая задача выполняется в собственном изолированном облачном рабочем пространстве. Это рабочее пространство создается для конкретной задачи и удаляется после ее завершения. Агенты могут считывать и записывать данные только в репозиторий, открытый в этом рабочем пространстве.
Существует три зоны:
| Зона | Владелец | Что в ней находится |
|---|---|---|
| Рабочее пространство агента | CoRoid | Инструменты для проверки исходного кода, сборки и тестирования одной задачи. Создаются для каждой задачи и удаляются после ее завершения. |
| Планирующая плоскость | CoRoid | Механизмы планирования, спецификации, подтверждения и история принятия решений. В ней хранятся учетные данные проекта в зашифрованной конфигурации. |
| Ваша сеть и производственная среда | Вы | Недоступно из рабочего пространства агента. |
- Рабочее пространство агентовУправляется CoRoidИнструменты для проверки исходного кода, сборки и тестирования для одной задачи.
- Плоскость управленияУправляется CoRoidПланирование, спецификации, подтверждения и цепочка принятия решений. Учётные данные хранятся в зашифрованном виде.
- Ваша сеть и продакшн-средаВашеНе требуется расширение IDE, локальный агент или доступ к сети.
Рабочее пространство агента не может получить доступ к вашей сети или продакшену.
Единственный способ выйти — это pull request, решение о его объединении принимаете вы.
Результат работы выходит из рабочего пространства в виде pull request. Ваша команда решает, стоит ли его объединять с основной веткой, а затем ваш собственный путь развертывания использует его дальше. Для работы CoRoid не требуется расширение IDE, локальный агент или доступ к вашей частной сети.
Какие ресурсы интернета может использовать рабочее пространство
Рабочее пространство, предназначенное для сборки и тестирования вашего кода, напрямую обращается к публичным интернет-адресам, поэтому установка пакетов и загрузка файлов происходят так же, как на рабочей станции разработчика. Оно никогда не обращается к частным адресам: внутренняя сеть кластера, сервис метаданных облака и частные диапазоны IP для него закрыты.
Сетевая песочница, под управлением Безопасность → Настройки, направляет рабочие пространства определенного диапазона через прокси-сервер исходящего трафика CoRoid. Он отключен до тех пор, пока вы не включите его для параметров организации или для конкретного проекта, на любом тарифном плане:
- Включено (режим наблюдения). Все соединения проходят через прокси, который регистрирует хост и порт задачи, но не путь или содержимое запроса. Никакие запросы не блокируются.
- Блокировать запрещенные ресурсы (режим принудительного контроля)— выбранный в панели настроек защиты. Прокси-сервер допускает доступ к общедоступным репозиториям пакетов (npm, PyPI, модули Go, crates.io, RubyGems, Maven Central и Gradle, NuGet, Packagist, Hex, pub.dev, conda), к хосту Git вашего проекта и к хостам из списка разрешённых адресов. Все остальные запросы блокируются. Если команда завершается ошибкой после такой блокировки, агенту сообщается, какой хост был заблокирован и по какой причине.
В панели отображается сведения о подключениях песочниц за последние 30 дней: каждый хост и порт, количество задач и соединений, последняя задача, обратившаяся к нему, а также информация о том, был ли доступ разрешен, заблокирован или будет заблокирован в режиме принудительного контроля с учетом текущего списка разрешенных ресурсов. Разрешить добавляет хост в этот список. Начните с режима наблюдения: в списке отобразится то, что будет заблокировано в режиме принудительного контроля, еще до его включения.
Раздел Сеть В разделе в представлении Factory перечислены места назначения, к которым обращались рабочие пространства, сначала — отклоненные запросы. Сканирование, которое проводит само CoRoid (например, сканирование на предмет безопасности), помещает рабочее пространство в отдельную задачу; в этой задаче указано, какое именно сканирование выполнялось, и так же перечислены места назначения.
В обоих режимах соединение, обходящее прокси-сервер, например прямое TCP-соединение, будет заблокировано, а прокси-сервер никогда не подключится к частному адресу. Инструменты определяют прокси-сервер через стандартные переменные среды прокси, которые устанавливает CoRoid; Maven считывает параметры прокси только из settings.xml, поэтому при включенной сетевой песочнице сборка Maven не сможет выйти в интернет. Поиск имен узлов по-прежнему осуществляется через резолвер кластера. Изменения вступают в силу для рабочих пространств, созданных после их применения.
Каждая запись в списке разрешенных ресурсов — это хост (api.example.com), его поддомены
(*.example.com), либо и то, и другое с указанием порта (example.com:8443; без указания порта используются порты 80 и 443). Проект с собственной настройкой имеет свой режим и список разрешенных ресурсов; Использовать
стандартные настройки вернет их к настройкам организации. Эти параметры передаются вместе с
переносимостью настроек, как и другие параметры раздела «Безопасность».
Идентификация и доступ
Аутентификация централизована в шлюзе. Поддерживаются следующие варианты:
- Сессии пользователей на основе JWT для доступа к порталу
- Токены между сервисами с управляемым циклом ротации
- Ключи API для внешних интеграций
- Механизмы защиты конечных точек с разными уровнями доступа для пользователей, сервисов и смешанных сценариев
Доступ к репозиторию ограничен рамками проекта. Учетные данные одного проекта не могут быть использованы другим проектом, и для работы с одним репозиторием CoRoid не нужны учетные данные всей организации. Подробнее Подключите свой код.
Владельцы и администраторы организации управляют участниками, сессиями и потоком событий безопасности в разделе Настройки → Идентификация и доступ. SSO/SAML с поддержкой протокола SCIM входит в состав тарифа Enterprise, который доступен в режиме приватного предпросмотра.
Защита данных
- Данные шифруются при передаче и хранении.
- Учетные данные вашей организации, такие как ключи провайдеров, токены репозиториев и другие секреты интеграции, шифруются с помощью ключа данных, принадлежащего вашей организации. Служба управления ключами шифрует этот ключ данных в свою очередь. Только брокер учетных данных CoRoid может расшифровать их, и он фиксирует каждый случай использования. Подробнее Ключи провайдера.
- Секреты конфигурации самого CoRoid хранятся в зашифрованном виде.
- Облачный сервис предлагает Профиль размещения в ЕС для команд, у которых есть требования к GDPR или к резидентности данных. Только для ЕС Профиль AI обеспечивает выполнение вычислений модели на провайдерах, размещенных в ЕС. Подробнее см. Профили AI.
- Вы сами определяете, как долго сохраняются история выполнения, расшифровки и артефакты. Подробнее см. Хранение данных.
Цепочка принятия решений
Каждое автономное изменение описывается на языке, привычном для рецензентов и команд по обеспечению безопасности:
- Спецификация, действия агентов, процесс рецензирования и решение об утверждении остаются связанными с задачей.
- В цепочке выполнения фиксируется каждый запуск агента, включая неудачные попытки и причины их возникновения.
- История создания пулл-реквеста отображает окончательные доказательства перед слиянием кода.
- Доказательства безопасности, зависимостей, покрытия кода, визуального тестирования, end-to-end и браузерных тестов можно прикрепить к процессу рецензирования. Подробнее см. Доказательства рецензирования.
Шлюзы слияния блокируют внесение изменений в продакшн до выполнения явных правил. Ничто не сливается без утверждения ваших Критерии качества .
Операции в продакшн-среде
- Генерация SBOM и сканирование образов контейнеров в системе непрерывной интеграции
- Публичные эндпоинты только с протоколом HTTPS с завершением TLS
- Автоматизированные снимки базы данных и инструкции по восстановлению
- Мониторинг и оповещения по метрикам, логам и ошибкам
Варианты развертывания
CoRoid работает в трех операционных моделях. Рабочий процесс во всех случаях одинаков; меняется лишь место размещения среды выполнения, хранилища, доступа к репозиториям и учетных данных.
| Модель | Доступность | Где он работает |
|---|---|---|
| Облако | Доступно для широкого использования | Управляется CoRoid, с возможностью размещения данных в ЕС |
| Корпоративное облако | Закрытая предварительная версия | Управляется CoRoid, с выделенными ресурсами, SSO/SAML, поддержкой SCIM и экспортом аудита |
| Локально | Закрытая предварительная версия | На вашей инфраструктуре, с использованием Docker Compose или Kubernetes |
Локально
Развертывания локально позволяют регулируемым командам хранить доступ к репозиторию, данным, учетным данным и политикам сети внутри инфраструктуры, которой они управляют.
- Docker Compose подходит для установок на один сервер и пилотных проектов. Для хранения базы данных, репозиториев и логов используются тома с сохранением данных.
- Kubernetes подходит для установок на несколько серверов и с автоматическим масштабированием. Helm управляет службами приложения, рабочих процессов, синхронизации и выполнения, а также работает с управляемыми или самостоятельно развернутыми системами PostgreSQL и объектными хранилищами.
- Ограниченные сети может использовать стратегии работы с моделями и зависимостями в режиме офлайн, самостоятельно развернутые системы управления секретами и внутренний протокол TLS.
Для доступа к Git используются персональные токены доступа, а не установка сторонних приложений, причем можно указать внутренние хосты репозиториев.
Сертификаты
В настоящее время у CoRoid нет отчета SOC 2 или другой сторонней сертификации безопасности. SOC 2 — это цель, к которой мы стремимся. Мы не будем называть механизм контроля сертифицированным, пока это не подтвердится.
Связанные материалы
- Безопасность: поиск и устранение уязвимостей в вашем собственном коде и зависимостях
- Хранение данных
- Ключи провайдера
- Планы и цены
- Доказательства рецензирования