콘텐츠로 이동

Control Plane and Data Plane

DADP는 정책 관리와 암복호화 실행을 같은 계층에 두지 않는다. 제어면은 무엇을 보호할지와 어떤 정책을 적용할지 결정하고, 데이터면은 그 결정을 실제 요청에 적용한다.

제어면

제어면의 중심은 Hub다. Hub는 다음 책임을 가진다.

  • 정책 정의와 버전 관리
  • 키 메타데이터 관리
  • 연동 인스턴스 등록
  • 스키마와 정책 매핑 관리
  • 운영 상태와 모니터링 관점의 제어
영역 주요 컴포넌트 책임
고객 제어면 Hub 정책, 메타데이터, 매핑, 운영 상태

데이터면

데이터면의 중심은 Engine이다. 다만 현재 구현에서는 Wrapper가 일부 경로에서 선택적으로 로컬 암복호화 실행을 수행할 수 있으므로, 데이터면은 "Engine 단일 실행면"이 아니라 "Engine 중심 실행면 + 선택적 edge 실행면"으로 보는 편이 더 정확하다.

Engine은 다음 책임을 가진다.

  • 단건, 배치, 스트림 암복호화 실행
  • 동기화된 정책과 키 메타데이터 적용
  • 런타임 캐시 유지
  • 실행 이벤트와 관측 데이터 생성

Aggregator는 선택적으로 데이터면의 관측 결과를 장기 조회 가능한 형태로 정리한다.

컴포넌트 책임
Engine 암복호화 실행과 런타임 캐시 사용
Wrapper local crypto 지원 범위에 한해 애플리케이션 호스트에서 암복호화 실행
Aggregator 선택적 통계와 분석 조회

연동 경계

연동 경계는 애플리케이션 또는 데이터베이스 실행 흐름을 Engine으로 연결한다.

경로 개입 위치 특징
Wrapper 애플리케이션 JDBC 경계 SQL 경로를 투명하게 보호
Direct API 애플리케이션 서비스 경계 코드에서 명시적으로 암복호화 호출
DB UDF 데이터베이스 SQL 경계 함수, 패키지, 트리거, 배치 SQL에 통합

Wrapper local crypto 경계

Wrapper는 기본적으로 Hub에서 정책과 메타데이터를 동기화한 뒤 Engine으로 런타임 실행을 요청한다. 그러나 현재 구현에서는 cryptoMode=local opt-in을 통해 일부 보호 경로를 Wrapper 호스트에서 직접 실행할 수 있다.

이 경로는 다음 특성을 가진다.

  • 기본 동작은 여전히 remote Engine 실행이다.
  • local crypto는 지원된 provider와 algorithm 조합에서만 사용된다.
  • 지원되지 않는 조합이나 일부 기능 경로는 Engine 원격 실행으로 fallback된다.
  • 제어면 원본은 여전히 Hub에 있고, Wrapper는 실행에 필요한 상태 사본만 유지한다.

즉, Wrapper local crypto는 제어면을 분산시키는 기능이 아니라, 제어면은 중앙에 유지한 채 실행 위치를 일부 edge로 확장하는 구조다.

운영 해석 규칙

  1. 제어면은 정책 원본을 가진다.
  2. 데이터면의 기본 실행 주체는 Engine이지만, Wrapper local crypto가 활성화된 경로에서는 Wrapper가 제한된 실행 책임을 가진다.
  3. 연동 경계는 실행을 시작하지만, 어떤 경로가 실제 실행 주체였는지 구분해서 봐야 한다.

실제 장애가 발생하면 먼저 어느 계층이 실패했는지 구분해야 한다.

  • 정책 정의가 잘못되었는가
  • 동기화가 지연되었는가
  • Engine 원격 실행이 실패했는가
  • Wrapper local crypto 경로가 fallback 없이 실패했는가
  • 특정 연동 경로만 깨졌는가

이 네 범주를 분리하지 않으면 진단과 복구가 모두 느려진다.