UApprove
Elavult információ
Ez jelen formájában egy elavult lap, hamarosan frissítésre kerül |
Tartalomjegyzék
uApprove
Felépítés
Az uApprove a SWITCH.ch által fejlesztett alkalmazás, ami a Shibboleth2 IdP-vel együttműködve képes a felhasználótól attribútum-kiadás hozzájárulást kérni.
A uApprove két részből áll. Egy szervlet filterből (IdP plugin), ami a Shibboleth2 IdP webalkalmazásba beépülve elkapja és elemzi a kéréseket, illetve egy különálló webalkalmazásból (Viewer), ami a felhasználói hozzájárulást kéri el.
A felhasználói hozzájárulásnak két szintje van: a globális felhasználási feltételek elfogadása, illetve minden SP esetén egy ún. digitális identitás elfogadása. Ez utóbbi felület lehetőséget ad a felhasználó számára hogy lássa az adott SP felé kiadandó attribútumait, és beleegyezzen azok kiadásába.
A hozzájárulások XML fájlban vagy relációs adatbázisban is tárolhatók. A uApprove lehetőséget ad arra, hogy az SP-hez történő hozzáféréseket naplózza, az attribútum-kiadástól függetlenül (tehát elég az IdP plugin komponenst használni ahhoz hogy a naplózás működjön - ezt Monitoring módnak hívjuk).
uApprove viewer webalkalmazás telepítése
cd uApprove-2.1.4/
unzip viewer-2.1.4-bin.zip
sudo cp viewer-2.1.4/conf-template/* /path/to/uApprove/uApprove
sudo cp -r viewer-2.1.4/webapp /path/to/tomcat/webapps/uApprove
A uApprove közös konfiguráció a common.properties fájlban található:
storageType = Database databaseConfig = /path/to/uApprove/database.properties #storageType = File #flatFile = /path/to/uApprove/uApprove-log.xml # A globális felhasználási feltételeket tároló fájl # Ebben az XML-ben több verzió is tárolható, # verzióváltás esetén a felhasználónak újra el kell fogadnia. termsOfUse = /path/to/uApprove/terms-of-use.xml # Kommunikáció titkosításához SharedSecret = some-very-random-string
database.properties (a támogatott RDBMS a MySQL):
driver = com.mysql.jdbc.Driver url = jdbc:mysql://localhost:3306/*dbname* user = *username* password = *password* sqlCommands = /path/to/ArpViewer/mysql.commands
viewer.properties:
# amennyiben a böngésző nem küld lokalizációs információt, ezen beállítás jut érvényre useLocale = HU_hu # felajánljuk-e a felhasználónak az sp-től független beleegyezést globalConsentPossible=true loggingConfig = /path/to/uApprove/logging.xml
attribute-list: az attribútumok sorrendezését és egyes nem kívánt attribútumok (pl transientid) elrejtését állíthatjuk be benne. Az attribútumnevek a Shibboleth2 attribute-resolver.xml -ben deklaráltaknak kell megfeleljenek.
web.xml (/path/to/tomcat/webapps/uApprove/WEB-INF):
<context-param>
<param-name>Config</param-name>
<param-value>
/path/to/uApprove/viewer.properties;
/path/to/uApprove/common.properties;
</param-value>
</context-param>
IdP plugin beállítása
Csomagoljuk ki a plugint és másoljuk a konfigurációt illetve a szükséges library fájlokat a helyükre
cd uApprove-2.1.4/
unzip idp-plugin-2.1.4-bin.zip
sudo cp idp-plugin-2.1.4/conf-template/* /path/to/uApprove
sudo cp idp-plugin-2.1.4/lib/* /path/to/idp-setup/src/main/webapp/WEB-INF/lib/
Ezután szerkesszük az IdP web.xml konfigurációját
<web-app>
...
<filter>
<filter-name>uApprove IdP plugin</filter-name>
<filter-class>ch.SWITCH.aai.uApprove.idpplugin.Plugin</filter-class>
<init-param>
<param-name>Config</param-name>
<param-value>
/path/to/uApprove/idp-plugin.properties;
/path/to/uApprove/common.properties;
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>uApprove IdP plugin</filter-name>
<url-pattern>/profile/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
</web-app>
Ezután a Shibboleth IdP setup.sh szkriptjével készítsük el a webarchívumot (idp.war), amit telepítsünk újra.
A uApprove IdP plugin egyedi beállításai az idp-plugin.properties-ben találhatóak:
# Azon SP-hez amihez nem akarunk ArpFiltert használni spBlacklist = /path/to/config/sp-blacklist # SP logolás LogProviderAccess = false # Csak SP logolás MonitoringOnly = false # ArpViewer alkalmazás helye uApproveViewer = https://idp.example.org/uApprove/Controller # Támogassuk-e a passzív authentikációt isPassiveSupport = false
Attribútumnevek beállítása
Az attribútumnevek helyes megjelenítéséhez az ArpViewer a Shibboleth2 IdP attribute-resolver.xml fájlt használja. Ebben a fájlban kell beállítani a lokalizált attribútumneveket a következőképpen:
Shibboleth2 IdP conf/attribute-resolver.xml:
<resolver:AttributeDefinition id="postalAddress"
xsi:type="Simple" xmlns="urn:mace:shibboleth:2.0:resolver:ad"
sourceAttributeID="postalAddress">
<resolver:Dependency ref="myLDAP" />
<resolver:DisplayName xml:lang="en">Business postal address</resolver:DisplayName>
<resolver:DisplayName xml:lang="hu">Hivatalos postai cím</resolver:DisplayName>
<resolver:DisplayDescription xml:lang="en">Business postal address: Campus or office address</resolver:DisplayDescription>
<resolver:DisplayDescription xml:lang="hu">Az intézmény hivatalos postai címe</resolver:DisplayDescription>
Megjegyzés: a Resource_Registry által előállított attribute-resolver.xml template fájl tartalmazza az attribútumok magyar nyelvű leírásait.
ArpFilter before the profile servlet - support for other authentication modules
Lásd: ArpFilterProposal (angol)