Shibboleth and uApprove at University of Michigan

advertisement
Shibboleth and uApprove at
University of Michigan
Luke Tracy – ltracy@umich.edu
Ken Hammer – khammer@umich.edu
What is uApprove?
• Developed by SWITCHaai under BSD License
– http://www.switch.ch/aai/support/tools/uApprove.html
• Purposes:
– For the user, mechanism to be informed about the release of
attributes to a Service Provider (SP).
– For the admin of an Identity Provider (IdP)
• Provides a tool to implement data protection laws by requiring
to obtain user consent before personal attributes are released
to a SP
• Allows for collection of information about the release of
attributes and accesses to SP (if configured to do so).
Source: http://www.switch.ch/aai/support/tools/uApprove.html on June 15, 2010.
What is uApprove?
• From the user's point of view, uApprove is an
application which presents a webpage, on which to
– accept or decline the Terms of Use of a Shibboleth Identity
Provider upon first access to the system (optional)
– globally accept the release of attributes to any/all Service
Providers
– accept the release of attributes upon first access to a given
Service Provider (if the global release has not been
approved)
Note: User can reset attribute release consent on a separate webpage,
such that he/she will be asked again, whenever attributes have to be
Source: http://www.switch.ch/aai/support/tools/uApprove.html on June 15, 2010.
released.
U of M Attribute Release
• InCommon IdP had been operating in Pilot
Mode
– Opt-in required
– Temporarily provided means to approve the
release of identity data
• To move beyond Pilot
– Remove barriers
– Make more self-describing
Governance Board
• Investigated how others were handling privacy
concerns around attribute release
– Found common desire existed to be able to have individuals
approve the release of attributes
– Saw mention of uApprove being used within SWITCH
• Demonstrated uApprove to IDM Governance Board
– Liked it, but had issues with changes to data and privacy
settings after approval to release
– Looked into methods of detecting state changes and forcing
re-approval
uApprove
• Determined best method was to prompt each time
(until a more elegant solution was possible, maybe)
• Discussed with uApprove developers method for
forcing prompt every time
– Decided together that in short term, using database triggers
was optimal
Demo
User Visits Site and Selects Home
University
User Logs In Using Our Single Sign On
Tool
User is presented with the uApprove
screen
If the user declines…
If the user approves…
uApprove configuration
• Can use a flat file or a mysql database for
preferences
• Can be disabled on a per-SP basis
• Can configure which attributes are displayed and in
what order
• Optional “Terms of Use” screen
• Multiple options for resetting preferences
Normally, uApprove looks like this…
• Presentation controlled
by .jsp templates
• Template text strings
stored separately to
make translation easy
U-M localizations
• Database trigger / cron job combination
to effect our desired login behavior
• Applied our SSO “skin” to the
application
• Changed text to better suit our audience
attribute-resolver.xml
<resolver:AttributeDefinition id="displayName" xsi:type="Simple"
xmlns="urn:mace:shibboleth:2.0:resolver:ad"
sourceAttributeID="displayName">
<resolver:Dependency ref="mcomm" />
<resolver:DisplayName xml:lang="en">Full Name</resolver:DisplayName>
<resolver:DisplayDescription xml:lang="en">
This is your full name.
</resolver:DisplayDescription>
...
</resolver:AttributeDefinition>
resources
• uApprove http://www.switch.ch/aai/support/tools/uApprove.html
• U-M InCommon Attribute Release Policy and
Procedure - http://www.itd.umich.edu/itcsdocs/r1465/
Download