...
Info |
---|
För mer information om TCS Personal och TCS Personal eScience samt dess möjligheter och krav, se SUNET TCS Personal och SWAMI Wiki: TCS Personal och TCS eScience. |
Förutsättningar
- Lärosätet har en Identity Provider uppsatt som är medlem i SWAMID (Om frågor - kontakta operations snabel-a SWAMID.SE).
- Lärosätet har blivit godkänd och konfigurerad som abonnent av TCS Personal resp. TCS Personal eScience.
- Attribut skickas till Service Providers i SWAMID enligt avsnittet attribute-filter.xml på wikisidan Konfigurera metadata för att använda SWAMID.
- sp.swamid.se används som testmiljö.
Rekommenderad arbetsgång
- Modifiera attribute-resolvern för din Identity Provider så att den inkluderar rättighet att använda TCS enligt nedan beskrivet format (
eduPersonEntitlement
(EPE)). - Modifiera attribute-release policy för din Identity Provider enligt kod nedan. Syftet är att tillåta ivägskickande av uppgift identitetskontroll till certfikatsportalen Confusa SAMT för test på sp.swamid.se.
- Verifiera mot sp.swamid.se att ni ser namn, e-postadress, rättighet (entitlement) och unik identitet (
eduPersonPrincipalName
(EPPN)). - Kontrollera att person med rätt rättighet kan logga in i TCS Personal och TCS Personal eScience med möjlighet att skapa certifikat.
...
Info |
---|
Observera: Konfigurationen under detta avsnitt får endast användas om samtliga användare vid lärosätet uppfyller kraven för att få kvittera ut certfikat av typerna TCS Persoanl Personal och TCS Personal eScience. |
...
Förutsättning: I LDAP finns attributet idControll med värdet "yes" om legtimationskontroll är genomförd för användaren, annars saknas attributet eller har ett annat värde.
Tillägg för administrativa rättigheter: De delar i nedanstående kodexempel som handlar om swamiGmaiAssertion
gäller hur man skickar vidare information om att en person har rättighet att vara administratör av certifikat. I det aktuella exemplet ger värdet urn:mace:swami.se:gmai:tcs:padm
administratörsrättighet i TCS Personal och urn:mace:swami.se:gmai:tcs:eadm
administratörsrättighet i TCS Personal eScience. Observera att personen måste även ha blivit delegerad i certifikatsportalen.
Code Block |
---|
<resolver:AttributeDefinition xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="idControll" dependencyOnly="true" >
|
Code Block |
<resolver:AttributeDefinition xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="idControll" dependencyOnly="true" > <resolver:Dependency ref="myLDAP" /> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="SimpleScript" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="swamiGmaiAssertiontcsPersonalEntitlement" dependencyOnly="true"> <resolver:Dependency ref="myLDAPidControll" /> </resolver:AttributeDefinition> <resolver:AttributeDefinitionAttributeEncoder xsi:type="ScriptSAML1String" xmlns="urn:mace:shibboleth:2.0:resolverattribute:adencoder" id="tcsPersonalEntitlement" > <resolver:Dependency ref="idControll" /> <resolver:Dependency ref="swamiGmaiAssertionname="urn:mace:dir:attribute-def:eduPersonEntitlement" /> <resolver:AttributeEncoder xsi:type="SAML1StringSAML2String" 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.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); tcsPersonalEntitlement = new BasicAttribute("tcsPersonalEntitlement"); if ((idControll) && (idControll.getValues().contains("yes"))) { tcsPersonalEntitlement.getValues().add("urn:mace:terena.org:tcs:personal-user"); } ]]> if (swamiGmaiAssertion) { </Script> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="tcsPersonaleScienceEntitlement" > <resolver:Dependency ref="idControll" /> for (i=0; i < swamiGmaiAssertion.getValues().size(); i++) { if (swamiGmaiAssertion.getValues().get(i).equals("urn:mace:swami.se:gmai:tcs:padm")) {<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[ tcsPersonalEntitlement.getValuesimportPackage().add("urn:mace:terena.org:tcs:personal-admin"Packages.edu.internet2.middleware.shibboleth.common.attribute.provider); tcsPersonaleScienceEntitlement = }new BasicAttribute("tcsPersonaleScienceEntitlement"); if ((idControll) } && (idControll.getValues().contains("yes"))) { tcsPersonaleScienceEntitlement.getValues().add("urn:mace:terena.org:tcs:escience-user"); } ]]> </Script> </resolver:AttributeDefinition> |
Alternativ 2: Grupp används i LDAP för att visa att legitimationskontroll är genomförd (fungerar med Actice Directory)
Förutsättning: Om en person har genomgått legitimationskontroll är denne medlem i gruppen ID-kort
.
Känd begränsning: Grupper i grupper fungerar inte.
Code Block |
---|
<resolver:AttributeDefinition xsi:type="ScriptSimple" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="tcsPersonaleScienceEntitlementmemberOf" > dependencyOnly="true"> <resolver:Dependency ref="idControllmyLDAP" /> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="tcsPersonalEntitlement" > <resolver:Dependency ref="swamiGmaiAssertionmemberOf" /> <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); tcsPersonaleScienceEntitlement = new BasicAttribute("tcsPersonaleScienceEntitlement"); if ((idControll) && (idControll.getValues().contains("yes"))) { tcsPersonaleScienceEntitlement.getValues().add("urn:mace:terena.org:tcs:escience-user"); } if (swamiGmaiAssertion) { for (i=0; i < swamiGmaiAssertion.getValues().size(); i++) { if (swamiGmaiAssertion.getValues().get(i).equals("urn:mace:swami.se:gmai:tcs:eadm")) { tcsPersonaleScienceEntitlement.getValues().add("urn:mace:terena.org:tcs:escience-admin"); } } } ]]> </Script> </resolver:AttributeDefinition> |
Alternativ 2: Grupp används i LDAP för att visa att legitimationskontroll är genomförd (fungerar med Actice Directory)
Förutsättning: Om en person har genomgått legitimationskontroll är denne medlem i gruppen ID-kort
.
Känd begränsning: Grupper i grupper fungerar inte.
Tillägg för administrativa rättigheter: De delar i nedanstående kodexempel som handlar om grupperna TCSpersonalAdmin
och TCSpersonalEscienceAdmin
gäller hur man skickar vidare information om att en person har rättighet att vara administratör av certifikat. I det aktuella exemplet ger gruppen TCSpersonalAdmin
administratörsrättighet i TCS Personal och TCSpersonalEscienceAdmin
administratörsrättighet i TCS Personal eScience. Observera att personen måste även ha blivit delegerad i certifikatsportalen.
Code Block |
---|
<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="tcsPersonalEntitlement" > <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); tcsPersonalEntitlement = new BasicAttribute("tcsPersonalEntitlement"); if (memberOf) { for (i=0; i < memberOf.getValues().size(); i++) {<Script> <![CDATA[ if (memberOf.getValues().get(i).equals("ID-kort")) { importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider); tcsPersonalEntitlement = new BasicAttribute("tcsPersonalEntitlement"); if tcsPersonalEntitlement.getValues().add("urn:mace:terena.org:tcs:personal-user");memberOf) { for (i=0; i < memberOf.getValues().size(); i++) }{ else if (memberOf.getValues().get(i).equals("TCSpersonalAdminID-kort")) { tcsPersonalEntitlement.getValues().add("urn:mace:terena.org:tcs:personal-adminuser"); } } } ]]> </Script> </resolver:AttributeDefinition> <resolver:AttributeDefinition xsi:type="Script" xmlns="urn:mace:shibboleth:2.0:resolver:ad" id="tcsPersonaleScienceEntitlement" > <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); tcsPersonaleScienceEntitlement= new BasicAttribute("tcsPersonaleScienceEntitlement"); if (memberOf) { for (i=0; i < memberOf.getValues().size(); i++) { if (memberOf.getValues().get(i).equals("ID-kort")) { tcsPersonaleScienceEntitlement.getValues().add("urn:mace:terena.org:tcs:escience-user"); } else if (memberOf.getValues().get(i).equals("TCSpersonalEscienceAdmin")) { tcsPersonaleScienceEntitlement.getValues().add("urn:mace:terena.org:tcs:escience-admin"); } } } ]]> </Script> </resolver:AttributeDefinition> |
...