Versions Compared

Key

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

Detta är en guide för hur man sätter upp sk pseudonyma identifierare för Shibboleth IdP:n. Instruktionerna är baserade på en Ubuntu eller debian-baserad Linux men motsvarande bör funka även på andra unix-varianter och Windows. Instruktionerna är baserade på https://www.switch.ch/aai/docs/shibboleth/SWITCH/2.1/idp/install-idp-2.1-debian.html#shibboleth-idp och https://spaces.internet2.edu/display/SHIB2/IdPPersistentNameIdentifier.

En pseudonym identifierare är en permanent, anonym identifierare som är unik för en kombination av IdP, SP och användare. En sådan identfierare kan inte användas för att korrelera information mellan SPer och innehåller heller inte någon persondata. En pseudonym identifierare är oftast lämplig att lämna ut till alla SPer.

...

.

 

Table of Contents

Installera mysql

Code Block
# apt-get install mysql-server

.. under installationen sätts ett root-lösenord ..

...

Skapa databas och tabell

Skapa en databas...

Code Block
# mysql -p
... använd lösenordet från installationen
mysql> SET NAMES 'utf8';
SET CHARACTER SET utf8;
CHARSET utf8;
CREATE DATABASE IF NOT EXISTS shibboleth CHARACTER SET=utf8;
USE shibboleth;
Query OK, 0 rows affected (0.00 sec)

...

Code Block
languagexml
<!-- A Global DataSource for use in the attribute-resolver.xml for DB connectivity -->
<bean id="MyGlobalDataSource" class="org.apache.commons.dbcp2.BasicDataSource"
    p:driverClassName="com.mysql.jdbc.Driver"
    p:url="jdbc:mysql://127.0.0.1:3306/shibboleth?autoReconnect=true&amp;localSocketAddress=127.0.0.1&amp;connectTimeout=1800&amp;initialTimeout=2&amp;logSlowQueries=true&amp;autoReconnectForPools=true"
    p:username="shibboleth"
    p:password="hemligt123"
    p:maxIdle="5"
    p:maxWaitMillis="15000"
    p:testOnBorrow="true"
    p:validationQuery="select 1"
    p:validationQueryTimeout="5" />
</beans>

Attribut-definitioner

...

och release

Den mest aktuella information finns på SAML IdP Best Current Practice

Skapa nu följande attribut-definitioner i attribute-resolver.xml. Det första är legacy-attributet eduPersonTargetedID. SWAMID rekommenderar att detta görs tillgängliga till alla SPer.

Code Block
<resolver:AttributeDefinition xsi:type="ad:SAML2NameID" id="eduPersonTargetedID"                                  nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" sourceAttributeID="persistentId">        <resolver:Dependency ref="StoredId" />        <resolver:AttributeEncoder xsi:type="enc:SAML1XMLObject" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />        <resolver:AttributeEncoder xsi:type="enc:SAML2XMLObject" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="eduPersonTargetedID" /></resolver:AttributeDefinition>

Attribute-release

Note

Detta kommer att göra pseudonymer tillgängliga för alla SP:er vilket är SWAMIDs rekommendation. Om du inte vill lämna ut pseudonyer till alla så måste du ändra PolicyRequirementRule nedan

SWAMID rekommenderar att detta attribut releasas till alla SP:er. Detta gör man enklast genom följande entry i attribute-filter.xml:

Code Block
<AttributeFilterPolicy id="releasePermanentIdToAnyone">
	<PolicyRequirementRule xsi:type="ANY" />
	<!-- Jan 2016: as of Shib3.2.1 persistentId is automatically released and processed in saml-nameid.xml -->
	
	<AttributeRule attributeID="eduPersonTargetedID">
		<PermitValueRule xsi:type="ANY" />
	</AttributeRule>
</AttributeFilterPolicy>

Test

Så här ska en persistent_id ser ut:

Code Block
https://idp-test.kau.se/idp/shibboleth!https://sp.swamid.se/shibboleth!mbz5i2+tqo7PT4hlmeNrHpYCBdo=

 

...

=

...