Установка Policy Reporter
Policy Reporter предназначен для работы с результатами срабатываний Kyverno-политик — PolicyReports. Также он поддерживает инструменты Falco, jsPolicy, Kube Bench и Trivy. Policy Reporter позволяет визуализировать результаты в графическом виде. Для долгосрочного хранения или дальнейшей загрузки в SIEM-систему результаты можно выгрузить во внешнее хранилище, например в Yandex Object Storage (S3) или Yandex Data Streams.
Важно
Чтобы использовать Policy Reporter, установите Kyverno или другой продукт, который поддерживает запись результатов в wg-policy-prototypes.
Перед началом работы
Для выгрузки результатов срабатываний политик настройте внешнее хранилище:
-
Object Storage:
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Создайте сервисный аккаунт с ролью
storage.uploader
. Он необходим для доступа к Object Storage. -
Создайте статический ключ доступа для сервисного аккаунта в формате JSON и сохраните его в файл
sa-key.json
:yc iam access-key create \ --service-account-name=<имя сервисного аккаунта> \ --format=json > sa-key.json
-
-
Data Streams:
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
- Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.
- В разделе Доступные для установки приложения выберите Policy Reporter и нажмите кнопку Использовать.
- Задайте настройки приложения:
- Пространство имен — выберите пространство имен для Policy Reporter или создайте новое.
- Название приложения — укажите название приложения.
- Идентификатор кластера — выберите кластер Managed Service for Kubernetes из списка.
- Установить Policy Reporter UI — включите опцию, чтобы установить компонент Policy Reporter UI для отображения результатов в графическом виде.
- Экспорт в Object Storage — включите опцию, чтобы экспортировать результаты в Object Storage. Также необходимо заполнить дополнительные поля:
- Имя бакета Object Storage — укажите имя бакета в Object Storage.
- Статический ключ для доступа к Object Storage — скопируйте содержимое файла
sa-key.json
или создайте новый ключ доступа для сервисного аккаунта. Сервисный аккаунт должен иметь рольstorage.uploader
.
- Экспорт в YDS — включите опцию, чтобы экспортировать результаты в Data Streams. При этом необходимо заполнить дополнительные поля:
- Endpoint YDS — укажите эндпоинт потока Data Streams.
- Имя YDS стрима — укажите имя потока Data Streams.
- Нажмите кнопку Установить.
- Дождитесь перехода приложения в статус
Deployed
.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm версии не ниже 3.7.0.
-
Установите kubectl и настройте его на работу с созданным кластером.
-
Для установки Helm-чарта с Policy Reporter выполните команду:
export HELM_EXPERIMENTAL_OCI=1 && \ helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/kyverno/chart/policy-reporter \ --version <версия Helm-чарта> \ --untar && \ helm upgrade --install \ --namespace <пространство имен> \ --create-namespace \ --set clusterId=<идентификатор кластера> \ --set ui.enabled=<включение Policy Reporter UI: true или false> \ --set target.s3.enabled=<экспорт в Object Storage: true или false> \ --set target.s3.bucket=<имя бакета Object Storage> \ --set-file serviceaccountawskeyvalue=<путь к файлу со статическим ключом сервисного аккаунта> \ --set target.kinesis.enabled=<экспорт в Data Streams: true или false> \ --set target.kinesis.endpoint=<эндпоинт потока Data Streams> \ --set target.kinesis.streamName=<имя потока Data Streams> \ policy-reporter ./policy-reporter
Актуальную версию Helm-чарта можно посмотреть на странице приложения.
Параметры
target.s3.bucket
иserviceaccountawskeyvalue
необходимы только при включенном экспорте в Object Storagetarget.s3.enabled=true
, аtarget.kinesis.endpoint
иtarget.kinesis.streamName
— при включенном экспорте в Data Streamstarget.kinesis.enabled=true
.