Skip to content

Diagrams

Big-ACL provides several diagram types to help you visualize your authorization model and understand relationships between entities, principals, resources, and actions.

DiagramPurposeAccess
Entity DiagramVisualize your data model with entity relationshipsEntities > Diagram view
Cedar Schema DiagramVisualize the authorization model (principals, resources, actions)Diagrams > Cedar
Context CanvasInteractive diagram for mapping business relationshipsDiagrams > Canvas

The Entity Diagram provides a visual representation of your complete data model.

Entity diagram visualization showing all entity types and their relationships
  • All entity types defined in your system
  • Entity attributes/fields with their names and types
  • Primary keys (highlighted with a key icon)
  • Relationships between entities with cardinality labels
  • Permissions associated with each entity
  1. Navigate to Entities
  2. Click the Diagram toggle button (schema icon)

Alternatively, access it from Diagrams > Schema.

Each entity is represented as a card containing:

SectionContent
HeaderEntity name
FieldsList of properties with type badges
Primary KeyMarked with a key icon, displayed first
PermissionsPurple badges showing available actions
ColorType
GreenString
BlueNumeric (number, integer, long)
OrangeBoolean
PurpleDate / DateTime
GrayEntity reference
  • Arrows connect entities that have relationships
  • Labels on arrows indicate the relationship name or cardinality
  • Supports one-to-many and many-to-many relationships

The Cedar Schema Diagram visualizes your authorization structure based on the Cedar policy language model.

Cedar schema diagram showing principals, resources, and actions
  • Principals (blue): Entities that can perform actions (subjects/actors)
  • Resources (orange): Entities that can be accessed
  • Actions: Operations that principals can perform on resources
  • Arrows showing which principals can act on which resources

Navigate to Diagrams > Cedar.

Node ColorRoleDescription
Light bluePrincipalWho can perform actions (e.g., User, Admin)
Light orangeResourceWhat can be accessed (e.g., Document, Project)
Light grayBothEntity used as both principal and resource

Each node displays:

  • Entity name in the header
  • Attributes with their types in the middle section
  • Actions (for resources) as gray badges at the bottom

Arrows represent authorization relationships:

  • Source: Principal entity (who)
  • Target: Resource entity (what)
  • Label: Action name(s) that can be performed

Example: An arrow from User to Document labeled read, write means users can read and write documents.

A legend is displayed at the bottom-left corner:

  • Blue square = Principal (Subject)
  • Orange square = Resource
  • Arrow = Action relationship

The Context Canvas is an interactive diagram for mapping people, applications, data, and organizational relationships.

  • Business actors and their roles
  • Applications in your ecosystem
  • Data assets
  • Organizational structures
  • Semantic relationships between all these elements

Navigate to Diagrams > Canvas.

TypeColorIconDescription
Profile/RoleBluePersonUsers, roles, or personas
DataGreenDatabaseData assets or datasets
ApplicationPurpleAppSoftware applications
OrganizationOrangeBuildingOrganizational units
  1. Click the corresponding button in the left sidebar:
    • Profile/Role for people or roles
    • Data for data assets
    • Application for applications
    • Organization for organizational units
  2. A new node appears on the canvas
  3. Drag it to the desired position
  1. Click on a node to select it
  2. The properties panel appears on the right sidebar
  3. Edit the Name field
  4. For Data nodes: toggle available actions (Read, Update, Validate, Delete)
  5. Changes are saved automatically
  1. Drag from one node’s connection handle to another node
  2. A popup appears with relationship type options
  3. Select the appropriate relationship
  4. The connection is created and saved automatically

Relationship options are context-aware based on the connected entity types:

ConnectionExample Relationships
Application → DataReads, Creates, Updates, Deletes, Exports, Imports
Person → OrganizationBelongs to, Manages, Leads, Reports to
Person → ApplicationUses, Administers, Supports
Application → ApplicationIntegrates with, Calls, Depends on
  1. Click on a node or edge to select it
  2. Press the Delete key
  3. The element is removed and changes are saved automatically
  • All changes are automatically saved to browser storage
  • Diagram state persists across sessions
  • Data is stored per tenant

All diagrams share common navigation controls powered by ReactFlow.

ButtonAction
+Zoom in
Zoom out
FitFit all nodes in view with padding
LockToggle interaction lock
ActionResult
Scroll wheelZoom in/out
Click + drag backgroundPan the viewport
Click nodeSelect node (Context Canvas shows properties)
  • Located in the bottom-right corner
  • Shows a miniature overview of the entire diagram
  • Drag the viewport indicator to navigate
  • Useful for large diagrams with many entities

Automatic Layout (Entity & Cedar Diagrams)

Section titled “Automatic Layout (Entity & Cedar Diagrams)”

Both the Entity Diagram and Cedar Schema Diagram use automatic layout:

  • Direction: Left-to-right (LR)
  • Algorithm: Dagre (directed graph layout)
  • Node spacing: Automatically calculated to avoid overlaps
  • Entities are positioned based on their relationships

The Context Canvas uses manual positioning:

  • Drag nodes to position them
  • Positions are saved automatically
  • New nodes appear in a grid pattern

  1. Start with your main entities (usually principals like User)
  2. Follow arrows to see what resources they relate to
  3. Check field types to understand data structure
  4. Look for primary keys to identify unique identifiers
  5. Review permissions to see available actions
  1. Identify your principals (blue nodes) - these are your actors
  2. Identify your resources (orange nodes) - these are your protected assets
  3. Follow arrows to understand “who can do what to what”
  4. Read action labels to see specific permissions
  5. Use this view to validate your authorization model
  1. Start by adding your main business actors (people/roles)
  2. Add the applications they interact with
  3. Add the data assets managed by those applications
  4. Connect elements with meaningful relationships
  5. Use the canvas to document and communicate your architecture