Политики¶
Раздел Политики — управление правилами безопасности на языке 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 | Произвольные правила |
Создание политики¶
- Нажмите Create Policy
- Выберите шаблон или начните с пустого Rego
- Задайте название и описание
- Отредактируйте Rego-код в редакторе
- Нажмите 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).