• Русский
  • Использование ScanSuite

    ScanSuite — это ресурс для пакетного управления проверками соответствия. Он связывает несколько профилей и создаёт дочерние ресурсы Scan на основе одного общего шаблона.

    Когда использовать ScanSuite

    Используйте ScanSuite, когда необходимо:

    • управлять несколькими профилями одновременно
    • планировать повторяющиеся проверки соответствия
    • применять один и тот же шаблон проверки к группе дочерних ресурсов Scan
    • приостанавливать, возобновлять или запускать пакет связанных проверок как единое целое

    Если вам нужен только один профиль и один ресурс Scan, используйте Using Scan.

    Пример базового ScanSuite

    apiVersion: compliance.security.alauda.io/v1alpha1
    kind: ScanSuite
    metadata:
      name: test-scan-suite
      namespace: compliance-system
    spec:
      profiles:
        - stig-k8s-api-server
        - stig-k8s-control-plane
        - stig-k8s-general
        - stig-k8s-kubelet
      maxHistoricalResults: 3
      scanTemplate:
        scanType: node
        nodeScopeStrategy: auto
        targetNodeRoles:
          - control-plane
        nodeSelector:
          node-role.kubernetes.io/control-plane: ""

    Пример запланированного ScanSuite

    apiVersion: compliance.security.alauda.io/v1alpha1
    kind: ScanSuite
    metadata:
      name: scheduled-scan-suite
      namespace: compliance-system
    spec:
      profiles:
        - stig-k8s-api-server
        - stig-k8s-control-plane
      schedule: "0 2 * * *"
      maxHistoricalResults: 3
      scanTemplate:
        scanType: node
        nodeScopeStrategy: auto

    ScanSuite с уведомлением по электронной почте

    apiVersion: compliance.security.alauda.io/v1alpha1
    kind: ScanSuite
    metadata:
      name: notify-scan-suite
      namespace: compliance-system
    spec:
      profiles:
        - stig-k8s-api-server
      maxHistoricalResults: 3
      scanTemplate:
        scanType: node
        nodeScopeStrategy: auto
      reportDelivery:
        email:
          enabled: true
          recipientsRef:
            name: compliance-mail-recipients

    Параметры ScanSuite

    В следующей таблице описаны параметры верхнего уровня ресурса ScanSuite:

    ПараметрТипОписание
    spec.profilesarrayСписок профилей, связанных с ScanSuite. Контроллер создаёт дочерние ресурсы Scan для этих профилей.
    spec.schedulestringНеобязательно. Настройка планового выполнения с использованием синтаксиса cron. Пример: "0 2 * * *" — ежедневное выполнение в 2 часа ночи. Если не задано, ScanSuite запускается только вручную.
    spec.pausedbooleanНеобязательно. Приостанавливает ScanSuite. Установите в true для временной остановки выполнения, и обратно в false для возобновления.
    spec.maxHistoricalResultsintНеобязательно. Количество сохраняемых исторических результатов для каждого дочернего Scan (по умолчанию: 5).
    spec.scanTemplateobjectНеобязательно. Шаблон, применяемый к дочерним ресурсам Scan, создаваемым ScanSuite.
    spec.reportDeliveryobjectНеобязательно. Конфигурация доставки сгенерированных отчётов. В настоящее время поддерживается доставка по электронной почте.

    Параметры шаблона сканирования

    В следующей таблице описаны параметры, доступные в spec.scanTemplate:

    ПараметрТипОбластьОписание
    spec.scanTemplate.scanTypestringk8s, osПоддерживает значения platform, node и all. В режиме platform система сканирует только ресурсы Kubernetes. В режиме node — только файлы узла.
    spec.scanTemplate.nodeScopeStrategystringk8sРежим выбора узлов для сканирования. Поддерживает auto и manual. В режиме auto узлы выбираются на основе определений области для конкретных правил. В режиме manual все правила выполняются на указанных узлах.
    spec.scanTemplate.targetNodeRolesarrayk8s, osНеобязательно. Ограничивает роли узлов. Допустимые значения: control-plane и worker. При настройке участвует в фильтрации узлов и пересекается с nodeScopeStrategy.
    spec.scanTemplate.nodeSelectorobjectk8s, osНеобязательно. Использует метки узлов для выбора. При настройке участвует в фильтрации узлов и пересекается с nodeScopeStrategy.

    Для ScanSuite поля выбора узлов и планирования настраиваются в spec.scanTemplate, а не напрямую в spec.

    См. Node Selection and Scheduling для описания общего поведения и ограничений, специфичных для профилей.

    Параметры доставки отчётов

    Если настроен spec.reportDelivery, для доставки по электронной почте используются следующие поля:

    ПараметрТипОписание
    spec.reportDelivery.email.enabledbooleanВключает доставку отчётов по электронной почте, сгенерированных ScanSuite.
    spec.reportDelivery.email.recipientsRef.namestringИмя ConfigMap, определяющего получателей электронной почты.

    Аннотации ScanSuite

    Следующая аннотация может использоваться для управления выполнением ScanSuite:

    АннотацияОбластьОписание
    compliance.security.alauda.io/force-suite: "true"k8s, osРучной запуск немедленного выполнения ScanSuite. Автоматически сбрасывается в false после завершения.

    Мониторинг выполнения ScanSuite

    Используйте ScanSuite для просмотра состояния пакетного ресурса и Scan для просмотра дочерних запусков, созданных из него.

    # Проверить статус ScanSuite
    kubectl get scansuite test-scan-suite -n compliance-system -o yaml
    
    # Проверить дочерние Scan, созданные ScanSuite
    kubectl get scan -n compliance-system -o wide