565
szerkesztés
Módosítások
UApprove
,Új oldal, tartalma: „= uApprove (régi nevén: ArpViewer) = == Felépítés == Az [http://switch.ch/aai/support/tools/uApprove.html uApprove] a [http://switch.ch SWITCH.ch] által fejlesztett...”
= uApprove (régi nevén: ArpViewer) =
== Felépítés ==
Az [http://switch.ch/aai/support/tools/uApprove.html uApprove] a [http://switch.ch 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 ==
<source lang=bash>
cd uApprove-2.1.2/
unzip viewer-2.1.2-bin.zip
sudo cp viewer-2.1.2/conf-template/* /path/to/uApprove/uApprove
sudo cp -r viewer-2.1.2/webapp /path/to/tomcat/webapps/uApprove
</source>
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
AttributeList.txt: 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):
<source lang=xml>
<context-param>
<param-name>Config</param-name>
<param-value>
/path/to/uApprove/viewer.properties;
/path/to/uApprove/common.properties;
</param-value>
</context-param>
</source>
== 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
<source lang=bash>
cd uApprove-2.1.2/
unzip idp-plugin-2.1.2-bin.zip
sudo cp idp-plugin-2.1.2/conf-template/* /path/to/uApprove
sudo cp idp-plugin-2.1.2/lib/* /path/to/idp-setup/src/main/webapp/WEB-INF/lib/
</source>
Ezután szerkesszük az IdP web.xml konfigurációját
<source lang=xml>
<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>
/etc/shibboleth-idp2/uApprove/idp-plugin.properties;
/etc/shibboleth-idp2/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>
</source>
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.txt
# 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:
<source lang=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>
</source>
== ArpFilter before the profile servlet - support for other authentication modules ==
Lásd: [[ArpFilterProposal]] (angol)
== Felépítés ==
Az [http://switch.ch/aai/support/tools/uApprove.html uApprove] a [http://switch.ch 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 ==
<source lang=bash>
cd uApprove-2.1.2/
unzip viewer-2.1.2-bin.zip
sudo cp viewer-2.1.2/conf-template/* /path/to/uApprove/uApprove
sudo cp -r viewer-2.1.2/webapp /path/to/tomcat/webapps/uApprove
</source>
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
AttributeList.txt: 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):
<source lang=xml>
<context-param>
<param-name>Config</param-name>
<param-value>
/path/to/uApprove/viewer.properties;
/path/to/uApprove/common.properties;
</param-value>
</context-param>
</source>
== 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
<source lang=bash>
cd uApprove-2.1.2/
unzip idp-plugin-2.1.2-bin.zip
sudo cp idp-plugin-2.1.2/conf-template/* /path/to/uApprove
sudo cp idp-plugin-2.1.2/lib/* /path/to/idp-setup/src/main/webapp/WEB-INF/lib/
</source>
Ezután szerkesszük az IdP web.xml konfigurációját
<source lang=xml>
<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>
/etc/shibboleth-idp2/uApprove/idp-plugin.properties;
/etc/shibboleth-idp2/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>
</source>
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.txt
# 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:
<source lang=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>
</source>
== ArpFilter before the profile servlet - support for other authentication modules ==
Lásd: [[ArpFilterProposal]] (angol)