A manual group might have members for various reasons.

For example a VPN group might have people in the organization, people in the institution (not in the organization), and people outside of the institution.

John was added to the VPN manual group, and is in the organization in the institution.  When he leaves the organization (and/or the institution), then his ad hoc membership should get an end date after a grace period, and the VPN administrator should get an email.

UserRole when addedUser changeAction
JohnIn HR orgLeaves the HR org, not the institutionSet an end date on the manual membership 7 days in future.  Email the VPN administrator
SallyIn HR orgLeaves the institutionSet an end date on the manual membership 2 days in future.  Email the VPN administrator
JenNot in HR orgLeaves the institutionSet an end date on the manual membership 2 days in future.  Email the VPN administrator
John
Back in HR org 3 days laterRemove end date on VPN manual membership
Sally
Back in institution 5 days laterSince less than 7 days, assume data error and add back to VPN manual group.  Email the VPN admin
DavidNot in institutionNo actions can be detected
LizEither HR org or elsewhere in institutionHad a title changeEmail the VPN admins and let them know she had a title change

Report for attestation

Generate a daily report of users to be attested, and send out emails for a monthly attestation of this report

UserIn orgEnd date in orgIn institutionEnd date in institutionGuestHas VPNVPN start dateVPN end date
JohnF2021/02/11T
FF2018/03/142021/02/18
SallyF
T
FT2017/04/03
DavidF
F
TT2016/07/18

Configuration setup

VPN manual group

Add attribute with JSON config

{
  "membershipReasons": [
    {  "groupName": "org:hr:staff",
       "gracePeriodDaysIfLeave": 7,
       "addBackAgainWithinDaysIfJoin": 14
    },
    {  "groupName": "ref:employee",
       "gracePeriodDaysIfLeave": 2,
       "addBackAgainWithinDaysIfJoin": 7
    },
    {  "stemName": "ref:jobTitles",
       "removeUser": false
    }
  ],
  "allowGuest": true,
  "emailGroupName": "apps:vpn:ref:hrVpnAdmins",
  "emailNotifySubject": "User $$subject.name$$ left $$reasonGroup.name$$, please re-evaluate their access",
  "emailNotifyBody": "User $$subject.name$$ left $$reasonGroup.name$$, please re-evaluate their access.\n\nClick here to manage the VPN group: $$ownerGroupUrl$$",
  "emailRemoveSubject": "User $$subject.name$$ left $$reasonGroup.name$$ $$daysSinceGone$$ days ago and lost VPN access",
  "emailRemoveBody": "User $$subject.name$$ left $$reasonGroup.name$$ $$daysSinceGone$$ days ago and lost VPN access.\n\nClick here to manage the VPN group: $$ownerGroupUrl$$",
  "emailGraceSubject": "User $$subject.name$$ left $$reasonGroup.name$$ and will lose VPN access in $$gracePeriodOrZero$$ days",
  "emailGraceBody": "User $$subject.name$$ left $$reasonGroup.name$$ and will lose VPN access in $$gracePeriodOrZero$$ days.\n\nClick here to manage the VPN group: $$ownerGroupUrl$$",
  "emailAddSubject": "User $$subject.name$$ rejoined $$reasonGroup.name$$ and has VPN access again",
  "emailAddBody": "User $$subject.name$$ rejoined $$reasonGroup.name$$ and has VPN access again.\n\nClick here to manage the VPN group: $$ownerGroupUrl$$", 
}
SettingSample valueDescription
membershipReasons.groupNameref:employeeIf they are in this group, that is the reason they have VPN access
membershipReasons.gracePeriodDaysIfLeave2If they have VPN access, and they leave the employee group, give them 2 days grace period in form of end date in future
membershipReasons.addBackAgainWithinDaysIfJoin7If they had VPN access, and lost it, and then went back into the reason group within this amount of time (e.g. from an error), then add them back to the manual group
membershipReasons.stemNameref:jobTitlesIf the user has a job title, then that is why they have VPN access
membershipReasons.removeUserfalseIf the user loses their reason, do not remove them or add a grace period
allowGuesttrueIf members are allowed in the manual group if they don't have a reason
emailGroupNameapps:vpn:ref:hrVpnAdminsPeople in this group will get emailed when changes happen.  Leave blank if no emails should be sent
emailRemoveSubjectUser $$subject.name$$ left $$reasonGroup.name$$ $$daysSinceGone$$ days ago and lost VPN accessEmail subject sent to admins when access removed
emailRemoveBodyUser $$subject.name$$ left $$reasonGroup.name$$ $$daysSinceGone$$ days ago and lost VPN access.\n\nClick here to manage the VPN group: $$ownerGroupUrl$$Email body sent to admins when access removed
emailGraceSubjectUser $$subject.name$$ left $$reasonGroup.name$$ and will lose VPN access in $$gracePeriodOrZero$$ daysEmail subject sent when grace period enacted
emailGraceBodyUser $$subject.name$$ left $$reasonGroup.name$$ and will lose VPN access in $$gracePeriodOrZero$$ days.\n\nClick here to manage the VPN group: $$ownerGroupUrl$$Email body sent when grace period enacted
emailAddSubjectUser $$subject.name$$ rejoined $$reasonGroup.name$$ and has VPN access againEmail subject sent when user rejoins reason group in time
emailAddBodyUser $$subject.name$$ rejoined $$reasonGroup.name$$ and has VPN access again.\n\nClick here to manage the VPN group: $$ownerGroupUrl$$Email body sent when user rejoins reason group in time

Membership attributes

Grouper will assign effective membership

GroupMemberMarker attributeAttribute assignment attributeValue(s)
HR VPNJohngrouperMshipReasonMarkerreasonref:employee
org:hr:staff
ref:jobTitles:hrManager
HR VPNLizgrouperMshipReasonMarkerreasonref:employee
org:hr:staff
ref:jobTitles:hrDirector
HR VPNDavidgrouperMshipReasonMarkerreasongrouperGuest
  • No labels