You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

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!

Begränsning

  • Denna sida beskriver endast hur en institutionsanvändare kan få tillgång till NyA-webben genom att lärosätet ger användaren någon av rollerna department (institutionsanvändare - utdata) och base (basanvändare) inklusive institutionskoppling i samband med inloggningen.

Förutsättningar

  1. Lärosätet har en IdP uppsatt som är medlem i SWAMID (Om frågor - kontakta operations snabel-a SWAMID.SE).
  2. Attribut skickas till samtliga SP i Swamid enligt wikisidan SWAMID HowTo (Shibboleth 2.x).
  3. VHS SP för NyA-webben är medlem i SWAMID med (namnet) XXXX.

Rekommenderad arbetsgång

  1. Modifiera attribute-resolvern för din IdP så att den inkluderar rättighet att använda NyA-webben enligt nedan beskrivet format (eduPersonEntitlement (epe)).
  2. 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
  3. Verifiera mot sp.swamid.se att ni ser namn, e-postadress, rättighet (entitlement) och unik identitet (eduPersonPrincipalName (eppn)).
  4. Kontakta VHS för att få sin IdP inlagd i NyA-webben - appldrift_saml snabel-a VHS.SE.
  5. 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!

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:
  • Gruppnamn med prefix följt av Ladoks institutionskod används för att definiera vilka rättigheter användaren ska ha.
  • Grupprefix för institutionsanvändare är "NyA-webben-Deparment-", dvs för ladokkod 4010 blir gruppnamnet "NyA-webben-Deparment-4010".
  • Grupprefix för basanvändare är "NyA-webben-Base-", dvs för ladokkod 4010 blir gruppnamnet "NyA-webben-Base-4010".
  • Antagningssystemets lärosäteskod är "YY".
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 rättigheterna
               deparmentGroupPrefix = new String("NyA-webben-Deparment-");

               NyAwebbenEntitlement = new BasicAttribute("NyAwebbenEntitlement");
               if (memberOf) {
                    for (i=0; i < memberOf.getValues().size(); i++) {
                         if (memberOf.getValues().get(i).equals(baseGroup) {
                              NyAwebbenEntitlement.getValues().add(String.concat("urn:mace:swami.se:gmai:nya-dw:base:o=",larosateKod);
                         }
                         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>

  • No labels