Folders All the Way Down

A documents product supports nested folders, sharing with individuals and with groups, and groups nested inside other groups. Permission must be inherited down the folder tree and answered in a few milliseconds. Which model fits this best?

A

An ACL per document, copied into every child whenever a parent folder is shared

B

ReBAC, storing relation tuples for parent folders and group membership and walking that graph

C

RBAC, creating a role per document and assigning it to every user who receives a share

D

ABAC, attaching an allowed-users list attribute to each document and evaluating it on read