„Shib2IdpTomcat6” változatai közötti eltérés
(→Új SP felvétele) |
|||
48. sor: | 48. sor: | ||
A FORM-ot az idp.war -ban tudjuk testreszabni (login.jsp). A szállított login.jsp által beállított FORM tag és INPUT tag-ek tartalmát ne módosítsuk! | A FORM-ot az idp.war -ban tudjuk testreszabni (login.jsp). A szállított login.jsp által beállított FORM tag és INPUT tag-ek tartalmát ne módosítsuk! | ||
− | == Új SP felvétele == | + | == Új SAMLv2 SP felvétele == |
+ | Egy új SP felvételéhez csak az SP metaadatára van szükségünk SAMLv2 szabványos XML formában. | ||
+ | A metaadatot vagy fizikailag el kell helyezni a ${SHIB_HOME}/metadata könyvtárban, vagy egy URL-en elérhetővé kell tenni a Shibboleth IdP számára. | ||
+ | |||
+ | A ${SHIB_HOME}/conf/relying-party.xml -ben kell a következő módosításokat eszközölni: | ||
+ | |||
+ | Először a SAMLv2 SSO Profil alapbeállításai | ||
+ | |||
+ | <!-- a saját IDP entityID-je, amivel minden SP-hez egyszerre beállíthatjuk mint provider --> | ||
+ | <DefaultRelyingParty | ||
+ | provider="https://idp.example.com/idp/shibboleth" | ||
+ | defaultSigningCredentialRef="IdPCredential"> | ||
+ | |||
+ | <!-- | ||
+ | 5 perces assertion érvényesség (óraszinkronizálás IdP - SP között fontos!) | ||
+ | A válaszok kötelező digitális aláírása | ||
+ | Attribútum push | ||
+ | --> | ||
+ | <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" | ||
+ | includeAttributeStatement="true" | ||
+ | assertionLifetime="300000" | ||
+ | assertionProxyCount="0" | ||
+ | signResponses="always" | ||
+ | signAssertions="never" | ||
+ | encryptAssertions="conditional" | ||
+ | encryptNameIds="conditional" /> | ||
+ | </DefaultRelyingParty> | ||
+ | |||
+ | SP esetén az alapértelmezett beállítások felülírása: | ||
+ | <RelyingParty | ||
+ | id="https://sp1.example.com/shibboleth" | ||
+ | provider="https://idp.example.com/idp/shibboleth" | ||
+ | defaultSigningCredentialRef="IdPCredential"> | ||
+ | <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" encryptAssertions="never"/> | ||
+ | </RelyingParty> | ||
+ | |||
+ | Metaadat-források megadása: | ||
== Attribútum kiadása (címtárból) == | == Attribútum kiadása (címtárból) == |
A lap 2008. június 17., 11:21-kori változata
Tartalomjegyzék
[elrejtés]JVM beállítások
A Tomcat6 jelenleg nem működik együtt tökéletesen 6-os JVM-mel (egész pontosan a commons-dbcp csomag a JDBC API pici megváltozása miatt), ezért egyelőre ajánlott 5-ös JVM-mel futtatni - FIXME.
A Shibboleth2 IdP nem hajlandó elindulni a JVM-mel szállított Sun-féle Xerces implementációval, ezért az IdP csomaggal szállított Xerces és Xalan implementációkat be kell másolni a $JAVA_HOME/lib/endorsed könyvtárba, vagy a
java -Djava.endorsed.dirs=/path/to/xerces-libs
kapcsolóval kell indítani a tomcatet.
Shibboleth IdP telepítése
A kitömörített bináris disztribúció könyvtárában adjuk ki a
sh ant.sh
parancsot, ami megkérdezi a telepítési könyvtárat (${SHIB_HOME}) és a hostnevet, majd elkészíti azt, legenerálja a teszt-céllal használható kulcsokat és tanúsítványokat (ezeket a credentials könyvtárba teszi idp.key, idp.crt néven).
Ezután a tomcat-et futtató felhasználónak (nálam: tomcat) írási jogot kell adni a log könyvtárra, majd telepíthetjük az idp webalkalmazást a tomcat webapps root alá (nálam: a /var/lib/tomcat-6/webapps/ROOT)
chown tomcat:tomcat ${SHIB_HOME}/logs cp ${SHIB_HOME}/war/idp.war /var/lib/tomcat-6/webapps/ROOT
LDAP Autentikáció (FORM) beállítása
Szerkesszük a ${SHIB_HOME}/conf/login.config -ot:
ShibUserPassAuth { edu.vt.middleware.ldap.jaas.LdapLoginModule required host="ldap.example.com" base="ou=people,dc=example,dc=com" ssl="false" serviceUser="userid=example-system,ou=systems,dc=example,dc=com" serviceCredential="password" userField="uid"; }
A serviceUser és a serviceCredential kihagyható, ekkor anonymous bind történik (azonban ilyen esetben a helytelen név / jelszó megadása LDAP Exception-t okoz és nem a jól értelmezhető hibás név / jelszó üzenetet adja a felhasználónak)
Ezután be kell állítani, hogy ezt a bekonfigurált autentikációt használja a Shibboleth (${SHIB_HOME}/conf/handlers.xml)
<LoginHandler xsi:type="UsernamePassword" authenticationDuration="240" jaasConfigurationLocation="file://${SHIB_HOME}/conf/login.config"> <AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthenticationMethod> </LoginHandler>
Az authenticationDuration paraméter elhagyása esetén az IdP 30 perc érvényességgel állítja ki a munkamenetet (<AuthnStatement SessionNotOnOrAfter="...">), tehát akár aktív tevékenység esetén is 30 perc múlva lejár a felhasználó session-je. Ezt érdemes tehát átállítani magasabb értékre.
A FORM-ot az idp.war -ban tudjuk testreszabni (login.jsp). A szállított login.jsp által beállított FORM tag és INPUT tag-ek tartalmát ne módosítsuk!
Új SAMLv2 SP felvétele
Egy új SP felvételéhez csak az SP metaadatára van szükségünk SAMLv2 szabványos XML formában. A metaadatot vagy fizikailag el kell helyezni a ${SHIB_HOME}/metadata könyvtárban, vagy egy URL-en elérhetővé kell tenni a Shibboleth IdP számára.
A ${SHIB_HOME}/conf/relying-party.xml -ben kell a következő módosításokat eszközölni:
Először a SAMLv2 SSO Profil alapbeállításai
<DefaultRelyingParty provider="https://idp.example.com/idp/shibboleth" defaultSigningCredentialRef="IdPCredential">
<ProfileConfiguration xsi:type="saml:SAML2SSOProfile" includeAttributeStatement="true" assertionLifetime="300000" assertionProxyCount="0" signResponses="always" signAssertions="never" encryptAssertions="conditional" encryptNameIds="conditional" /> </DefaultRelyingParty>
SP esetén az alapértelmezett beállítások felülírása:
<RelyingParty id="https://sp1.example.com/shibboleth" provider="https://idp.example.com/idp/shibboleth" defaultSigningCredentialRef="IdPCredential"> <ProfileConfiguration xsi:type="saml:SAML2SSOProfile" encryptAssertions="never"/> </RelyingParty>
Metaadat-források megadása: