KnowledgeBase: differenze tra le versioni

Da WIKI IDEM GARR.
Vai alla navigazione Vai alla ricerca
Malavolti@garr.it (discussione | contributi)
m Malavolti@garr.it ha spostato la pagina IDEM:KnowledgeBase a KnowledgeBase: Rimozione NS "IDEM:"
Malavolti@garr.it (discussione | contributi)
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
Questa pagina raccoglie diverse informazioni e casi presentati a IDEM e loro risoluzioni
Questa pagina raccoglie diverse informazioni e casi presentati a IDEM e loro risoluzioni


== CASO 1 - Autenticazione Multivalore ==
==CASO 1 - Autenticazione Multivalore==
=== Problema ===
===Problema===
Si vuole permettere ai propri utenti di autenticarsi al proprio IdP Shibboleth inserendo come username il valore di uno dei seguenti campi LDAP:  uid, mail.
Si vuole permettere ai propri utenti di autenticarsi al proprio IdP Shibboleth inserendo come username il valore di uno dei seguenti campi LDAP:  uid, mail.


Esempio:
Esempio:
    
    
* username: '''nome.cognome'''
*username: '''nome.cognome'''
* username: '''nome.cognome@example.org'''
*username: '''nome.cognome@example.org'''


=== Soluzione ===
===Soluzione===
Modificare opportunamente i seguenti valori di <code>ldap.properties</code>:
Modificare opportunamente i seguenti valori di <code>ldap.properties</code>:


Prima:
Prima:
* <code>idp.authn.LDAP.userFilter = (uid={user})</code>
 
* <code>idp.attribute.resolver.LDAP.searchFilter        = (uid=$resolutionContext.principal)</code>
*<code>idp.authn.LDAP.userFilter = (uid={user})</code>
*<code>idp.attribute.resolver.LDAP.searchFilter        = (uid=$resolutionContext.principal)</code>


Dopo:
Dopo:
* <code>idp.authn.LDAP.userFilter                      = (|(uid={user})(mail={user}))</code>
 
* <code>idp.attribute.resolver.LDAP.searchFilter        = (|(uid=$resolutionContext.principal)(mail=$resolutionContext.principal))</code>
*<code>idp.authn.LDAP.userFilter                      = (|(uid={user})(mail={user}))</code>
*<code>idp.attribute.resolver.LDAP.searchFilter        = (|(uid=$resolutionContext.principal)(mail=$resolutionContext.principal))</code>


Una volta eseguita la modifica riavviare il Servlet Container (Jetty o Tomcat) per applicare il cambiamento.
Una volta eseguita la modifica riavviare il Servlet Container (Jetty o Tomcat) per applicare il cambiamento.
==CASO 2 - Restringere l'accesso a determinate Location su uno Shibboleth SP==
==='''Problema'''===
Si vuole concedere l'accesso a specifiche <code>Location</code> della propria risorsa federata solamente a determinate istituzioni.
Si deve installare e configurare un Discovery Service aggiuntivo che poi sarà utilizzato solamente per specifiche <code>Location</code>.
Esempio:
- <code><nowiki>https://sp.example.org/secure-all</nowiki></code> (usa l'Embedded Discovery Service di Shibboleth per tutti gli istituti)
- <code><nowiki>https://sp.example.org/secure-limited</nowiki></code> (usa un WAYF o Discovery Service Centralizzato per gli istituti ammessi)
===Soluzione===
DOC: https://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2065334723/ContentSettings<syntaxhighlight lang="apacheconf">
<Location /secure-mfa>
  ShibRequestSetting discoveryURL https://wayf.idem-test.garr.it/WAYF
  Authtype shibboleth
  ShibRequireSession On
  require valid-user
</Location>
</syntaxhighlight>

Versione attuale delle 15:26, 12 mar 2024

Questa pagina raccoglie diverse informazioni e casi presentati a IDEM e loro risoluzioni

CASO 1 - Autenticazione Multivalore

Problema

Si vuole permettere ai propri utenti di autenticarsi al proprio IdP Shibboleth inserendo come username il valore di uno dei seguenti campi LDAP: uid, mail.

Esempio:

  • username: nome.cognome
  • username: nome.cognome@example.org

Soluzione

Modificare opportunamente i seguenti valori di ldap.properties:

Prima:

  • idp.authn.LDAP.userFilter = (uid={user})
  • idp.attribute.resolver.LDAP.searchFilter = (uid=$resolutionContext.principal)

Dopo:

  • idp.authn.LDAP.userFilter = (|(uid={user})(mail={user}))
  • idp.attribute.resolver.LDAP.searchFilter = (|(uid=$resolutionContext.principal)(mail=$resolutionContext.principal))

Una volta eseguita la modifica riavviare il Servlet Container (Jetty o Tomcat) per applicare il cambiamento.

CASO 2 - Restringere l'accesso a determinate Location su uno Shibboleth SP

Problema

Si vuole concedere l'accesso a specifiche Location della propria risorsa federata solamente a determinate istituzioni.

Si deve installare e configurare un Discovery Service aggiuntivo che poi sarà utilizzato solamente per specifiche Location.


Esempio:

- https://sp.example.org/secure-all (usa l'Embedded Discovery Service di Shibboleth per tutti gli istituti)

- https://sp.example.org/secure-limited (usa un WAYF o Discovery Service Centralizzato per gli istituti ammessi)

Soluzione

DOC: https://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2065334723/ContentSettings

<Location /secure-mfa>
  ShibRequestSetting discoveryURL https://wayf.idem-test.garr.it/WAYF
  Authtype shibboleth
  ShibRequireSession On
  require valid-user
</Location>