1.4 KiB
1.4 KiB
함수 명세: compileDdsPublishPlan (#617)
상태: Superseded by runtime authorization provisioning · 기존 사용자별 publish PoC 설명
책임
DDS 백오피스의 보호 Object·CRUD·컬럼 그룹 메타데이터를 실행 가능한 장기 DDS DDL diff로 바꾼다. 사용자·그룹·역할·퍼미션 값은 런타임 권한 함수가 평가하므로 이 계획이 사용자별 Grant를 만들지 않는다.
시그니처
DdsAuthorizationDraft -> DdsPublishPlan
규칙
- Object/CRUD/컬럼 그룹별 고정 DATA GRANT 이름과 컬럼 목록을 결정한다.
- 각 Grant predicate가
ORA_END_USER_CONTEXT.username과 whitelist 상수를can_access에 전달하도록 생성한다. DDS_MCP_RUNTIMEDATA ROLE과 local END USER provisioning 상태를 비교한다.- Object·컬럼·CRUD 메타데이터 변경만 DDL diff로 계산한다.
- 사용자·그룹·역할·퍼미션 값 변경은 DDL diff에 포함하지 않는다.
- raw SQL과 caller 제공 identifier는 거부한다.
출력
- 신규 END USER provisioning 및 공통 DATA ROLE 부여 목록
- Object/CRUD/컬럼 그룹별 DATA GRANT 생성·교체·삭제 목록
- 권한 함수/권한 테이블 prerequisite와 예상 영향 Object·컬럼 matrix
- 이전/목표 fingerprint와 승인 대상 diff
실패
충돌, 비활성 객체, DSL 오류, DENY 규칙, 이름 충돌은 게시 전에 차단한다.