aai tutorial - switch · © 2009 switch aai tutorial 2 agenda what is aai? ... ldap) but...

30
SWITCHaai Team [email protected] AAI Tutorial Berne, 5. May 2009

Upload: duongque

Post on 07-Apr-2018

223 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

SWITCHaai [email protected]

AAI Tutorial

Berne, 5. May 2009

Page 2: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

2© 2009 SWITCH AAI Tutorial

Agenda

What is AAI?

Demo

The SWITCHaai federation

Technical details behind AAI

Summary and Q&A

1

2

3

4

5

Page 3: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

3© 2009 SWITCH AAI Tutorial

AAI - Key to access them all

AAI = Authentication and Authorization Infrastructure

Page 4: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

4© 2009 SWITCH AAI Tutorial

Evolution of Identity Management

• Stone Age:Application maintains unique credential and identityinformation for each user

• Bronze Age:Credentials are centralized (e.g. kerberos, LDAP) butapplications maintain identity information

• Iron Age:Credentials and core identity information is centralized,applications maintain only app-specific user data

• These solutions assume application are within the sameadministrative domain

Page 5: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

5© 2009 SWITCH AAI Tutorial

Diamond Age: Federated Identity

• Federated identity management is the next logical step;sharing information outside your administrative domain.

• The first principle within federated identity management isthe active protection of user information. Protect the user’s identifier; applications don’t necessarily need to

know who the person is Protect the user’s identity information; only give applications what

they absolutely need

Page 6: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

6© 2009 SWITCH AAI Tutorial

• Tedious user registrationat all resources

• Unreliable and outdateduser data at resources

• Different login processes

• Many different passwords

• Many resources notprotected due to difficulties

• Often IP-based authorization

• Costly implementation ofinter-institutional access

Without AAI

University A

Library B

University C

Student AdmWeb Portale-Learning

Literature DB

e-LearningResearch DB

e-Journals

AuthorizationUser AdministrationAuthentication Resource Credentials

Page 7: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

7© 2009 SWITCH AAI Tutorial

AuthorizationUser AdministrationAuthentication Resource Credentials

• No user registration anduser data maintenance atresource needed

• Single login processfor the users

• Many new resourcesavailable for the users

• Authorization independentof location

• Efficient implementation ofinter-institutional access

With AAI

University A

Library B

University C

AAIStudent AdmWeb Portale-Learning

Literature DB

e-LearningResearch DB

e-Journals

Page 8: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

8© 2009 SWITCH AAI Tutorial

Agenda

What is AAI?

Demo

The SWITCHaai federation

Technical details behind AAI

Summary and Q&A

1

2

3

4

5

Page 9: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

9© 2009 SWITCH AAI Tutorial

Demo

http://www.switch.ch/aai/demo/

Page 10: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

10© 2009 SWITCH AAI Tutorial

Demo – try it yourself

Go to https://aai-demo.switch.ch/portal/

Click on „Login” link.

Page 11: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

11© 2009 SWITCH AAI Tutorial

wayf.switch.ch

DS

Inter-organizational Single Sign On

Home Org

DemoResource

aai-demo.switch.ch

https://dokeos.unige.ch

2

13

4

Credentials

5

67

8

9

10Other

Resource

dokeos.unige.ch

Page 12: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

12© 2009 SWITCH AAI Tutorial

Agenda

What is AAI?

Demo

The SWITCHaai federation

Technical details behind AAI

Summary and Q&A

1

2

3

4

5

Page 13: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

13© 2009 SWITCH AAI Tutorial

Growth of the SWITCHaai Federation

20042005200620072008

Page 14: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

14© 2009 SWITCH AAI Tutorial

• A set of organizations agreeing on acommon set of rules and standards

• Goal Cooperate in inter-organizationalauthentication, authorization and accounting

Common trust• Legal

• Technical

What is a Federation?

Page 15: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

15© 2009 SWITCH AAI Tutorial

SWITCHaai: An Example Federation

• Controlled by two bodies: Advisory Committee deals with policies and legal framework Operations Committee deals with technical/operational issues

• Defines two classes of members: Federation Member: organization directly services by SWITCH Federation Partner: organization sponsored by a member

http://switch.ch/aai/about/federation/

Page 16: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

16© 2009 SWITCH AAI Tutorial

SWITCHaai: An Example Federation

• Rules, Policies, & Agreements AAI Policy: concepts and rules for all entities in the federation Service Agreement: legal contract between SWITCH and

federation member Federation Partner Agreement: legal contract between SWITCH

and federation partner CA Acceptance Policy: policy about CAs and certificates

accepted by the federation AAI Attribute Specification: minimum set of required and

optional attributes supported by federation entities

Page 17: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

17© 2009 SWITCH AAI Tutorial

SWITCHaai: An Example FederationFederal law, cantonal law (e.g. data protection)

SWITCHAAI Policy

Service Agreement

Org n

User Regulations

Org ...

User Regulations

Org 2

User Regulations

Org 1

User Regulations

Page 18: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

18© 2009 SWITCH AAI Tutorial

SWITCHaai: Provided services

• Rules, policies, and agreements• Documentation: installation/migrations guides, howtos• Call-in helpdesk and support mailing list• Centralized Services:

Discovery Service Resource Registry (metadata management) Virtual Home Organization Group Management Tool Attribute Viewer

• Test federation• Some application integration support• uApprove shibboleth plugin• Training → http://www.switch.ch/aai/events/installfest-2009/

Page 19: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

19© 2009 SWITCH AAI Tutorial

