docs: clarify independent VPD and DDS demos
This commit is contained in:
@@ -1,15 +1,22 @@
|
||||
# DDS Permission Console
|
||||
|
||||
`dds-backoffice`는 기존 VPD 백오피스와 코드·프로세스·포트를 분리한 Deep Data Security 전용 인스턴스입니다.
|
||||
`dds-backoffice`는 기존 VPD 데모와 코드·프로세스·포트·보호 객체를 분리한 Deep Data Security 전용 데모입니다.
|
||||
|
||||
- 기본 포트: `8083`
|
||||
- 기본 화면: `/` 또는 `/dds`
|
||||
- 기본 보호 객체: `ADMIN.V_DDS_CUSTOMERS_PG`, `ADMIN.V_DDS_CUSTOMERS_MY`
|
||||
- 조회 방식: 선택한 DDS `END USER` 자격으로 직접 Oracle JDBC 연결
|
||||
|
||||
## VPD 인스턴스와의 차이
|
||||
## 두 데모의 관계
|
||||
|
||||
VPD 인스턴스는 공통 DB 계정으로 접속한 뒤 Bearer 사용자와 권한 테이블을 세션 컨텍스트에 저장하고 VPD 함수가 조건을 계산합니다. 이 앱은 그 경로를 재사용하지 않습니다.
|
||||
VPD와 DDS는 같은 접근 결과를 비교하기 위한 별도 데모입니다. VPD 인스턴스는 공통 DB 계정으로 접속한 뒤 Bearer 사용자와 권한 테이블을 세션 컨텍스트에 저장하고 VPD 함수가 조건을 계산합니다. 이 앱은 그 경로와 VPD 객체를 재사용하지 않습니다.
|
||||
|
||||
| 데모 | 사용자 식별 | 정책 표현 | 권한 변경 |
|
||||
|---|---|---|---|
|
||||
| VPD | 공통 계정 + Bearer/세션 컨텍스트 | 동적 predicate 함수 | 업무 권한 테이블 |
|
||||
| DDS | DDS `END USER` 또는 보안 컨텍스트 | `DATA ROLE` + `DATA GRANT` | 선언형 DDL/Grant |
|
||||
|
||||
따라서 DDS는 행·컬럼·작업 제한이라는 결과는 만들 수 있지만, VPD의 Bearer 기반 동적 predicate 실행 모델과 동일한 대체재는 아닙니다.
|
||||
|
||||
이 앱의 조회 경계는 다음과 같습니다.
|
||||
|
||||
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
<main class="container py-4">
|
||||
<header class="hero">
|
||||
<span class="eyebrow">DEEP DATA SECURITY · DIRECT END USER</span>
|
||||
<h1>선언형 데이터 권한을 실제 조회로 확인합니다.</h1>
|
||||
<p class="lead">VPD 트랙과 분리된 DDS 전용 인스턴스입니다. 선택한 END USER로 직접 접속해 Oracle의 DATA ROLE과 DATA GRANT가 적용된 결과를 보여줍니다.</p>
|
||||
<span class="eyebrow">DEEP DATA SECURITY · INDEPENDENT DEMO</span>
|
||||
<h1>같은 접근 결과를 다른 보안 모델로 확인합니다.</h1>
|
||||
<p class="lead">이 화면은 VPD 데모와 별도로 실행되는 DDS 전용 데모입니다. 선택한 END USER로 직접 접속해 Oracle의 DATA ROLE과 DATA GRANT가 적용된 결과를 보여줍니다.</p>
|
||||
<details class="explanation">
|
||||
<summary>이 화면의 보안 경계</summary>
|
||||
<p>이 인스턴스는 VPD 권한 테이블을 읽어 조건을 계산하지 않습니다. <code>END USER → DATA ROLE → DATA GRANT → 보호 VIEW</code>가 전부 Oracle DDS에 선언되어 있고, 조회 결과는 그 선언의 적용 결과입니다.</p>
|
||||
<p class="mb-0">Bearer 키를 ORDS Handler에서 사용자 이름으로 바꾸는 것만으로는 DDS 보안 컨텍스트가 만들어지지 않습니다. 그래서 이 비교 트랙은 직접 END USER logon을 검증합니다.</p>
|
||||
<p class="mb-0">두 데모는 같은 접근 매트릭스를 비교하지만 실행 모델은 다릅니다. VPD는 공통 계정·Bearer·동적 predicate를 사용하고, DDS는 직접 END USER와 선언형 DATA GRANT를 사용합니다. Bearer 키를 ORDS Handler에서 사용자 이름으로 바꾸는 것만으로는 DDS 보안 컨텍스트가 만들어지지 않습니다.</p>
|
||||
</details>
|
||||
</header>
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<div>
|
||||
<span class="eyebrow">2 · EXPECTED MATRIX</span>
|
||||
<h2>원본별 권한 매트릭스</h2>
|
||||
<p>VPD와 같은 4가지 업무 사례를 DDS의 선언형 권한으로 재현합니다.</p>
|
||||
<p>VPD 데모와 같은 결과를 별도 데이터·권한 객체에서 DDS 선언형 모델로 비교합니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="matrix-grid">
|
||||
|
||||
Reference in New Issue
Block a user