Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Include Page
spaceKeyGrouper
pageTitleNavigation

We want to be able to craft policies by an expression instead of creating loaders or tons of reference groups based on cartesian products of basis/ref groups.

...

  • Reduces pre-loaded rollups that might not be used
  • You dont don't need a loader job for each one of these groups
  • Any Grouper user could edit the policies if they can READ underlying groups.  The expressions are secure
  • The memberships of the ABAC groups are real time based on an intelligent change log consumer
  • You can have a UI to help build it and give good error messages
  • Could visualize the policies.  Perhaps could be integrated into existing visualization
  • This solved the issue of composites with any number of factors

...

grouper_abac_group_attributes
Group nameAttribute nameAttribute valueActiveNext start timeLast end time
ref:course:term:cis123campuspalmer


ref:course:term:cis123campussouthern


ref:course:term:cis123mode



ref:course:term:cis124campusnorthern


ref:course:term:cis124termStart8/1/2020 (note, this is actually integer seconds since 1970)


ref:course:term:cis124termEnd1/1/2020


ref:course:term:cis124thisTermT


...

GroupTypeExpressionDescription
org:whatever:app:somePolicyref/bassis basis groups as members(group.campus =~ ['palmer', southern'] and termStart - 7 > sysdate and termEnd + 7 < sysdate)Give me groups as members where campus and term match
org:whatever2:app2:somePolicy2subjects as membersperson.primaryAffiliation =~ ['faculty', 'staff'] and person.dept =~ ['physics', 'math']Subjects in a role and dept
org:whatever3:app3:somePolicy3could have some groups and subjects

(group.campus =~ ['palmer', southern'] and termStart - 7 > sysdate and termEnd + 7 < sysdate)

or (person.primaryAffiliation =~ ['faculty', 'staff'] and person.dept =~ ['physics', 'math'])

Take some group populations and some subjects

...