1.7 KiB
1.7 KiB
HMM MCP VPD 아키텍처
권한 흐름
포털 사용자 preset
→ 사용자별 Bearer token
→ token hash로 EMPLOYEE_ID 식별
→ HMM_ACCESS_CTX.EMPLOYEE_ID 설정
→ Select AI가 만든 SELECT를 CB_ORDS에서 실행
→ HMM_CARRIER_ASSIGNMENTS_V VPD
├─ VIEWER: 본인 EMPLOYEE_ID
└─ MANAGER: 본인과 직속 팀원 EMPLOYEE_ID
→ 허용된 CARRIER_CODE만 원격 선사 실적과 조인
→ HTML renderer
선사 조회의 자연어 처리와 CARRIER_CODE 조인은 기존 Select AI 프로필을 유지한다. 권한 조건을
질문이나 고정 SQL에 넣지 않고 Oracle VPD가 세션 사용자 ID로 자동 적용한다.
신뢰 경계
- 화면에 표시된 사용자 코드는 권한 근거가 아니다. 선택 preset의 전용 Bearer token이 근거다.
- 토큰 원문은 서버 환경에만 저장하고 DB에는 SHA-256 hash만 저장한다.
ADMIN은EXEMPT ACCESS POLICY가 있으므로 SQL 생성만 수행한다.- 실제 SELECT는 비면제 계정
CB_ORDS가 같은 요청의 VPD context를 설정한 뒤 실행한다. - renderer는 이미 필터링된 행만 표현하며 사용자나 권한을 다시 판단하지 않는다.
선사 VPD 규칙
보호 객체는 ADMIN.HMM_CARRIER_ASSIGNMENTS_V, 기준 컬럼은 EMPLOYEE_ID다.
| 역할 | 규칙 | 적용 범위 |
|---|---|---|
HMM_HR_VIEWER |
SELF |
현재 인증 사용자 |
HMM_HR_MANAGER |
MANAGED_TEAM |
현재 사용자와 직속 팀원 |
HMM_HR_ADMIN |
ALL |
명시적 관리자 전체 |
컨텍스트, 활성 역할 또는 허용 규칙이 없으면 1=0으로 차단한다.