Skip to content

AZ205: A source that can't hold these subjects ​

A column or a link table's subject column points at one kind of subject: its type's key. For several kinds, share the relation (shared) or use two columns, (subject_type, subject_id), which link to objects of the types named, not to a group's members.

Reported when the policy is compiled: rowfence check, the editor, rowfence dev.

The mistake ​

authz
app role app_user
type user = app.users
type team = app.teams
  member : user = app.team_members(team_id -> user_id)
type folder = app.folders
  owner  : user = owner_id
  editor : user, team#member = editor_id
  can edit = owner or editor
line 7: a column or table source links to exactly one kind of subject; for several, add a type column: (type_col, id_col) [AZ205]

Fixed ​

authz
app role app_user
type user = app.users
type team = app.teams
  member : user = app.team_members(team_id -> user_id)
type folder = app.folders
  owner  : user = owner_id
  editor : user, team#member  shared
  can share = owner
  can edit  = owner or editor