Jump to: navigation, search

Difference between revisions of "SSO"

(OpenID)
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
= Single sign-on =
 
= Single sign-on =
L'esigenza è quella di realizzare un sistema per il controllo degli accessi in grado di consentire, a tutti gli utenti afferenti a RITMARE, l'utilizzo di un unico profilo per accedere a tutti i servizi web che compongono l'infrastruttura interoperabile di RITMARE.
+
L'esigenza è quella di realizzare un sistema per il controllo degli accessi in grado di consentire, a tutti gli utenti afferenti a RITMARE, l'utilizzo di un unico profilo per accedere a tutti i servizi web che compongono l'infrastruttura interoperabile.
 +
 
 +
== Use cases ==
 +
Elenco di alcuni use cases che andrebbero supportati, da verificare e complementare:
 +
 
 +
* UC1 - Accesso semplice da istanza di Starter Kit allo stesso nodo:
 +
** L'amministratore locale del nodo ha creato a tempo debito gli account per gli utenti che dovranno accedere al nodo in lettura e/o scrittura. Due possibilità:
 +
*** l'utente NON è un utente Ritmare e potrà quindi accedere al solo nodo locale (decidere se solo in lettura o se dare anche l'opzione di creare un utente non-Ritmare con diritti di modifica;
 +
*** l'utente è un utente Ritmare perchè l'email associata al suo account è tra quelle dei partecipanti al progetto. Viene creao un certificato per l'utente; decidere come questo possa essere recuperato dall'utente.
 +
** L'utente accede al nodo utilizzando l'account che è stato creato per lui.
 +
 
 +
* UC2 - Accesso dal portale centrale ad una risorsa messa a disposizione da un nodo presso il quale l'utente non ha un account.
 +
...
 +
 
 +
== WebID ==
 +
https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/identity-respec.html (pubblicata il 2 Aprile 2014)
  
 
== OpenID ==
 
== OpenID ==
Line 7: Line 22:
 
* Intro Wikipedia: http://en.wikipedia.org/wiki/OpenID
 
* Intro Wikipedia: http://en.wikipedia.org/wiki/OpenID
 
* Esempio di Service Provider implementato dall'infrastruttura Creative Commons: https://creativecommons.net/h/openid/
 
* Esempio di Service Provider implementato dall'infrastruttura Creative Commons: https://creativecommons.net/h/openid/
 +
* Howto per [http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtOpenIDWebIDProxyServiceGuide l'integrazione di WebID e OpenID] attraverso Virtuoso per ottenere un SSO senza username e password
  
 
== Infrastruttura RITMARE é OpenID ==
 
== Infrastruttura RITMARE é OpenID ==
* OpenID provider OD, dove ogni utente potrà gestire il proprio profilo e l'amministratore può associare il profilo a differenti ruoli/permessi.
+
* OpenID provider OD, dove ogni utente può gestire il proprio profilo e l'amministratore centrale può associare il profilo a differenti ruoli/permessi.
 
* Il nodo centrale e i nodi GeoSK possono autenticare l'utente utilizzando l'OpenID provider.
 
* Il nodo centrale e i nodi GeoSK possono autenticare l'utente utilizzando l'OpenID provider.
* Gli amministratori dei singoli nodi periferici possono continuare a gestire gli utenti locali
+
* Gli amministratori dei singoli nodi periferici possono continuare a gestire gli utenti locali. Questo per consentire l'accesso a singole risorse e/o funzionalità anche a utenti esterni a RITMARE.
  
== Implementazione per GeoSK / Django ==  
+
== Possibili implementazioni ==  
 
=== Client ===
 
=== Client ===
* Django Social Auth: tra quelle disponibili per Django è quella più attiva.
+
* Django Social Auth: tra quelle disponibili per Django è quella più matura con una comunità molto attiva
* Codice https://github.com/omab/django-social-auth
+
** Codice https://github.com/omab/django-social-auth
* Documentazione http://django-social-auth.readthedocs.org/
+
** Documentazione http://django-social-auth.readthedocs.org/
 +
* Il progetto è stato riversato nel nuovo progetto Python Social Auth https://github.com/omab/python-social-auth
  
=== Server ===
+
=== Server (OpenID provider) ===
* TODO
+
* OpenAM http://openam.forgerock.org/ : strumento completo ma forse un po' troppo complesso perché, oltre allo standard OpenAM, implementa numerosi altri sistemi di autenticazione federata.
 +
* TODO [ricerca da completare]

Latest revision as of 14:41, 3 April 2014

Single sign-on

L'esigenza è quella di realizzare un sistema per il controllo degli accessi in grado di consentire, a tutti gli utenti afferenti a RITMARE, l'utilizzo di un unico profilo per accedere a tutti i servizi web che compongono l'infrastruttura interoperabile.

Use cases

Elenco di alcuni use cases che andrebbero supportati, da verificare e complementare:

  • UC1 - Accesso semplice da istanza di Starter Kit allo stesso nodo:
    • L'amministratore locale del nodo ha creato a tempo debito gli account per gli utenti che dovranno accedere al nodo in lettura e/o scrittura. Due possibilità:
      • l'utente NON è un utente Ritmare e potrà quindi accedere al solo nodo locale (decidere se solo in lettura o se dare anche l'opzione di creare un utente non-Ritmare con diritti di modifica;
      • l'utente è un utente Ritmare perchè l'email associata al suo account è tra quelle dei partecipanti al progetto. Viene creao un certificato per l'utente; decidere come questo possa essere recuperato dall'utente.
    • L'utente accede al nodo utilizzando l'account che è stato creato per lui.
  • UC2 - Accesso dal portale centrale ad una risorsa messa a disposizione da un nodo presso il quale l'utente non ha un account.

...

WebID

https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/identity-respec.html (pubblicata il 2 Aprile 2014)

OpenID

OpenID sembra essere tra le soluzioni più interessanti utilizzabili per implementare un sistema di autenticazioni SSO. In particolare, sembra adattarsi bene all'approccio linked data/FOAF adottato per la rappresentazione del profilo dei Ricercatori/Utenti afferenti.

Infrastruttura RITMARE é OpenID

  • OpenID provider OD, dove ogni utente può gestire il proprio profilo e l'amministratore centrale può associare il profilo a differenti ruoli/permessi.
  • Il nodo centrale e i nodi GeoSK possono autenticare l'utente utilizzando l'OpenID provider.
  • Gli amministratori dei singoli nodi periferici possono continuare a gestire gli utenti locali. Questo per consentire l'accesso a singole risorse e/o funzionalità anche a utenti esterni a RITMARE.

Possibili implementazioni

Client

Server (OpenID provider)

  • OpenAM http://openam.forgerock.org/ : strumento completo ma forse un po' troppo complesso perché, oltre allo standard OpenAM, implementa numerosi altri sistemi di autenticazione federata.
  • TODO [ricerca da completare]