Skip to content

Tier 5: Security & RBAC Showcase

This showcase demonstrates the hierarchical ACL inheritance and group-based Role-Based Access Control (RBAC) system in a realistic scenario.

Scenario Setup

To run this showcase, you must first seed the security database with the demonstration data:

bash
joynare-nexus security seed-showcase

This command prepares the following environment in the joynare_nexus database:

Users & Groups

UserPasswordGroupRoleAccess Level
adminadmin123AdministratorsSuperuserFull access to everything
managermanager123SecurityManagersACL UserAccess to secure-acl and special-acl
employeeemployee123SecurityStaffACL UserAccess to secure-acl only
guestguest123(None)UnprivilegedAccess to default ACL only

Flows & ACLs

FlowLocationACL LogicRequired ACL
showcase.01-basics:SimplePipelineflows/01-basics/System Defaultdefault
showcase.09-security:InheritedFlowflows/09-security/Inherited from _folder.yamlsecure-acl
showcase.09-security:OverrideFlowflows/09-security/Overridden in flow.yamlspecial-acl

Testing the Scenario

Start the ESB server:

bash
joynare-nexus serve

1. The Guest User (Public Access)

Guests can access basic flows but are blocked from secure folders.

Access Granted (Public):

bash
curl -u guest:guest123 http://localhost:9090/services/showcase/01-basics/SimplePipeline

Access Denied (Folder Security):

bash
curl -u guest:guest123 http://localhost:9090/services/showcase/09-security/InheritedFlow

2. The Employee (Inherited Access)

Employees have access to the secure folder via inheritance but cannot see special overrides.

Access Granted (Inherited):

bash
curl -u employee:employee123 http://localhost:9090/services/showcase/09-security/InheritedFlow

Access Denied (Specific Override):

bash
curl -u employee:employee123 http://localhost:9090/services/showcase/09-security/OverrideFlow

3. The Manager (Multi-ACL Access)

Managers have been granted both the standard secure ACL and the special override ACL.

Access Granted (All Secure Flows):

bash
curl -u manager:manager123 http://localhost:9090/services/showcase/09-security/InheritedFlow
curl -u manager:manager123 http://localhost:9090/services/showcase/09-security/OverrideFlow

4. The Admin (Superuser Bypass)

Admins bypass the ACL system entirely and can access any resource.

Access Granted (Full System Access):

bash
curl -u admin:admin123 http://localhost:9090/services/showcase/09-security/OverrideFlow

Released under the ISC License.