SYMPA based groupware Because exchanging emails was not enough

SYMPA based groupware
Because exchanging emails
was not enough
SYMPA ?
• Mailling list server software
• Nice web interface
• Can manage lots of lists, supports vhosts,
SaaS oriented
• Can syncronize lists members from
various datasources
• Flexible scenario based autorisation
system
SYMPA users
• 90% of research and educationnal
organism in France are using it
• Ministries (defence, education, foreign
affairs …)
• Hosting companies
• NASA, UNESCO …
• Most users aren’t located in France
(translated in a dozen languages)
SYMPA achievements
• Biggest list scores at 1 600 000
subscribers
• A server is hosting 32 000 lists
• Another is hosting 30 000 virtual hosts
• A server with more than 3 000 000
subscribers
From group-aware
to groupware
• Most of our lists are used to communicate
between project members
• External apps have ways to get list
members, list membership based
authorisation began to spread
• SYMPA slowly became a group manager
=
my-list@lists.renater.fr
Virtual
Organization
SOAP
• Easy to use
• Lots of libraries
• More secure than direct database
querying
• Requires slight alteration of group-aware
applications
• Requires heavy alteration of non-groupaware applications
VOOT
• Extends OpenSocial specification
• Libraries are available
• Three-legged membership data access
model
• OpenSocial enabled applications require
almost no alterations
• As complicated as SOAP for non-groupaware applications
Where we are at
Soon to come : big file sharing, collaborative document editing, data hub …
Let’s make the world
a better place
• VOs need a way to authorise access to
their applications based on membership
• No heavy coding/application altering
should be required
• Most VOs are already using federated
applications
« Humm … What if a SP was able to get user memberships
from a SYMPA server and allow access based on that ? »
SYMPA as SAML Attribute
Authority
• Mailing list is a Virtual Organisation
• Membership and role in mailing list can be
expressed with an attribute
• Standard SAML Attribute Queries and
user's email address to get membership
attributes
• A VO should be able to easily tell which
SPs can get memberships
How is it better ?
• Building a bilateral trust relationship is
needed for SOAP and VOOT, not SYMPASAML-AA (we already have metadata)
• Restricting access to an already federated
application is only a matter of configurating
the SP
Architecture
Université X
1. Authentification
nom
email
eppn
SP
IdP
2. Attribute
Query
Sympa / Attribute Authority
nameID:
email
Sympa
Sympa
Config
3. Attributs
Cron
Sync
My
SQL
IdP
AA
...
Liste 1
Liste 2
Liste N
groups:
liste 1
liste 2
nom
email
eppn
groups
Application
Characteristics
• Very non-invasive because no or only
minimal changes are necessary in SYMPA
code.
• Benefit from SYMPA's various data base
connectors (SQL, LDAP, ...) to create and
sync mailing lists/groups
• Standard Shibboleth IdP with SSO
deactivated and only Attribute Authority
configured
Attribute to Express
Membership
• isMemberOf and hasMembers attributes
from eduPerson Schema:
http://middleware.internet2.edu/dir/docs/draftinternet2-mace-dir-ldap-edumember-latest.htm
• Mailing list addresses are used as values.
E.g. my-list@listes.renater.fr,
john.doe@example.org?role=owner
Attribute Values
• Use official SYMPA mail addresses for roles.
List Admins:
#list-name#-request@listes.renater.fr
List Editors:
#list-name#-editor@listes.renater.fr
• SYMPA also allows defining custom attributes
per list. They could be released too but for
the sake of simplicity that is not done
currently.
Attribute Release
Restrictions
• List administrator can restrict SPs allowed
to get group member ship data
• EntityIDs or '*' can be added to SYMPA list
settings
SAML Queries that
SP can make
• Get all lists and roles of a particular user:
NameID e.g. "john.doe@example.org"
• Get all lists from SYMPA instance:
NameID "toutes-listes@listes.renater.fr"
• Get all members of a list/VO:
NameID e.g. "my-list@listes.renater.fr"
• These are also the functions VOOT
supports
SAML Attribute Queries
Three options to make the queries with Shibboleth:
1. Shibboleth Attribute Aggregation performs query
automatically upon login of user. Can retrieve
authenticated user's mailing list memberships.
2. Shibboleth-bundled resolvertest binary:
Maybe slow because it loads full configuration
https://wiki.shibboleth.net/confluence/display/SHIB2/NativeS
Presolvertest
3. Using the Shibboleth Attribute Query plugin
developed by our colleagues from GakuNin (JP).
Attribute Query with
Shibboleth Plugin
• Applications access URL:
/Shibboleth.sso/AttributeQuery
?entityID=https://pre-listes.renater.fr/idp/shibboleth
&format=urn:oid:0.9.2342.19200300.100.1.3
&nameId=toutes-listes@listes.renater.fr
• Security during Attribute Query is ensured
automatically by Shibboleth SP.
• Above handler URL is by protected by
Shibboleth SP with ACL (default is
127.0.0.1)
Known Issues
Email attribute as user identifier
• Disadvantage: Many email addresses on existing
mailing lists use private (Gmail, Hotmail) addresses
but IdPs release institutional email addresses.
• Hot-fix solution: Create account on CRU (home for the
homeless) IdP or ask list admin to change email
address from private to institutional address.
• Advantage I: No user invitation via email needed to get
eduPersonPrincipalName or alternative identifier
• Advantage II: In case an organisation deploys an own
IdP, no migration is necessary from CRU account to
organisation account because email address stays the
same.
Status
• Currently working Proof-of-concept
• Looking for testers and use-cases
• Demo, try it yourself (in French) :
https://demo-federation.renater.fr/autorisation/
Outlook
• Plan is to create a new service
• No name yet (working name "RENAauthZ")
• To lower barrier for potential users,
RENATER might run an SP Proxy that
could be put in front of any web application.
No need to install and configure an own SP.