Skip to content

Data Model Diagram

flowchart LR
  principal["Principal"]
  account["Account"]
  entitlement["Entitlement"]
  action["Action"]
  target["Target"]
  resource["Resource (Target subtype)"]
  boundary["Cloud Account Boundary"]

  principal -- "principal_represents_account" --> account
  account -- "account_assigned_entitlement" --> entitlement
  entitlement -- "entitlement_grants_target" --> target
  entitlement -. "enables_action_on_target" .-> action
  action -. "applies_to" .-> target
  account -. "account_grants_target (optional)" .-> target

  resource -. "is_a" .-> target

  account --> boundary
  entitlement --> boundary
  target --> boundary

  provenance["Provenance\n(source_system, source_object_id, observed_at, run_id, confidence, evidence_ref)"]

  principal --> provenance
  account --> provenance
  entitlement --> provenance
  action --> provenance
  target --> provenance
  boundary --> provenance

  configured["Configured Access"]
  reachable["Reachable Access"]
  observed["Observed Access"]

  configured --> target
  reachable --> target
  observed --> target