Mål: Teknisk dokumentation hur ett lärosäte gör för att ge handläggare vid lärosätet tillgång till NyA-webben.
För frågor kring dokumentationen nedan kontakta operations snabel-a SWAMID.SE
Denna sida är under uppbyggnad och är ännu varken fullständig eller testad!
NyA-webben är ett nytt och enklare sätt att ta fram vissa uppgifter ur NyA. Den är ett
komplement till den s k expertklienten, och vänder sig i första hand till personal vid
institutioner (motsvarande) men kan även vara till nytta för andra användargrupper.
Funktionaliteten i den första versionen motsvarar till största del behörighetsnivån
Institutionsanvändare 1 i expertklienten.
Viktiga fördelar med NyA-webben är:
- Till skillnad från expertklienten öppnas den i en vanlig webbläsare.
- Den ska vara lättillgänglig och enkel att använda även för mindre vana
användare. - Den kräver ingen särskild programinstallation eller Java-uppdatering.
Inloggning och rollhantering sker med hjälp av idenitetsfedartionen SWAMID mot den lokala identitetshanteraren för respektive lärosäte. Användare av
expertklienten använder även i fortsättningen traditionellt användarkonto i NyA.
I den första versionen kommer NyA-webben ha två olika roller:
- Basanvändare: Kan titta på sökandes meriter, anmälningar och dokument.
- Institutionsanvändare – utdata: Kan skapa listor och statistik för sökande,
antagna och reserver för en eller institutioner.
Dokument från VHS som beskriver rollhantering i NyA:
- NyA-webben - ett nytt gränssnitt för institutionsanvändare
- Tekniska anpassningar för inloggning till NyA-webben
- Överföringsformat för behörighetsinformation på NyA-webben
Förutsättningar
- Lärosätet har en IdP uppsatt som är medlem i SWAMID (Om frågor - kontakta operations snabel-a SWAMID.SE).
- Attribut skickas till samtliga SP i Swamid enligt wikisidan SWAMID HowTo (Shibboleth 2.x). Särsklt att tänka på är att attributen
eduPersonPrincipalName
(eppn) ochcommonName
(cn) ska överföras till NyA-webben tillsammans med rollerna. - VHS SP för NyA-webben är medlem i SWAMID med (namnet) XXXX.
Rekommenderad arbetsgång
- Modifiera attribute-resolvern för din IdP så att den inkluderar rättighet att använda NyA-webben enligt nedan beskrivet format (
eduPersonEntitlement
(epe)). - Modifiera attribute-release policy för din IdP enligt kod nedan. Syftet är att tillåta ivägskickande av behörighetsinformation till VHS SAMT för test sp.swamid.se
- Verifiera mot sp.swamid.se att ni ser namn, e-postadress, rättighet (entitlement) och unik identitet (
eduPersonPrincipalName
(eppn)). - Kontakta VHS för att få sin IdP inlagd i NyA-webben - appldrift_saml snabel-a VHS.SE.
- Verifiera att inloggning med behörigheter fungerar via aktuell inloggningslänk som VHS tillhandahåller.
Konfiguration för Shibboleth
Konfigurationerna under detta avsnitt fungerar endast för Shibboleth 2 eller senare. För simpleSAMLphp och ADFS2 kan konfigurationsexemplen endast användas som inspiration.
Modifiera filen attribute-resolver.xml:
Alternativ 1: Särskilt attribut finns i LDAP för att visa att en användare har en eller flera roller i NyA-webben
Avsnittet ännu ej klart!
Känd begränsning:
- Endast rättigheten basanvändare är implementerad i detta skript.
<resolver:AttributeDefinition xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="swamiGmaiAssertion" dependencyOnly="true"> <resolver:Dependency ref="myLDAP" /> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="NyAwebbenEntitlement" > <resolver:Dependency ref="swamiGmaiAssertion" /> <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:mace:dir:attribute-def:eduPersonEntitlement" /> <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.7" friendlyName="eduPersonEntitlement" /> <Script> <![CDATA[ importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider); // Definiera lärosäteskod i NyA larosatekod = new String("YY"); NyAwebbenEntitlement = new BasicAttribute("NyAwebbenEntitlement"); if (swamiGmaiAssertion) { for (i=0; i < swamiGmaiAssertion.getValues().size(); i++) { // Basanvändare ej begränsad till enskild institution if (swamiGmaiAssertion.getValues().get(i).equals("urn:mace:swami.se:gmai:NyA:base")) { NyAwebbenEntitlement.getValues().add(String.concat("urn:mace:swami.se:gmai:nya-dw:base:o=",larosatekod)); } } } ]]> </Script> </resolver:AttributeDefinition>
Alternativ 2: Grupper i LDAP används för att visa att en användare har en eller flera roller i NyA-webben (fungerar med Actice Directory)
Avsnittet ännu ej klart!
Förutsättningar:
- När detta skrivs finns två roller NyA-webben, basanvändare och institutionsanvändare.
- Basanvändare (titta på info, meriter, anmälningar och dokument för sökande) är inte kopplat till institution:
- eduPersonEntitlement: urn:mace:swami.se:gmai:nya-dw:base:o=YY
- Medlemmar i gruppen "NyA-webben-Base" ska få rollen när de loggar in i NyA-webben.
- Institutionsanvändare - utdata (skapa listor och statistik):
- eduPersonEntitlement: urn:mace:swami.se:gmai:nya-dw:department:o=YY:norEduOrgUnitUniqueNumber=ZZZZ
- Medlemmar i gruppen "NyA-webben-Department-ZZZZ" för institution ZZZZ ska få rollen för angiven institutionskod när de loggar in i NyA-webben.
- YY är lärosätes kod i NyA, t.ex. UU.
- ZZZZ är en institutionskod, t.ex. 4010.
Känd begränsning:
- Grupper i grupper fungerar inte.
<resolver:AttributeDefinition xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="memberOf" dependencyOnly="true"> <resolver:Dependency ref="myLDAP" /> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="NyAwebbenEntitlement" > <resolver:Dependency ref="memberOf" /> <resolver:AttributeEncoder xsi:type="SAML1String" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" name="urn:mace:dir:attribute-def:eduPersonEntitlement" /> <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.7" friendlyName="eduPersonEntitlement" /> <Script> <![CDATA[ importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider); // Definiera lärosäteskod i NyA larosatekod = new String("YY"); // Definiera grupp för basanvändare baseGroup = new String("NyA-webben-Base"); // Definiera grupprefix för de olika rollerna deparmentGroupPrefix = new String("NyA-webben-Department-"); NyAwebbenEntitlement = new BasicAttribute("NyAwebbenEntitlement"); if (memberOf) { for (i=0; i < memberOf.getValues().size(); i++) { // Basanvändare ej begränsad till enskild institution if (memberOf.getValues().get(i).equals(baseGroup) { NyAwebbenEntitlement.getValues().add(String.concat("urn:mace:swami.se:gmai:nya-dw:base:o=",larosatekod)); } // Institutionsanvändare begränsat till enskild institution via gruppnamnet else if (DeparmentGroupPrefix.equals(memberOf.getValues().get(i).substring(0,DeparmentPrefix.length()-1)) { NyAwebbenEntitlement.getValues().add(String.concat("urn:mace:swami.se:gmai:nya-dw:department:o=",larosatekod,":norEduOrgUnitUniqueNumber=",memberOf.getValues().get(i).substring(DeparmentPrefix.length(),memberOf.getValues().get(i).length()))); } } } ]]> </Script> </resolver:AttributeDefinition>
Modifiera filen attribute-filter.xml enligt:
<AttributeFilterPolicy id="releaseNyAwebbenEntitlement"> <PolicyRequirementRule xsi:type="basic:OR"> <basic:Rule xsi:type="basic:AttributeRequesterString" value="XXXX" /> <basic:Rule xsi:type="basic:AttributeRequesterString" value="https://sp.swamid.se/shibboleth" /> </PolicyRequirementRule> <AttributeRule attributeID="NyAwebbenEntitlement"> <PermitValueRule xsi:type="basic:ANY" /> </AttributeRule> </AttributeFilterPolicy>