Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Added UI authN with CAS info.

...

Grouper at Lafayette College is deployed as 2 components-- the Grouper UI and the Grouper API (aka Grouper Daemon).  The Grouper UI is deployed in a manner consistent with other web-based deployments at Lafayette.  The Grouper API components require elevated access to alter LDAP data, so they are deployed in a hardened network.  Banner reference data is exported to LDAP on a nightly basis, and the Grouper Loader service is used to sync that data into Grouper on a nightly schedule.  A separate instance of the Grouper Shell runs as a change log consumer.  It monitors membership changes in Grouper and reports them to an LDAP provisioning process.  The LDAP provisioning process accumulates membership changes and writes them in batches to the Lafayette College LDAP DIT at 30 second intervals.

 

Grouper UI

The Grouper UI at Lafayette is deployed behind an NGINX proxy on a separate host. 

Authentication to the web UI is managed by an Apache v2.2 proxy with mod_auth_cas enabled running on the same host as the servlet container (Tomcat) that hosts the Grouper UI.  When an unauthorized request is made for a Grouper resource, the CAS authenticating proxy redirects the request to the College's CAS SSO service.  Once authenticated at this service, the request is redirected back to the authenticating proxy with a service ticket appended to the query parameters of the request.  The mod_auth_cas module is able to validate this ticket with the College's CAS service over a back channel (server to server) and establish an authenticated session that includes the authenticated identity's username.  This request and all subsequent requests for this session are now recognized as authenticated by the proxy and passed along to the servlet container with the REMOTE_USER environment variable set to the authenticated username.  The Grouper UI retrieves the username from this environment variable and matches it to a subject ID.  This subject is the currently logged on user from Grouper's perspective.

This process works well with other authenticating proxies as well.  During initial research into Lafayette's Grouper pilot, the Grouper UI was successfully deployed behind a variety of authenticating proxies, including Apache + Basic Auth to a local password file, Apache + mod_auth_ldap, and the Twisted CAS proxy.  Ultimately, we selected Apache + mod_auth_cas because it was a good fit with the College's current SSO deployment architecture.

Grouper Loader

The Grouper Loader runs continuously as a daemon process on College's Grouper API node.  Several Grouper groups are linked to the College's LDAP DIT.  The loader pulls memberships for these reference groups into Grouper nightly, as per the Quartz cron settings.

...