Requirements & Solution Design

Data Access Governance — Oracle Database + Oracle Forms (ODS)

Data Access Governance — Requirements & Solution Design

This document defines the requirements, user stories, functional and non-functional specifications, and acceptance criteria for the central Data Access Governance repository. The solution consolidates user access information across core systems, stores screen-level data classifications, and provides searchable visibility for governance, audit, and compliance users.

Platform: Oracle Database + Oracle Forms (ODS)Load: One-time initial import + Daily ETL syncClassification source: Data Governance team (Excel)

1. Executive Summary

The project will create a central Data Access Governance repository to consolidate user access information across core systems, store screen-level data classifications, and provide searchable visibility for governance, audit, and compliance users. The solution will be built using Oracle Database and Oracle Forms (ODS).

  • Initial access data will be loaded once from each source system using agreed Excel / extract templates.
  • Daily ETL jobs will refresh users, accounts, roles, privileges, and mapping data from source systems.
  • Data Governance will provide one-time classification spreadsheets per system containing screen name and classification.
  • After the initial load, classification records will be added or updated directly in the Oracle Forms maintenance screen.
  • The search screen will allow users to find who has access to classified screens by employee, AD user, system, role, or privilege.

2. Objectives

01Provide a single repository for user privileges across in-scope systems.
02Link system access with governance-assigned data classifications at the screen/object level.
03Enable audit-ready search and evidence generation for classified access.
04Reduce manual effort by using daily ETL synchronization after the initial import.
05Support incremental future integration of more systems and more detailed mappings.

3. Scope

In Scope
  • Oracle Database repository tables, lookups, audit columns, and import tracking
  • Oracle Forms screens for access search and classification maintenance
  • One-time initial import of users / privileges and classification spreadsheets
  • Daily ETL sync for source-system access data
  • Search, export, and audit support for classified access
Out of Scope
  • Automated access provisioning or de-provisioning back into source systems
  • Approval workflow for access requests
  • Real-time API-based synchronization in phase 1
  • Classification scanning directly inside source systems
  • Advanced analytics dashboards in phase 1

4. Operating Model

PHASEDESCRIPTION
Initial loadSource teams submit one-time access extracts; Data Governance submits one-time classification spreadsheets.
Daily operationETL refreshes access data daily; classification updates are made through Oracle Forms when governance decisions change.
OwnershipSource system teams own access data quality; Data Governance owns classification quality; IT owns repository / ETL / support.
Audit trailAll classification changes and load batches are stored with timestamps and user/process details.

5. Functional Requirements

IDAREAREQUIREMENT
FR-01System masterThe application shall maintain a master list of in-scope systems and their status.
FR-02Initial access importThe solution shall load users, accounts, roles, privileges, and mappings from each source system through a controlled initial import.
FR-03Daily ETL syncThe solution shall support scheduled daily ETL jobs to refresh source-system access data.
FR-04Classification importThe solution shall support one-time import of classification spreadsheets containing screen/object and classification level.
FR-05Access searchUsers shall search by employee number, AD user, employee name, system, role/profile, or status.
FR-06Access detailSearch results shall show system account, role/privilege, screen/object, and current classification where available.
FR-07Classification maintenanceAuthorized governance users shall add, update, activate, and deactivate screen classification records from Oracle Forms.
FR-08History and auditThe repository shall keep timestamps, user/process IDs, and batch references for loaded and maintained records.
FR-09ValidationThe system shall validate mandatory fields, lookup values, and duplicate natural keys during file load and maintenance.
FR-10ExportSearch results shall be exportable for audit or evidence use.
FR-11ETL monitoringAuthorized admins shall review ETL/import run status, counts, and reject summaries.
FR-12SecurityOnly authorized users shall access search and maintenance screens; classification maintenance shall be restricted further.

6. Non-Functional Requirements

