19 Commits

Author SHA1 Message Date
devmrko
e9d50e6a32 refs #741 #742: reorganize repository by application 2026-08-03 10:20:36 +09:00
devmrko
e18b30feab Consolidate data access control backoffice updates 2026-07-13 23:07:09 +09:00
devmrko
f3eddd692c [QA] add Korean RBAC MCP scenario log runner 2026-07-07 17:59:49 +09:00
devmrko
ef1331be4b [Developer] #617 apply DDS MCP end-user authorization 2026-07-02 09:34:58 +09:00
devmrko
b72e860ba2 ops: reduce DDS JVM heap 2026-06-30 20:58:57 +09:00
devmrko
3bd3933852 ops: cap DDS JVM memory 2026-06-30 20:57:53 +09:00
devmrko
22a7eda219 feat: record DDS protection evidence 2026-06-30 20:56:52 +09:00
devmrko
1766696ab4 feat: add DDS protection status dashboard 2026-06-30 20:31:31 +09:00
devmrko
a5e70bcff1 feat: enforce DDS token access through common grants 2026-06-30 13:20:00 +09:00
devmrko
1e48864bce feat: publish application permissions to DDS grants 2026-06-30 07:51:36 +09:00
devmrko
2e4bcef44f feat: align DDS with common permission and vector flow 2026-06-29 23:50:42 +09:00
devmrko
c4968a0313 feat: add dedicated DDS permission backoffice instance 2026-06-29 21:19:48 +09:00
devmrko
95be60dd2e fix #558: stabilize deployment and role rendering 2026-06-29 17:18:21 +09:00
devmrko
8dc77f87ab fix #547: secure VM deployment behind HTTPS proxy 2026-06-28 23:03:32 +09:00
devmrko
e63b3af653 fix #546: add hermes VM deployment script 2026-06-28 21:12:25 +09:00
devmrko
1869fe46a6 ops #460: add SQLcl environment check runbook 2026-06-25 21:45:41 +09:00
devmrko
ab190bf6fa test #459: document edge scenarios and invalid token smoke 2026-06-25 21:43:09 +09:00
devmrko
76227552d7 test #458: automate ORDS VPD regression matrix 2026-06-25 21:40:10 +09:00
devmrko
68d53dc5a9 Initial commit — VPD Permission POC (clone-and-go)
ADB-centered row-level access control across heterogeneous DB sources
(AWS RDS Postgres + MySQL) using Oracle VPD + Data Redaction +
Secure Application Context, packaged as a one-click demo.

Mechanism:
- LOGON trigger calls ctx_pkg.init once per session to load the user's
  allowed regions from the permission mapping tables into a Secure App
  Context (VPD_CTX, USING ctx_pkg).
- VPD policy function vpd_region_filter reads SYS_CONTEXT and returns
  an IN-list predicate (or '1=0' for fail-closed, NULL for '*'),
  which Oracle injects into every SELECT on the protected views.
- Data Redaction reuses the same context to mask PII (email, full_name)
  when the allowed-regions value is not '*'.
- 5 documented bypass attempts (direct DB link SELECT, SET_CONTEXT
  spoof, DBMS_RLS drop, mapping table SELECT) all blocked by GRANT
  scoping + DEFINER rights on ctx_pkg.

One-click entrypoint:
- ./run.sh {prereq|source|adb|tests|audit|all|teardown}
- Source DDL (Postgres + MySQL customers + 12-row seed each) is
  applied via local psql/mysql; ADB-side setup via sqlplus with .env
  values injected as SQL*Plus DEFINE substitutions.

Verified E2E on ADB 26ai + AWS RDS PG + RDS MySQL (mysql_community
gateway) on 2026-05-26: VPDUSER_A sees only APAC rows (PG 2 / MySQL 6,
PII masked), VPDUSER_B sees all (PG 12 / MySQL 17, PII unmasked).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-26 14:03:32 +09:00