Versions Compared

Key

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

...

Synkronisering av ESIBeskrivning
Ladok -> eduIDLärosätet kan tillåta eduID att hämta ESI för lärosätets studenter från Ladok (via Ladoks REST-API)
Ladok -> Lärosäte -> eduIDLärosätet kan själv hämta ESI för sina studenter från Ladok och därefter skicka in dessa till eduID (via en SCIM-integration mot eduID)
eduID -> LärosäteLärosätet kan hämta ESI för sina studenter från eduID (via en SCIM-integration mot eduID)

Att göra attributrelease av ESI från en identitetsutfärdare

...

MyAcademicID använder entitetskategorin Géant Data Protection Code of Conduct för alla attribut som överförs från lärosätenas identitetsutfärdare förutom för European Student Identifier (ESI). Det beror på att ESI använder det multivärda attributet schacPersonalUniqueCode.  Detta attribut kan innehålla många olika värden med olika syfte och det är av integritets- och säkerhetsskäl endast lämpligt att släppa ESI till tjänster som har rätt att använda det.

...

För Shibboleth Identity Provider har SWAMID uppdaterat SWAMID:s exempelfiler för resolver och filter på hur ESI-värdet släpps genom ett automatiserat beslut. Se wikisidorna "Example of a standard attribute resolver for Shibboleth IdP v3.4.0 and above" och "Example of a standard attribute filter for Shibboleth IdP v3.4.0 and above" och sök på attributet schacPersonalUniqueCode för att se exempelkonfigurationerna.

Active Directory Federation Services (ADFS)

...

ADFS Toolkit har än så länge inte inbyggt stöd i version 2.0.0 och 2.0.1 för att släppa ESI via entitetskategori utan det behöver f.n. konfigureras manuellt i ADFS för respektive tjänst som använder ESI. För att manuellt konfigurera attributrelease av ESI till MyAcademicID se rubriken "Manuell konfiguration av attributrelease" nedan samt rubriken "Configuring manual Attribute Release" på wikisidan How to consume SWAMID metadata with ADFS Toolkit.ADFS Toolkit kommer att uppdateras med stöd för ESI-kategorin vid nästa uppdatering.en uppdatering av SWAMID-inställningarna behöver laddas ner och konfigureras manuellt. ADFS Toolkit kommer från och med version 2.1.0 att ha stöd för ESI-kategorin. Det finns inget stöd i version 1.0 och tidigare!

Instruktion för att hantera ESI i ADFS Toolkit 2.0.0 och 2.0.1

För att snabbt få stöd för ESI-kategorin innan den byggts in i ADFS Toolkit har SWAMID släppt en utökad federationsfil som kan importeras via ett kommando, se nedan.  Federationsfilen innehåller dels specifika entitetskategorier för SWAMID, dels defaultvärden för ADFS Toolkit så att man inte behöver ta reda på URL:en till metadatat eller certifikatets fingerprint som signerar metadatat. 

Steg 1 - Ladda ner den nya versionen av SWAMID:s federationsfil

Använd följade kommando för att ladda ner och uppdatera SWAMID:s federationsfil(er):

Code Block
languagebash
Get-ADFSTkFederationDefaults -URL https://mds.swamid.se/md/SWAMID_FederationDefaults.zip -InstallDefaults

Federationsfilen packas upp och lägger sina filer i mappen "C:\ADFSToolkit\config\federation\SWAMID".

Den intressanta filen i det här sammanhanget är "C:\ADFSToolkit\config\federation\SWAMID\SWAMID_entityCategories.ps1".

I filen har vi lagt till ett kodblock, #European Student Identifier Entity Category, som i sin tur innehåller två delar, en av dem är utkommenterad (raderna som startar med #).