IDCATEGORYREQUIREMENT
NFR-01AvailabilityApplication available during business hours with planned ETL outside peak usage where possible.
NFR-02PerformanceStandard search results should return within acceptable operational time for common filters.
NFR-03SecurityRepository access controlled via authorized Oracle Forms / database roles and least privilege.
NFR-04AuditabilityAll loads and classification changes must be traceable to batch, user, and timestamp.
NFR-05Data qualityMandatory validations, duplicate checks, and reject logging must be enforced.
NFR-06ScalabilityDesign should support onboarding additional systems without redesigning the data model.
NFR-07MaintainabilityLookups and screen classifications should be maintainable without code changes.

7. User Stories

US-01
Governance analyst

Story: As a Governance analyst, I want to search by employee or AD user so that I can identify all access held by a person across systems.

Outcome: Search returns all active accounts and related roles/privileges for the selected person.

US-02
Auditor

Story: As a Auditor, I want to see which users can access Secret or Top Secret screens so that I can produce audit evidence.

Outcome: Results include classification and are exportable.

US-03
Governance analyst

Story: As a Governance analyst, I want to maintain screen classifications so that the repository stays current after business review decisions.

Outcome: Only authorized users can create or update classification records.

US-04
System admin

Story: As a System admin, I want ETL to refresh access daily so that the repository reflects current source-system entitlements.

Outcome: Daily jobs update the repository and log counts / failures.

US-05
ETL operator

Story: As a ETL operator, I want rejected records logged so that I can correct source or mapping issues.

Outcome: Rejected rows are traceable by batch / job.

US-06
Source-system team member

Story: As a Source-system team member, I want a standard export template so that I know exactly which fields to provide.

Outcome: Template includes mandatory tabs, examples, and field guidance.

US-07
Governance analyst

Story: As a Governance analyst, I want privilege-to-screen mapping loaded so that classified access can be resolved accurately.

Outcome: Search results show classification only when mapping exists.

US-08
Compliance user

Story: As a Compliance user, I want historical traceability of classification updates so that I can understand when a screen classification changed.

Outcome: Classification rows include effective dates and audit metadata.

US-09
Application admin

Story: As a Application admin, I want access to an import / ETL status view so that I can monitor daily synchronization.

Outcome: Batch status, start/end times, and row counts are available.

US-10
Project lead

Story: As a Project lead, I want the design to support onboarding more systems later so that the repository can expand without major redesign.

Outcome: System master and reusable tables support new systems.

8. Data Model Overview

The repository is organized around system, employee, account, role, privilege, screen, and classification entities. A user's classified access is derived by resolving account-to-role, role-to-privilege, and privilege-to-screen relationships, then applying the current screen classification.

AREAKEY TABLES
Master dataDAG_SYSTEM, DAG_EMPLOYEE, DAG_CLASSIFICATION_LEVEL
Access catalogDAG_SYSTEM_ACCOUNT, DAG_ROLE, DAG_PRIVILEGE, DAG_SCREEN
Relationship tablesDAG_ACCOUNT_ROLE, DAG_ROLE_PRIVILEGE, DAG_ACCOUNT_PRIVILEGE, DAG_PRIVILEGE_SCREEN
Governance tablesDAG_SCREEN_CLASSIFICATION
Operational controlDAG_IMPORT_BATCH, DAG_ETL_RUN_LOG

Important Design Note

If a source system cannot provide any privilege-to-screen (or equivalent object) mapping, the repository can still show users, roles, and privileges, but it cannot reliably conclude which classified screens are accessible for that system.

9. Acceptance Criteria

AC-01

Initial load succeeds for agreed in-scope systems using the standard template.

AC-02

Daily ETL refresh updates changed access records and logs job outcomes.

AC-03

Classification spreadsheets are loaded and visible on search results where mappings exist.

AC-04

Authorized users can add or update classifications through Oracle Forms.

AC-05

Search supports employee, AD user, system, role/profile, and status filters.

AC-06

Audit exports can be produced for classified access investigations.