1.8 KiB
1.8 KiB
DLP Policy Engine
Purpose
aw-server/dlp-policy-engine is the centralized policy lifecycle service for AWatch-rus endpoints.
It supports:
- full CRUD for policy documents;
- policy versioning in SQLite;
- approval workflow (
draft -> pending_approval -> approved -> deployed); - audit trail for every policy mutation;
- agent push/pull coordination (
heartbeat+desiredrefresh hint).
Base URL
http://<aw-server>:5601
REST API
Health:
GET /healthz
CRUD:
GET /api/0/dlp/policiesPOST /api/0/dlp/policiesGET /api/0/dlp/policies/{id}PUT /api/0/dlp/policies/{id}DELETE /api/0/dlp/policies/{id}
Active policy:
GET /api/0/dlp/policies/activeGET /api/0/dlp/policies/active/versionPOST /api/0/dlp/policies/rollback
Approval workflow:
POST /api/0/dlp/policies/{id}/submit->pending_approvalPOST /api/0/dlp/policies/{id}/approve->approvedPOST /api/0/dlp/policies/{id}/draft->draftPOST /api/0/dlp/policies/{id}/activate-> deploy (allowed only fromapproved)
Audit:
GET /api/0/dlp/policies/audit?limit=200GET /api/0/dlp/policies/{id}/audit?limit=200
Agent push/pull sync:
POST /api/0/dlp/policies/agents/{agent_id}/heartbeatGET /api/0/dlp/policies/agents/{agent_id}/desired
Workflow Example
- Create draft:
POST /api/0/dlp/policies - Submit:
POST /api/0/dlp/policies/{id}/submit - Approve:
POST /api/0/dlp/policies/{id}/approve - Deploy:
POST /api/0/dlp/policies/{id}/activate
Every step is written to policy_audit.
Deployment
- Service unit:
aw-dlp-policy-engine.service - DB path:
AW_DLP_POLICY_ENGINE_DB_PATH - Port:
AW_DLP_POLICY_ENGINE_PORT(default5601) - Ansible role:
ansible/roles/dlp-policy-engine/tasks/main.yml
Recommended server deploy:
ansible-playbook -i ansible/inventory.ini ansible/deploy_aw_server.yml