Перейти к содержанию

Политики

Раздел Политики — управление правилами безопасности на языке Rego, исполняемыми через Open Policy Agent (OPA).

Маршрут: /policies

Список политик

Колонка Описание
Название Имя политики
Шаблон Базовый Rego-шаблон
Статус active / inactive
Приоритет Порядок применения (выше = раньше)
Обновлена Дата последнего изменения

Шаблоны Rego

AegisAI поставляется с пятью встроенными модулями:

Шаблон Описание Применение
gdpr.rego GDPR Персональные данные граждан ЕС
hipaa.rego HIPAA Медицинские данные (PHI)
fz152.rego ФЗ-152 Локализация данных в РФ
hitl.rego HITL Критические операции
custom.rego Custom Произвольные правила

Просмотр шаблонов

curl http://localhost:8000/api/v1/policies/templates \
  -H "X-API-Key: <key>"

Создание политики

  1. Нажмите Create Policy
  2. Выберите шаблон или начните с пустого Rego
  3. Задайте название и описание
  4. Отредактируйте Rego-код в редакторе
  5. Нажмите Save

Маршрут редактора: /policies/:id

Пример пользовательской политики

package aegisai.custom

import rego.v1

default allow := false

allow if {
    input.action == "read_data"
    input.context.consent == true
}

deny[msg] if {
    input.action == "delete_data"
    not input.context.approved
    msg := "Deletion requires explicit approval"
}

Проверка политики

Перед применением протестируйте политику через API:

curl -X POST http://localhost:8000/api/v1/policies/check \
  -H "X-API-Key: <key>" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "<uuid>",
    "action": "read_data",
    "resource": "customer_pii",
    "context": {"purpose": "analytics", "consent": true}
  }'

Ответ:

{
  "allowed": true,
  "required_approval": false,
  "risk_score": 0.15,
  "risk": "low",
  "anomaly": false,
  "reason": "Access granted"
}
Поле Описание
allowed Разрешено ли действие
required_approval Требуется ли HITL-согласование
risk_score Оценка риска (0.0–1.0)
risk Уровень: low, medium, high, critical
anomaly Обнаружена ли аномалия
reason Текстовое обоснование решения

Управление политиками

Действие Роль API
Создать Admin+ POST /api/v1/policies
Просмотреть Developer+ GET /api/v1/policies
Редактировать Admin+ PUT /api/v1/policies/{id}
Удалить Admin+ DELETE /api/v1/policies/{id}

OPA синхронизация

После сохранения политика автоматически загружается в OPA. При ошибке загрузки проверьте синтаксис Rego и логи контейнера opa.

Приоритеты

При конфликте правил применяется политика с более высоким приоритетом. Агрегатор main.rego объединяет решения всех активных модулей по принципу «все должны разрешить» (deny-by-default).