Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

Denna sida är under framtagande!

I identitetsfederationen SWAMID är tillit till att universitet och högskolor hanterar användare och inloggningar tillräckligt bra grunden för att tjänsteleverantörer ska lita på att det är rätt användare som loggar in. För att definiera vad som är tillräckligt bra i SWAMID finns två tillitsprofiler, SWAMID AL1 och SWAMID AL2. För mer information om tillitsprofilerna se sidan SWAMID Identity AssuranceSWAMIDs Assurance Profiles.

Notera att det även är rekommenderat att släppa värden från REFEDS Assurance Framework tillsammans med SWAMIDs tillitsprofiler, se Release of assurance statements in the attribute eduPersonAssurance based on SWAMID Identity Profiles.

Organisationens tillitsprofiler i metadata

En identitetsutgivare får aldrig signalera annan tillitsprofil för en användare än vad både organisationen och användaren är godkända för. Organisationens godkännanden finns inlagd inlagt av SWAMID i metadatan för dess identitetsutgivare. Om en organisation är godkänd för SWAMID AL2 finns de unika identifierarna för både SWAMID AL1 och SWAMID AL2 medan om en organisation är godkänd för SWAMID AL1 finns endast den unika identifieraren för SWAMID AL1.

...

Att både SWAMID AL1 och SWAMID AL2 signaleras för en användare som är godkänd för SWAMID AL2 beror på att tjänsteleverantörerna inte ska behöva veta tillitsprofilernas inbördes ordning.

Exempel Shibboleth: eduPersonAssurance finns i LDAP med endast högsta värdet

Förutsättningar:


Code Block
languagexml
<resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="eduPersonAssurance" >
     <resolver:Dependency ref="myLDAP" />
     <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:mace:dir:attribute-def:eduPersonAssurance" />
     <resolver:AttributeEncoder xsi:type="SAML2String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" friendlyName="eduPersonAssurance" />
     <Script>
          <![CDATA[
               if ((eduPersonAssurance) && (eduPersonAssurance.getValues().contains("http://www.swamid.se/policy/assurance/al2"))) {
                    eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al1");
               }
          ]]>
     </Script>
</resolver:AttributeDefinition>

Exempel Shibboleth: eduPersonAssurance finns i Active Directory som gruppmedlemskap

Förutsättningar:

  • Användare som endast är godkända för SWAMID AL1 är medlemmar i gruppen SWAMID-AL1.
  • Användare som är godkända för SWAMID AL2 är medlemmar i gruppen SWAMID-AL2.

 

...

  • Användare som inte är godkända för varken SWAMID AL1 eller SWAMID AL2 är inte medlemmar i någon av dessa bägge grupper.


Code Block
languagexml
 <resolver:AttributeDefinition xsi:type="Script" id="eduPersonAssurance" >
     <resolver:Dependency ref="myLDAP" />
     <resolver:AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:eduPersonAssurance" />
     <resolver:AttributeEncoder xsi:type="SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.11" friendlyName="eduPersonAssurance" />
     <Script>
          <![CDATA[
               if (memberOf) {
                    for (i=0; i < memberOf.getValues().size(); i++) {
                         if (memberOf.getValues().get(i).equals("SWAMID-AL1")) {
                              eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al1");
                         }
                         else if (memberOf.getValues().get(i).equals("SWAMID-AL2")) {
                              eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al1");
                              eduPersonAssurance.getValues().add("http://www.swamid.se/policy/assurance/al2");
                         }
                    }
               }
          ]]>
     </Script>
</resolver:AttributeDefinition>