• Русский
  • Экспорт отчетов о соответствии

    Compliance Service экспортирует отчеты в формате ZIP, включая файлы HTML, CSV, Excel и метаданные.

    Экспорт отчетов для Scan

    Экспорт последнего отчета Scan

    # Экспорт последнего Scan ZIP
    NS=compliance-system
    SCAN=os-scan
    
    kubectl create --raw "/apis/reports.compliance.security.alauda.io/v1alpha1/scans/${NS}/${SCAN}/export/zip" -f - <<< '{}' > ${SCAN}.zip

    ZIP-файл Scan содержит:

    • report.html — несколько вкладок: Overview, Rule Summary и каждый узел
    • report.xls — несколько листов
    • report.csv — сегментированные данные
    • metadata.txt — ScanID, критерии фильтрации и статистика

    Экспорт исторического отчета Scan

    # Получить историю Scan scanID
    kubectl get scan -n compliance-system os-scan -o yaml | grep scanID
    
    # Экспорт исторического отчета Scan по scanID
    NS=compliance-system
    SCAN=os-scan
    SCANID=be4637ee-8d06-4aaf-9f5b-ca315475599d
    
    kubectl create --raw "/apis/reports.compliance.security.alauda.io/v1alpha1/scans/${NS}/${SCAN}/export/zip?scanID=${SCANID}" -f - <<< '{}' > ${SCAN}-${SCANID}.zip

    Экспорт отчетов для ScanSuite

    Экспорт последнего отчета ScanSuite

    # Экспорт последнего ScanSuite ZIP
    NS=compliance-system
    SUITE=test-scan
    
    kubectl create --raw "/apis/reports.compliance.security.alauda.io/v1alpha1/scansuites/${NS}/${SUITE}/export/zip" -f - <<< '{}' > ${SUITE}.zip

    ZIP-файл ScanSuite содержит агрегированные CSV и Excel файлы, метаданные и каждый дочерний отчет Scan.

    Экспорт исторического отчета ScanSuite

    # Получить историю ScanSuite runID
    kubectl get scansuite -n compliance-system test-scan -o yaml | grep runID
    
    # Экспорт исторического отчета ScanSuite по runID
    NS=compliance-system
    SUITE=test-scan
    RUNID=20260106-035650-004246
    
    kubectl create --raw "/apis/reports.compliance.security.alauda.io/v1alpha1/scansuites/${NS}/${SUITE}/export/zip?runID=${RUNID}" -f - <<< '{}' > ${SUITE}-${RUNID}.zip

    Экспорт отчетов с помощью CURL

    Вы также можете экспортировать отчеты с помощью CURL с аутентификацией по bearer token.

    Экспорт отчета Scan с помощью CURL

    APISERVER="https://<platform-address>/kubernetes/<cluster-name>"
    TOKEN="<Bearer_token>"
    NS=compliance-system
    SCAN=os-scan
    SCANID=be4637ee-8d06-4aaf-9f5b-ca315475599d
    
    curl -k -X POST \
      -H "Authorization: Bearer ${TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{}' \
      --output "${SCAN}-${SCANID}.zip" \
      "${APISERVER}/apis/reports.compliance.security.alauda.io/v1alpha1/scans/${NS}/${SCAN}/export/zip?scanID=${SCANID}"

    Экспорт отчета ScanSuite с помощью CURL

    APISERVER="https://<platform-address>/kubernetes/<cluster-name>"
    TOKEN="<Bearer_token>"
    NS=compliance-system
    SUITE=test-scan
    
    curl -k -X POST \
      -H "Authorization: Bearer ${TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{}' \
      --output "${SUITE}.zip" \
      "${APISERVER}/apis/reports.compliance.security.alauda.io/v1alpha1/scansuites/${NS}/${SUITE}/export/zip"

    Примечание:

    • Параметр -d '{}' обязателен, так как API ожидает тело POST-запроса.
    • Используйте --output <file>, чтобы сохранить бинарный ZIP и избежать вывода в терминал.