• Русский
  • Управление коллекциями развертываний

    Alauda Container Security позволяет определять и управлять коллекциями развертываний — логическими группами ресурсов на основе совпадающих шаблонов. Коллекции помогают организовать вашу инфраструктуру и упростить управление конфигурациями.

    Обзор

    Коллекции в Alauda Container Security — это пользовательские именованные ссылки, которые группируют развертывания, пространства имён или кластеры с помощью правил выбора. Эти правила могут основываться на точных совпадениях или регулярных выражениях (поддерживается синтаксис RE2). Коллекции могут быть вложенными, что позволяет создавать сложные иерархии.

    Основные моменты:

    • Коллекции в настоящее время доступны только для развертываний.
    • Коллекции используются при формировании отчётов по уязвимостям.
    • Для работы с коллекциями развертываний требуется база данных PostgreSQL.

    Требования

    Для использования коллекций ваша учётная запись должна иметь следующие разрешения:

    • WorkflowAdministration: доступ на чтение для просмотра коллекций; доступ на запись для добавления, изменения или удаления коллекций.
    • Deployment: доступ на чтение или чтение/запись для просмотра соответствия правил развертываниям.

    Эти разрешения включены в системную роль Admin. Подробнее см. документацию по управлению RBAC.

    Преимущества коллекций

    Коллекции предоставляют гибкий способ:

    • Группировать ресурсы, принадлежащие определённым командам.
    • Применять разные политики для сред разработки и продакшена.
    • Управлять распределёнными приложениями, охватывающими несколько пространств имён или кластеров.
    • Эффективно организовывать производственные или тестовые среды.

    Доступ и управление коллекциями

    Управлять коллекциями можно через портал Alauda Container Security:

    1. Перейдите в Platform Configuration > Collections.
    2. На странице отображается список существующих коллекций. Вы можете:
      • Искать коллекции по имени.
      • Просматривать детали коллекции в режиме только для чтения.
      • Редактировать, клонировать или удалять коллекции (коллекции, которые используются, удалить нельзя).
      • Создавать новые коллекции развертываний.

    Создание коллекции развертываний

    Шаги

    1. Нажмите Create collection.
    2. Введите имя и описание.
    3. В разделе Collection rules выполните хотя бы одно из следующих действий:
      • Определите правила выбора (см. ниже).
      • Присоедините существующие коллекции.
    4. Используйте панель живого предварительного просмотра для просмотра результатов совпадений.
    5. Нажмите Save.

    Примечание: Требуется хотя бы одно правило или присоединённая коллекция.

    Определение правил коллекции

    Вы можете настроить правила для выбора ресурсов в коллекцию:

    • Deployments

      • No deployments specified: игнорировать критерии развертывания.
      • Deployments with names matching:
        • Exact value: введите точное имя развертывания.
        • Regex value: используйте регулярное выражение (синтаксис RE2) для сопоставления шаблона. Например, .* соответствует всем развертываниям.
      • Deployments with labels matching exactly: введите корректную метку Kubernetes в формате key=value.
    • Namespaces

      • Namespaces with names matching: используйте точные или регулярные значения.
      • Namespaces with labels matching exactly: введите метку в формате key=value.
    • Clusters

      • Clusters with names matching: используйте точные или регулярные значения.

    Для добавления дополнительных критериев используйте опцию OR для объединения нескольких правил.

    Примеры регулярных выражений

    Alauda Container Security поддерживает синтаксис RE2 для регулярных выражений. Вот несколько распространённых примеров:

    Совпадение с продакшен-кластерами

    Для совпадения с кластерами, имена которых начинаются с prod:

    ^prod.*

    Совпадение с непроизводственными кластерами

    Для совпадения с кластерами, в именах которых отсутствует prod (RE2 не поддерживает негативный просмотр вперёд):

    ^[^p]*(p([^r]|$|r([^o]|$|o([^d]|$))))*[^p]*$

    Совпадение со всеми сущностями

    Для совпадения со всеми развертываниями, пространствами имён и кластерами:

    • Deployments with names matching: .*
    • Namespaces with names matching: .*
    • Clusters with names matching: .*

    Совпадение с конкретными развертываниями и метками

    Чтобы включить развертывание reporting, любые развертывания, заканчивающиеся на -db, и пространства имён с меткой kubernetes.io/metadata.name=medical:

    • Deployments with names matching: reporting
    • OR: Regex value .*-db
    • Namespaces with labels matching exactly: kubernetes.io/metadata.name=medical

    Присоединение коллекций

    Вы можете создавать иерархические коллекции, присоединяя существующие коллекции:

    1. Отфильтруйте коллекции по имени или выберите из списка.
    2. Нажмите +Attach для добавления выбранной коллекции.
    3. Присоединённые коллекции расширяют родительскую коллекцию с помощью логики OR.

    Миграция из Access Scopes

    При миграции с rocksdb на PostgreSQL существующие access scopes, используемые в отчётах по уязвимостям, преобразуются в коллекции. Процесс миграции создаёт встроенные и корневые коллекции для воспроизведения исходной логики выбора.

    • Встроенные коллекции: имитируют логику исходного access scope.
    • Корневая коллекция: присоединяет встроенные коллекции и используется в конфигурациях отчётов.

    Если scope не может быть мигрирован (например, использует неподдерживаемые операторы селектора меток), генерируется сообщение в журнале. Поддерживается только оператор IN для селекторов меток.

    Использование API

    Коллекциями также можно управлять через API CollectionService. Например, метод CollectionService_DryRunCollection возвращает результаты, аналогичные живому предварительному просмотру в портале. Подробнее см. справочник API в портале.