ERP Security, Access & Segregation of Duties
Oracle Fusion Security · EBS Responsibilities
The business problem
When an AP manager moves to procurement and requests new roles, auditors ask whether one person could now create a supplier and also pay it.
Proposed solution
The crew evaluates every access request and change against SoD rules and checks what the user has actually done in the system. It then recommends least-privilege access, for example “remove AP Payment Manager before granting Procurement Manager,” and executes only after approval, with a full audit trail.
Workflow
- Receive Access Request
- Review User Roles and Activity
- Run Deterministic SoD Rules
- Detect Conflicting Permissions
- Recommend Least-Privilege Access
- Route for Risk-Based Approval
- Apply Approved Access Changes
- Record Audit Trail
Agents and responsibilities
- Identity & Access: current, inherited and requested roles and privileges.
- SoD Risk: deterministic rules such as create-supplier with pay-supplier, or enter-journal with post-journal.
- Transaction Investigation: the user’s actual supplier, PO, invoice, payment and journal activity.
- Policy: RAG over SoD policy and the control matrix.
- Remediation: risk rating, policy citation, role changes, approval routing.
Oracle ERP integration
Oracle objects: Users, job, duty and data roles, privileges, role-provisioning requests and audit history; E-Business Suite responsibilities, menus and functions.
Shared Oracle integration: a Python MCP server exposing typed read tools (Fusion Cloud REST resources, BI Publisher/OTBI reports, read-only SQL views for E-Business Suite) and a small set of write tools that execute only after human approval.
Technology stack
Project stack: Claude Agent SDK · CrewAI + MCP · Google ADK/Gemini · OpenAI Agents SDK/GPT · deterministic SoD rule engine
- Orchestration: CrewAI crews define role-based agents, tasks and hand-offs. Oracle tools attach through CrewAI MCP server adapters, so every agent calls the same governed tool layer.
- Agent runtimes: Claude Agent SDK with Claude is the primary build and reasoning runtime. It uses subagents for deep investigation, MCP for tool access, and pre-tool-use hooks that block any ERP write lacking an approval token. The same agents run on Google ADK with Gemini and OpenAI Agents SDK with GPT through a common model-adapter interface, switched by configuration.
- Engineering: Python, Pydantic-validated agent outputs, a pytest scenario-evaluation harness comparing Claude, Gemini and GPT on accuracy, latency and cost, OpenTelemetry tracing and Docker, built in VS Code with Claude Code.
Controls and safeguards
- Deterministic rules decide conflicts; the model explains and recommends but never decides.
- High-risk changes require security-administrator approval.
- Every finding records the rule ID, evidence and decision.
- Grounding and control (shared platform): RAG over policies, contracts and approval matrices in Oracle Database 23ai AI Vector Search; a deterministic rule engine for tolerances, thresholds and SoD; an immutable audit log of evidence, tool calls, model, approver and outcome.
Validation plan
Scope: 100 users, 30 roles, 25 SoD rules, 1,000 transactions and 100 scenarios.
Targets
Reference build in progress. The figures below are validation targets for the build, not measured results.
- 100% Detection of rule-defined conflicts
- 100% Approval enforcement on high-risk changes