Agenda

What is AAI?

Demo

The SWITCHaai federation

Technical details behind AAI

Summary and Q&A

1

2

3

4

5

Page 20: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

20© 2009 SWITCH AAI Tutorial

• Open Source

• Word Shibboleth was used toidentify members of a group

• Based on Security AssertionMarkup Language (SAML)

• Internationally used by universities

https://shibboleth.internet2.edu

Shibboleth - The Software

Page 21: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

21© 2009 SWITCH AAI Tutorial

AAI-enabling a Home Organization

Prerequisite• Authentication System• User Directory

Shibboleth is a Java WebApp

Web Servers supported• Tomcat/JBoss• Apache + Tomcat/JBoss• IIS + Tomcat/JBoss

UserDirectory

Principal

Identity Provider

WebAppServer

Shib

bole

th

http://www.switch.ch/aai/howto

AuthenticationSystem

JAAS

JDBC

Page 22: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

22© 2009 SWITCH AAI Tutorial

Shibboleth Service Provider for Apache/IIS

• Runs on: Linux, Solaris, Windows, Mac OS X, FreeBSD, …

• Protects static contentand web applications

• shibd fetches attributesand propagates them

• Can authorize users with Apache directives Shibboleth XML Access rules

• Provides attributes to applications Alternative authorization method

Apache/IISWeb server

Modulesmod_shib mod_php mod_jk

PHPApplication Tomcat

JavaApplication

1

JavaApplication

2

shibd

Page 23: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

23© 2009 SWITCH AAI Tutorial

Federation Metadata

XML File (e.g. metadata.switchaai.xml) that contains list of:• Accepted Root CA certificates• Description of Identity Providers

(incl. embedded certificates)• Description of Service Providers

(incl. embedded certificates)

SWITCHaai Metadata is signed by SWITCH

Metadata technically describes the federation!

http://www.switch.ch/aai/metadata

Page 24: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

24© 2009 SWITCH AAI Tutorial

Zurich

Berne

Lausanne

Dermatology Online with Interactive Technology (DOIT)

Attribute Based Authorization Example

Authorization RuleHomeOrg = UZH | UniBE | UNILAffiliation = StudentStudyBranch = MedicineStudyLevel = 20DOIT: http://www.cyberderm.net

Page 25: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

25© 2009 SWITCH AAI Tutorial

PersonalUnique IdentifierSurnameGiven nameE-mail

User IDMatriculation numberEmployee numberAddress(es)Phone number(s)Preferred languageDate of birthGender

Group MembershipHome Organization NameHome Organization TypeAffiliation

Study branchStudy levelStaff categoryGroup membershipOrganization PathOrganizational Unit Path

SWITCHaai Attributes

Implementation of Attributes Mandatory Recommended or optional

Based on eduPerson Attributes “Schweizerisches

Hochschulinformations-system” (SHIS)

NO password

http://www.switch.ch/aai/attributes

Page 26: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

26© 2009 SWITCH AAI Tutorial

https://spaces.internet2.edu/display/SHIB2/ShibEnabled

Already Shibbolized Applications

• American Chemical Society• ArtSTOR• Atypon• CSA• Digitalbrain PLC• EBSCO Publishing• Elsevier ScienceDirect• ExLibris• H.W. Wilson• JSTOR• The Literary Encyclopedia• Metapress

• Bodington.org• Condor• Confluence Wiki• Darwin Streaming Server• Drupal• DSpace• eAcademy• Fedora Repository• Google Apps/Email• GridSphere• GridShib• Higher Markets• Horde• Hupnet

• JISCmail• LionShare• Media Wiki• Microsoft• MyProxy• Napster• PHEAA• Sharepoint® from Microsoft• SYMPA• Symplicity• TurnItIn• TWiki• uPortal• WordPress• Zope + Plone\

• Blackboard• CLIX• Fronter• ILIAS• INSTRUCT• Moodle• OLAT• Sakai• WebAssign• WebCT

• NSDL• OCLC• Ovid Technologies Inc.• Project MUSE• Proquest Information and Learning• Serials Solutions• SCRAN• Schweizerisches Bundesgericht• Thomson Gale• Thomson Reuters• Useful Utilities - EZproxy

Other Systems:LearningManagementSystems:

Information Providers:

Page 27: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

27© 2009 SWITCH AAI Tutorial

Agenda

What is AAI?

Demo

The SWITCHaai federation

Technical details behind AAI

Summary and Q&A

1

2

3

4

5

Page 28: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

28© 2009 SWITCH AAI Tutorial

AAI makes life easier for everybody

Collaboration between multipleorganizations is simplified

User data is maintainedonly once

Authentication only atuser’s home organization

Users have a single accountfor all their services

AAI - Essential Facts

Page 29: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

29© 2009 SWITCH AAI Tutorial

Q & A

http://www.switch.ch/aai

[email protected]

Questions ?

Page 30: AAI Tutorial - SWITCH · © 2009 SWITCH AAI Tutorial 2 Agenda What is AAI? ... LDAP) but applications maintain identity information ... • Zope + Plone\ • Blackboard • CLIX •

30© 2009 SWITCH AAI Tutorial

SWITCHaai Link Collection

• How to join SWITCHaai? http://www.switch.ch/aai/join

• AAI Support Information http://www.switch.ch/aai/support or ask [email protected]

• AAI-announce Mailinglist http://lists.switch.ch/mailman/listinfo/aai-announce

• The AAI Demo http://www.switch.ch/aai/demo