Установка Policy Reporter
Policy Reporter
Важно
Чтобы использовать Policy Reporter, установите Kyverno или другой продукт, который поддерживает запись результатов в wg-policy-prototypes
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра
--folder-name
или--folder-id
. -
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
Для выгрузки результатов срабатываний политик настройте внешнее хранилище:
-
Object Storage
-
Создайте сервисный аккаунт с ролью
storage.uploader
. Он необходим для доступа к Object Storage. -
Создайте статический ключ доступа для сервисного аккаунта в формате JSON и сохраните его в файл
sa-key.json
:yc iam access-key create \ --service-account-name=<имя_сервисного_аккаунта> \ --format=json > sa-key.json
-
Создайте бакет с ограниченным доступом в Object Storage.
-
-
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.8.0. -
Установите kubectl
и настройте его на работу с созданным кластером. -
Для установки Helm-чарта
с Policy Reporter выполните команду:helm pull oci://cr.yandex/yc-marketplace/policy-reporter \ --version 2.13.11 \ --untar && \ helm upgrade --install \ --namespace <пространство_имен> \ --create-namespace \ --set clusterId=<идентификатор_кластера> \ --set ui.enabled=<включение_Policy_Reporter_UI> \ --set target.s3.enabled=<экспорт_в_Object_Storage> \ --set target.s3.bucket=<имя_бакета_Object_Storage> \ --set-file serviceaccountawskeyvalue=<путь_к_файлу_со_статическим_ключом_сервисного_аккаунта> \ --set target.kinesis.enabled=<экспорт_в_Data_Streams> \ --set target.kinesis.endpoint=<эндпоинт_потока_Data_Streams> \ --set target.kinesis.streamName=<имя_потока_Data_Streams> \ policy-reporter ./policy-reporter/
Примечание
Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку
export HELM_EXPERIMENTAL_OCI=1 && \
, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm.Параметры команды:
ui.enabled
— включение Policy Reporter UI. Возможные значения:true
илиfalse
.target.s3.enabled
— экспорт в Object Storage. Возможные значения:true
илиfalse
.target.kinesis.enabled
— экспорт в Data Streams. Возможные значения:true
илиfalse
.
Параметры
target.s3.bucket
иserviceaccountawskeyvalue
необходимы только при включенном экспорте в Object Storagetarget.s3.enabled=true
, аtarget.kinesis.endpoint
иtarget.kinesis.streamName
— при включенном экспорте в Data Streamstarget.kinesis.enabled=true
.
Проверка работы приложения
- Настройте в кластере Managed Service for Kubernetes приложение Kyverno & Kyverno Policies и создайте тестовую политику согласно инструкции.
- Подключитесь к Policy Reporter UI
для анализа и визуализации PolicyReports или убедитесь, что данные поступают в Object Storage или Data Streams.
Примеры использования
- Настройка Kyverno & Kyverno Policies
- Подпись и проверка Docker-образов Yandex Container Registry в Managed Service for Kubernetes