Attributo Affiliazione

Da WIKI IDEM GARR.
Jump to navigation Jump to search

Descrizione generale

L'affiliazione definisce la relazione che esiste tra l'utente e la propria Organizzazione di Appartenenza.

In IDEM l'attributo che contiene i valori di affiliazione è eduPersonScopedAffiliation nella forma eduPersonAffiliation@<idp-scope>. I valori che eduPersonAffiliation può contenere sono limitati e definiti da una specifica grammatica:

https://wiki.refeds.org/display/STAN/eduPerson+2020-01#eduPerson202001-eduPersonAffiliation

In particolare i valori usati in IDEM sono soltanto: student, staff, alum, member, affiliate e library-walk-in.

Preghiamo di notare che member non può essere rilasciato da solo ma deve essere sempre asserito in corrispondenza delle specializzazioni di affiliazione student e staff.

Le classi alum, affiliate e library-walk-in non sono tipicamente da considerarsi Membri dell'Organizzazione (a meno che non si verifichino casi particolari indicati nella sezione "Descrizione delle classi di affiliazione").

Riferimenti

https://wiki.refeds.org/display/STAN/eduPerson eduPerson Specification e download del file ldif

File:SpecificheTecnicheAttributi v3.0 20161129.pdf Documento ufficiale IDEM "Specifiche tecniche per la compilazione e l'uso degli attributi"

Descrizione delle classi di affiliazione

Member contiene tutte le persone che hanno un rapporto istituzionale con l'organizzazione di appartenenza e ai quali viene dato un insieme base di privilegi. Sono member tutti gli appartenenti a staff e student, ma tipicamente non gli alum.

Student e staff sono quindi due specializzazioni distinte di member:

  • Il valore staff va utilizzato per tutto il personale (docenti, personale amministrativo, bibliotecario e tecnico di supporto) in servizio presso l'organizzazione di appartenenza, con qualunque tipo di contratto, anche a tempo determinato, oppure rientrante nei contratti cosiddetti atipici.
  • Con student si indicano gli studenti regolarmente iscritti ad uno dei corsi dell'organizzazione di appartenenza.

Affiliate si applica alle persone con le quali l'organizzazione di appartenenza ha una qualsiasi forma di rapporto ed alle quali è necessario attribuire un'identità di utente, ma per cui non vengono estesi i privilegi derivanti dall'essere membri dell'organizzazione stessa. Potrebbero rientrare in questa categoria i fornitori di servizi o di materiali delle organizzazioni, ricercatori di altre organizzazioni che collaborano con un gruppo interno, persone per le quali è necessaria l'identificazione per servizi molto particolari riservati ad esterni all'università stessa. Normalmente gli affiliate non sono member , se non in casi eccezionali: ad esempio uno studente che sia anche dipendente di una ditta che fornisce servizi ad un'università.

Alum comprende gli ex studenti dell'organizzazione di appartenenza che hanno completato almeno il primo livello di studi. E’ possibile che un alum sia anche staff oppure affiliate dell'organizzazione.

Library-walk-in indica i frequentatori di una biblioteca ed è pensato per semplificare la gestione di frequenti accordi contrattuali con i fornitori di risorse. Il valore è indipendente dagli altri valori indicanti l'affiliazione, ciò vuol dire che il possedere tale requisito non influisce o pregiudica l'avere un altro tipo di affiliazione e viceversa.

Corrispondenza tra le categorie note e le possibili affiliazioni

Fare riferimento alla tabella riportata nel documento File:SpecificheTecnicheAttributi v3.0 20161129.pdf pagina 30.

Esempi Pratici

  • Personale tecnico amministrativo e docenti:
    1. eduPersonAffiliation​:​ staff
    2. eduPersonAffiliation​:​ member
  • Studenti:
    1. eduPersonAffiliation​:​ student
    2. eduPersonAffiliation​:​ member
  • Studente con un contratto presso la stessa università:
    1. eduPersonAffiliation​:​ student
    2. eduPersonAffiliation​:​ staff
    3. eduPersonAffiliation​:​ member
  • Ex studente:
    1. eduPersonAffiliation​:​ alum

Esempi di implementazione Shib IdP v4

Tutti gli esempi qui sotto riportati fanno riferimento al file di configurazione attribute-resolver.xml.

Per approfondimenti su come funziona la definizione di Attributi (Attribute Definition) in Shibboleth Idp fare riferimento alla pagina dedicata: ComeRilasciareAttributiShibv4

eduPersonAffiliation con definizione Mapped (Corso Migrazione)

