1.3 KiB
1.3 KiB
함수 명세: compileDdsPublishPlan (#617)
상태: Draft · 분류: 복잡 — 권한 컴파일·DDL diff·안전 검증
책임
DDS 백오피스의 보호 객체, 접근 역할, 테이블 세부 권한, 사용자/그룹 할당을 실행 가능한 DDS DDL diff로 바꾼다.
시그니처
DdsAuthorizationDraft -> DdsPublishPlan
규칙
- 그룹을 포함해 역할별 유효 사용자를 계산한다.
CB_APP_USER.userId마다 ASCIIDDS_U_<id>END USER 이름을 결정한다.- 접근 역할마다 하나의 stable DATA ROLE 이름을 결정한다.
- 사용자·역할·객체·세부 권한의 현재 게시 상태와 목표 상태를 비교한다.
- 생성/교체/회수 DDL과 예상 영향 사용자·객체를 계산한다.
- 행 조건 DSL은 whitelist 기반 compiler만 사용한다. raw SQL은 거부한다.
DENY또는 지원하지 않는 권한 조합은 plan 생성 단계에서 오류로 끝낸다.
출력
- END USER 생성/활성화/비활성화 목록
- DATA ROLE 생성/역할 부여/회수 목록
- DATA GRANT 생성·교체·삭제 목록
- 예상 영향 사용자·객체·컬럼 matrix
- 이전/목표 fingerprint와 승인 대상 diff
실패
충돌, 비활성 객체, DSL 오류, DENY 규칙, 이름 충돌은 게시 전에 차단한다.