Engine API
Engine API는 DADP 런타임 실행 경계다. Direct API 호출, Wrapper 실행, DB UDF 실행은 모두 최종적으로 Engine API를 사용한다. 동시에 Hub는 별도의 캐시 동기화 API를 통해 Engine 런타임 상태를 갱신한다.
API 구분
| 구분 |
대표 경로 |
호출 주체 |
목적 |
| 실행 API |
/api/* |
Direct API, Wrapper, DB UDF |
암호화, 복호화, 헬스 점검 |
| 캐시 동기화 API |
/engine/api/v1/cache/* |
Hub |
정책, 키, 마스킹 정책, 버전 동기화 |
대표 실행 경로
| 경로 |
메서드 |
역할 |
/api/health |
GET |
런타임 가용성 점검 |
/api/encrypt |
POST |
단건 암호화 |
/api/decrypt |
POST |
단건 복호화 |
/api/encrypt/batch |
POST |
배치 암호화 |
/api/decrypt/batch |
POST |
배치 복호화 |
/api/encrypt/stream |
POST |
스트림 암호화 |
/api/decrypt/stream |
POST |
스트림 복호화 |
대표 캐시 동기화 경로
| 경로 |
메서드 |
역할 |
/engine/api/v1/cache/policies/sync |
POST |
정책 증분 동기화 |
/engine/api/v1/cache/policies/sync-all |
POST |
정책 전체 동기화 |
/engine/api/v1/cache/keys/sync |
POST |
키 증분 동기화 |
/engine/api/v1/cache/keys/sync-all |
POST |
키 전체 동기화 |
/engine/api/v1/cache/mask-policies/sync |
POST |
마스킹 정책 증분 동기화 |
/engine/api/v1/cache/mask-policies/sync-all |
POST |
마스킹 정책 전체 동기화 |
/engine/api/v1/cache/status |
GET |
현재 캐시 상태 조회 |
/engine/api/v1/cache/version |
GET |
캐시 버전 조회 |
/engine/api/v1/cache/sync-check |
GET |
버전 비교 기반 동기화 필요 여부 확인 |
단건 호출 계약
단건 암호화 요청 예시
{
"data": "DADP_TEST",
"policyName": "sample"
}
단건 복호화 요청 예시
{
"data": "<encrypted-data>"
}
구현에 따라 복호화 요청은 encryptedData 필드도 수용할 수 있다. 공개 문서에서는 운영자가 가장 단순한 표준 본문부터 사용하는 것을 권장한다.
배치 및 전송 형식
| 모드 |
Content-Type |
설명 |
| 단건 JSON |
application/json |
단건 암복호화 |
| 배치 JSON |
application/json |
items[] 기반 배치 처리 |
| 스트림 |
application/x-ndjson |
연속 스트림 처리 |
| 바이너리 프레임 |
application/x-dadp-binary-frame |
고성능 배치 전송 |
운영 해석
- Engine은 정책 원본을 소유하지 않는다.
- Engine은 Hub에서 배포된 런타임 캐시를 기준으로 실행한다.
sync-check와 캐시 버전 상태는 단순 프로세스 생존 여부보다 더 중요한 운영 신호다.
- 실행 실패와 캐시 미동기화는 구분해서 진단해야 한다.