Integration Overview¶
DADP는 동일한 실행면을 세 가지 공식 연동 경계로 제공한다. 공개 문서에서 연동 문서를 분리하는 이유는 기능 차이가 아니라 개입 위치와 운영 책임이 다르기 때문이다.
공식 연동 경로¶
| 경로 | 개입 위치 | 적합한 상황 | 운영자가 집중할 대상 |
|---|---|---|---|
| Wrapper | 애플리케이션 JDBC 경계 | 기존 애플리케이션 SQL 경로를 최소 수정으로 보호 | 인스턴스 등록, 스키마 수집, 로컬 메타데이터 갱신 |
| Direct API | 애플리케이션 서비스 코드 | 코드에서 암복호화 시점과 호출 범위를 명시적으로 제어 | 요청 본문 계약, 호출 시점, 애플리케이션 오류 처리 |
| DB UDF | 데이터베이스 SQL 경계 | 함수, 프로시저, 패키지, 배치 SQL에서 직접 보호 | DB 오브젝트 상태, ACL, DB-Engine 네트워크 |
공통 실행 모델¶
세 경로는 모두 최종적으로 Engine 실행면에 도달한다.
- 연동 경로가 실행 시점과 호출 주체를 결정한다.
- 필요한 정책 또는 매핑 정보를 조회하거나 보유 중인 사본을 사용한다.
- Engine에 실행 요청을 전달한다.
- 결과를 원래 실행 경계로 되돌린다.
따라서 결과만 보면 같은 암복호화 기능처럼 보이지만, 진단 순서는 연동 경계에 따라 달라진다.
연동 경로 선택 기준¶
Wrapper를 선택하는 경우¶
- 애플리케이션 코드 수정량을 최소화해야 할 때
- JDBC 경계에서 일관된 보호를 적용하고 싶을 때
- 운영팀이 애플리케이션별 인스턴스와 스키마 매핑을 중앙에서 관리하려 할 때
Direct API를 선택하는 경우¶
- 암복호화 호출 시점을 코드에서 명확히 제어해야 할 때
- 동일 애플리케이션 안에서 데이터 범위별로 다른 호출 정책을 적용해야 할 때
- 애플리케이션 팀이 요청 본문과 오류 처리 계약을 직접 관리할 수 있을 때
DB UDF를 선택하는 경우¶
- 보호 로직이 데이터베이스 내부 절차에 있어야 할 때
- 배치 SQL, 함수, 패키지, 트리거에서 직접 암복호화가 필요할 때
- 애플리케이션이 아니라 DB 계층에서 보호를 강제해야 할 때
운영 관점의 차이¶
- Wrapper 문제는 보통 등록, 수집, 매핑, 로컬 스냅샷 갱신 문제로 나뉜다.
- Direct API 문제는 호출 시점, 요청 본문, 애플리케이션 오류 처리와 더 자주 연결된다.
- DB UDF 문제는 설치 오브젝트, DB 권한, 네트워크 허용 상태와 더 자주 연결된다.
운영자는 같은 암복호화 실패라도 먼저 어느 연동 경계에서 증상이 시작되는지 확인해야 한다. 그 다음에야 제어면 문제인지, 실행면 문제인지, 연동 경계 문제인지 정확히 분리할 수 있다.