eduPersonAffiliation con definizione Mapped attribute-resolver-dynamic.xml tratto dal corso Corso Migrazione a Shibboleth IdP v4

eduPersonAffiliation con definizione Mapped ricavato dal login name contenuto nell'attributo uid

 1 <!-- file attribute-resolver.xml -->
 2 
 3 <AttributeDefinition id="eduPersonAffiliation" xsi:type="Mapped">
 4     <InputDataConnector ref="myLDAP" attributeNames="uid" />
 5     <ValueMap>
 6         <ReturnValue>student</ReturnValue>
 7         <SourceValue>stud.+</SourceValue>
 8     </ValueMap>
 9     <ValueMap>
10         <ReturnValue>staff</ReturnValue>
11         <SourceValue>dir.+</SourceValue>
12     </ValueMap>
13     <ValueMap>
14         <ReturnValue>member</ReturnValue>
15         <SourceValue>stud.+</SourceValue>
16         <SourceValue>dir.+</SourceValue>
17     </ValueMap>
18 </AttributeDefinition>


eduPersonAffiliation con definizione Mapped ricavato dal nome del gruppo eventualmente contenuto in uno speciale attributo Usergroup

 1 <!-- file attribute-resolver.xml -->
 2 
 3 <AttributeDefinition id="eduPersonAffiliation" xsi:type="Mapped">
 4     <InputDataConnector ref="myLDAP" attributeNames="Usergroup" />
 5     <DefaultValue>affiliate</DefaultValue>
 6     <ValueMap>
 7         <ReturnValue>staff</ReturnValue>
 8         <SourceValue partialMatch="true">D</SourceValue>
 9     </ValueMap>
10     <ValueMap>
11         <ReturnValue>student</ReturnValue>
12         <SourceValue partialMatch="true">ST</SourceValue>
13     </ValueMap>
14     <ValueMap>
15         <ReturnValue>alum</ReturnValue>
16         <SourceValue partialMatch="true">A</SourceValue>
17     </ValueMap>
18     <ValueMap>
19         <ReturnValue>member</ReturnValue>
20         <SourceValue>[^ ]+</SourceValue>
21     </ValueMap>
22 </AttributeDefinition>

eduPersonAffiliation con definizione Mapped ricavato a partire dal nome DN del ramo LDAP e contenuto nell'attributo distinguishedName

 1 <!-- file attribute-resolver.xml -->
 2 
 3 <AttributeDefinition id="eduPersonAffiliation" xsi:type="Mapped">
 4     <InputDataConnector ref="myLDAP" attributeNames="distinguishedName" />
 5     <ValueMap>
 6         <ReturnValue>affiliate</ReturnValue>
 7         <SourceValue partialMatch="true">,OU=Affiliati,OU=People,DC=example,DC=org</SourceValue>
 8     </ValueMap>
 9     <ValueMap>
10         <ReturnValue>staff</ReturnValue>
11         <SourceValue partialMatch="true">,OU=Staff,OU=People,DC=example,DC=org</SourceValue>
12     </ValueMap>
13     <ValueMap>
14         <ReturnValue>student</ReturnValue>
15         <SourceValue partialMatch="true">,OU=Studenti,OU=People,DC=example,DC=org</SourceValue>
16     </ValueMap>
17     <ValueMap>
18         <ReturnValue>member</ReturnValue>
19         <SourceValue partialMatch="true">,OU=Studenti,OU=People,DC=example,DC=org</SourceValue>
20         <SourceValue partialMatch="true">,OU=Staff,OU=People,DC=example,DC=org</SourceValue>
21     </ValueMap>
22 </AttributeDefinition>

eduPersonScoped Affiliation con definizione Scoped

Dopo aver scelto la modalità di generazione per eduPersonAffiliation sarà necessario procedere alla definizione (Attribute Definition) di eduPersonScopedAffiliation che è un attributo obbligatorio per la partecipazione a IDEM.

<!-- file attribute-resolver.xml -->

<AttributeDefinition scope="%{idp.scope}" xsi:type="Scoped" id="eduPersonScopedAffiliation">
        
    <!-- se eduPersonAffiliation viene preso dal DataConnector usare "InputDataConnector" -->
    <!-- <InputDataConnector ref="myLDAP" attributeNames="eduPersonAffiliation" /> -->

    <!-- se eduPersonAffiliation è stato definito come Attribute Definition usare "InputAttributeDefinition" -->
    <InputAttributeDefinition ref="eduPersonAffiliation" />

</AttributeDefinition>