Federated Authorization Implementing Grouper to federate user authorization Andrea Biancini JRA3 T1 - Possibilities for Grouper in a cross/inter organizational use R&D Project Manager @ Consortium GARR and IDEM #TNC15, Porto, Portugal June 16th, 2015 Part of the GÉANT Project (GN4-1) distributed workshop Networks ∙ Services ∙ People www.geant.org Federations today Currently, the goals of an Identity Federation are: • • give a delegated mechanism to manage user identification among different entities and within different subjects; provide a set of attributes to an authenticated users to be used by the final application. We decided to extend the success of current identity federation to the field of user authorization. Networks ∙ Services ∙ People www.geant.org How to reach that goal? Traditionally, identity federations have solved the authorization problems with two opposite approaches: • • SP managed authorization IdP managed authorization A different approach may be followed (leveraging Attributes Authorities and implementing tools like Grouper) where authorization is delegated to a specific system designed for that purpose. Networks ∙ Services ∙ People www.geant.org Tools We want to evaluate the introduction of Grouper for a cross/inter organizational use. Grouper will be used to manage in a centralized way (yet permitting delegation): • • Groups of users Authorization attributes for users. Networks ∙ Services ∙ People www.geant.org Proof of Concept To prove real use cases, three SPs will be integrated with Grouper in a Proof of Concept: • • • A MediaWiki application: Grouper will manage user groups for read/write access; A Moodle application: Grouper will provide course list and manage students/teachers enrolment to courses; A custom application (not covered within this presentation). Networks ∙ Services ∙ People www.geant.org MediaWiki – 1/3 To implement this use case we had to define access groups within MediaWiki. MediaWiki defines standard groups which are always present: • Administrators: administrators of the wiki • Bureaucrats: technical personnel of the wiki • Users: registered users of the wiki Besides, it is possible to define new groups as needed. Networks ∙ Services ∙ People www.geant.org MediaWiki – 2/3 Inside Grouper we can define a coherent group structure and we can assign different users (even from different VOs) to these groups. In this way the group membership of a user is described in Grouper and will be retrieved by MediaWiki during the login operation of accessing users. Networks ∙ Services ∙ People www.geant.org MediaWiki – 3/3 At login time user groups are retrieved from the Attribute Authority. MediaWiki uses the Shibboleth Authentication module, modified within this activity, to manage the attribute describing group memberships. Networks ∙ Services ∙ People www.geant.org Moodle This use case needs to retrieve groups and attributes for authorization during the login phase (as the case for the wiki). Besides, Moodle also needs some off-line interfaces (executed not only at login time) to query Grouper and retrieve: • • • a list of courses; a list of teachers; and a list of students for each course. Networks ∙ Services ∙ People www.geant.org The VOOT protocol VOOT is a protocol for exchanging group information externally to applications. Very simple API: Networks ∙ Services ∙ People www.geant.org Moodle integration – 1/2 In Grouper we create a group for each course that must be activated on the Moodle platform. User members of these groups can be of two kinds: 1. the «admin» members will be teachers of the course 2. all other members will be students of the course. Networks ∙ Services ∙ People www.geant.org Moodle integration – 2/2 Moodle will use an enrollment plugin to retrieve the group information from Grouper. For this purpose, a specific enrollment plugin has been developed. It is able to retrieve information form a VOOT server. Networks ∙ Services ∙ People www.geant.org References The wiki page for the JRA3 T1 activity: • https://wiki.terena.org/display/gn3pjra3/Grouper+in+a+cross+organisational+context The code developed to integrate MediaWiki with Grouper: • https://www.mediawiki.org/wiki/Extension:Shibboleth_Authentication The code developed to integrate Moodle with Grouper: • https://github.com/ConsortiumGARR/moodle-enrol_voot The VOOT connector for Grouper: • https://github.com/Internet2/grouper/tree/master/grouper-misc/grouper-voot Networks ∙ Services ∙ People www.geant.org Conclusion The architecture explored is being rolled out into two production environments: 1. To model access of the GN4 project, phase 1 activities. 2. To model authorization for the applications operating IDEM (the Italian Identity Federation). During the PoC it we had the opportunity to address problems and future activities, in particular: • AAs still have some issue regarding privacy and security. • User enrolment must be supported to reduce effort. Networks ∙ Services ∙ People www.geant.org Thank you Networks ∙ Services ∙ People www.geant.org This work is part of a project that has applied for funding from the European Union’s Horizon 2020 research and innovation programme under Grant Agreement No. 691567 (GN4-1). Networks ∙ Services ∙ People www.geant.org 15
© Copyright 2026 Paperzz