Code Block
languagec#
    #European Student Identifier Entity Category
    $TransformRules = [Ordered]@{}
    
    $TransformRules.schacPersonalUniqueCode = [PSCustomObject]@{
        Rule=@"
        @RuleName = "compose schacPersonalUniqueCode for ESI"
        c:[Type == "urn:mace:dir:attribute-def:schacPersonalUniqueCode", Value =~ "^urn:schac:PersonalUniqueCode:int:esi:"]
         => issue(Type = "urn:oid:1.3.6.1.4.1.25178.1.2.14",
         Value = c.Value,
         Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
"@
        Attribute="urn:mace:dir:attribute-def:schacPersonalUniqueCode"
        AttributeGroup="ID's"
    }

#     $TransformRules.schacPersonalUniqueCode = [PSCustomObject]@{
#         Rule=@"
#         @RuleName = "compose schacPersonalUniqueCode for ESI"
#         c:[Type == "urn:mace:dir:attribute-def:schacPersonalUniqueCode"]
#          => issue(Type = "urn:oid:1.3.6.1.4.1.25178.1.2.14",
#          Value = "urn:schac:PersonalUniqueCode:int:esi:ladok.se:externtstudentuid-" + c.Value,
#          Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
# "@
#         Attribute="urn:mace:dir:attribute-def:schacPersonalUniqueCode"
#         AttributeGroup="ID's"
#     }

    $IssuanceTransformRuleCategories.Add("https://myacademicid.org/entity-categories/esi",$TransformRules)

    ###
  1. Det övre stycket släpper alla värden i schacPersonalUniqueCode som böjar på "urn:schac:PersonalUniqueCode:int:esi:". 
  2. Det nedre stycket tar alla värden i schacPersonalUniqueCode och släpper ett nytt värde som byggs ihop av "urn:schac:PersonalUniqueCode:int:esi:externtstudentuid-" + värdet.

Har ni behovet att bygga ihop ESI-strängen, kommentera ut det övre stycket och avkommentera det undre.

Steg 2 - Konfigurera var ADFS Toolkit kan hämta värden för schacPersonalUniqueCode

Fil att ändra är C:\ADFSToolkit\config\institution\config.Swamid.xml (standardplats).
Lägg till följande rad någonstans i filen inom <attributes> taggen (långt ner i filen).

Code Block
languagexml
<attribute type="urn:mace:dir:attribute-def:schacPersonalUniqueCode" store="Active Directory" name="externtstudentuid" />

Observera att attributnamnet externtstudentuid måste ersättas med det attribut där ni lagrar ESI-värdet i Active Directory.

Värdet kan lika gärna hämtas från en annan källa, t.ex. SQL/Custom Store om så önskas.

Steg 3 - Gör en import av en SP och tvinga en entitetskategori

För att testa konfigurationen ovan kan man antingen importera en SP som har rätt entitetskategori i metadatat eller tvinga en entitetskategori på en test-SP.
Man kan också "torrsimma" och emulera vilka attribut som kommer släppas med kommadot Get-ADFSTkToolsIssuanceTransformRules.

Använd följande kommando för att se attributreglerna som kommer skapas för SWAMID:s testtjänst för ESI:

Code Block
languagepowershell
Get-ADFSTkToolsIssuanceTransformRules -entityId https://esi.release-check.swamid.se/shibboleth

Använd följande kommando för att tvinga en entitetskategori på MyAcademicID:

Code Block
languagepowershell
Import-ADFSTkMetadata -EntityId 'https://proxy.prod.erasmus.eduteams.org/metadata/backend.xml' -ConfigFile 'C:\ADFSToolkit\config\institution\config.Swamid.xml' -ForcedEntityCategories 'https://myacademicid.org/entity-categories/esi' -ForceUpdate

För att se resultatet av importen, använd följande kommando:

Code Block
languagepowershell
Get-AdfsRelyingPartyTrust -Identifier 'https://proxy.prod.erasmus.eduteams.org/metadata/backend.xml' | Select -ExpandProperty IssuanceTransformRules

Manuell konfiguration av attributrelease

...