MSAD (libmsad-aosi-aai)
Omogućava sinkronizaciju podataka u LDAP imeniku i Microsoft Active Directory-ju:
- dodavanje korisnika;
- brisanje korisnika;
- postavljanje i promjenu lozinke;
o365connect (libo365connect-aosi-aai)
Služi sinkronizaciji Azure AD sa LDAP imenikom u svrhu omogućavanja korištenja Office 365 usluge. Radi asinkrono: jedna njegova komponenta piše sve promjene u imeniku u .ldif datoteku, a druga ih periodički šalje u Azure AD koristeći pri tom Azure AD GRAPH API.
LDIFSync (libldifsync-aosi-aai)
Plugin nužan za pokretanje sekundarnih AAI@EduHr servisa na matičnoj ustanovi. Nije potrebno dodatno konfiguriranje nakon instalacije.
WebService (libwebservice-aosi-aai)
Omogućava slanje akcija određenim web servisima. Konfiguracijski parametri navedeni su u nastavku:
function - Definicija varijable, odnosno naziva funkcije koja se okida za određenu akciju. Može biti jedna funkcija za sve akcije ili različite funkcije za svaku akciju.
(Primjer: function = aai_action )
<service [naziv]> - Dio u kojemu se konfiguriraju parametri za pojedini web servis naziva [naziv]. Naziv servisa bi trebao biti jedinstven i informativan.
(Primjer: <service MSADSync>...</service>)
panic_on_errors - Treba li plugin prekinuti osnovnu operaciju za LDAP imenik: 1 - DA; 0 - NE.
(Primjer: panic_on_errors = 0)
location - URL do web servisa (uključivo i port na kojemu sluša).
(Primjer: location = https://aosi-dev.srce.hr:11111/WS)
namespace - Namespace od web servisa (obično je definiran u WSDL datoteci).
(Primjer: namespace = WS)
<functions> - Dio u kojemu se definira koja se funkcija poziva za pojedinu akciju.
beforeAddUser - Funkcija koja se poziva prije dodavanja identiteta u imenik. Vrijednost može biti naziv funkcije ili referenca na prije definiranu varijablu.
(Primjer: beforeAddUser = aai_bef_adduser)
(Primjer 2: beforeAddUser = ${function})
afterAddUser - Funkcija koja se poziva nakon dodavanja identiteta u imenik. Vrijednost može biti naziv funkcije ili referenca na prije definiranu varijablu.
(Primjer: afterAddUser = aai_aft_adduser)
(Primjer 2: afterAddUser = ${function})
beforeDeleteUser - Funkcija koja se poziva prije brisanja identiteta iz imenika. Vrijednost može biti naziv funkcije ili referenca na prije definiranu varijablu.
(Primjer: beforeDeleteUser = aai_bef_deluser)
(Primjer 2: beforeDeleteUser = ${function})
afterDeleteUser - Funkcija koja se poziva nakon brisanja identiteta iz imenika. Vrijednost može biti naziv funkcije ili referenca na prije definiranu varijablu.
(Primjer: afterDeleteUser = aai_aft_deluser)
(Primjer 2: afterDeleteUser = ${function})
beforeChangeAttribute - Funkcija koja se poziva prije promjene atributa u imeniku. Vrijednost može biti naziv funkcije ili referenca na prije definiranu varijablu.
(Primjer: beforeChangeAttribute = aai_bef_chgatt)
(Primjer 2: beforeChangeAttribute = ${function})
afterChangeAttribute - Funkcija koja se poziva nakon promjene atributa u imeniku. Vrijednost može biti naziv funkcije ili referenca na prije definiranu varijablu.
(Primjer: afterChangeAttribute = aai_aft_chgatt)
(Primjer 2: afterChangeAttribute = ${function})
Svaka od funkcija mora primati tri argumenta:
action- naziv akcije, jedno odbeforeAddUser, afterAddUser, beforeDeleteUser, afterDeleteUser, beforeChangeAttribute, afterChangeAttribute;
xml- Base64 zakodirani XML oblika:<entry dn="uid=user_uid,dc=org_realm,dc=hr"> <attribute ldapname="attribute_name"> <value>XXXXX</value> <value>YYYYYY</value> <value>ZZZZZZ</value> </attribute> <attribute ldapname="attribute_name2"> <value>XYZXYZ</value> </attribute> </entry>kojim se opisuju podaci za akciju;
change_type- vrsta promjene zabeforeChangeAttributeiafterChangeAttribute:- 1- Dodavanje atributa (
Add); - 2- Promjena atributa (
Modify); - 3 - Brisanje atributa (
Delete);
- 1- Dodavanje atributa (
Primjer konfiguracije:
function = Operation
<service MSADSync>
panic_on_errors = 0
location = https://aosi-dev.srce.hr:11111/WS
namespace = WS
<functions>
beforeAddUser = ${function}
afterAddUser = ${function}
beforeDeleteUser = ${function}
afterDeleteUser = ${function}
beforeChangeAttribute = ${function}
afterChangeAttribute = ${function}
</functions>
</service>
Unique (libunique-aosi-aai)
Provjerava jedinstvenost vrijednosti određenih atributa na razini imenika. Konfiguracijski parametri navedeni su u nastavku:
panic_on_errors - Treba li plugin prekinuti osnovnu operaciju za LDAP imenik: 1 - DA; 0 - NE. (Primjer: panic_on_errors = 0)
<attributes> - Popis atributa za koje se provjerava jedinstvenost vrijednosti.
Primjer konfiguracije:
panic_on_errors = 1 <attributes> mail hrEduPersonUniqueNumber hrEduPersonOIB </attributes>
MySQL (libmysql-aosi-aai)
Omogućava sinkronizaciju s određenim tablicama u MySQL bazi. Konfiguracijski parametri navedeni su u nastavku:
dbuser - Korisnička oznaka kojom se plugin prijavljuje u bazu. (Primjer: dbuser = aosi_user)
dbpwd - Lozinka kojom se plugin prijavljuje u bazu. (Primjer: dbpwd = Aosi_Sync_3E4R5)
dbname - Naziv baze u koju se plugin prijavljuje. (Primjer: dbname = aosi_sync)
dbhost - IP adresa servera na kojemu se nalazi baza. (Primjer: dbhost = 125.126.127.128)
users_table - Naziv tablice u kojoj se nalaze podaci o korisnicima, koja može biti definirana kao:
CREATE TABLE `USERS` ( `ID` int(6) unsigned NOT NULL auto_increment, `UID` varchar(30) NOT NULL, `ACTIVE` int(2) default NULL, `CHANGED_BY` varchar(30) default NULL, `TS` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`ID`), UNIQUE KEY `IDX_USERS` (`ID`) );
(Primjer: users_table = USERS)
values_table - Naziv tablice u kojoj se nalaze podaci o atributima, koja može biti definirana kao:
CREATE TABLE `ATTRIBUTES` ( `ID` int(6) unsigned NOT NULL auto_increment, `UID` varchar(30) NOT NULL, `NAME` varchar(50) default NULL, `VALUE` varchar(250) default NULL, `ACTIVE` int(2) default NULL, `TS` timestamp NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`ID`) );
(Primjer: values_table = ATTRIBUTES)
active_col - Naziv stupca koji označava je li unos aktivan (obrisan) ili ne: 1 - aktivan; 0 - obrisan. (Primjer: active_col = ACTIVE)
changedby_col - Naziv stupca u koji se upisuje UID administratora koji obavlja akciju. (Primjer: changedby_col = CHANGED_BY)
attribute_list - Popis atributa (odvojenih zarezom) koji se upisuju u values_table tablicu. (Primjer: attribute_list = cn,sn,givenName,mail,hrEduPersonExpireDate)
Primjer konfiguracije:
dbuser = aosi_user
dbpwd = Aosi_Sync_3E4R5
dbname = aosi_sync
dbhost = 125.126.127.128
users_table = USERS
values_table = ATTRIBUTES
active_col = ACTIVE
changedby_col = CHANGED_BY
attribute_list = cn,sn,givenName,mail,hrEduPersonExpireDate
File (libfile-aosi-aai)
Omogućava slanje akcija u navedenu datoteku. Osnovan namjena ovog plugina je da posluži kao kostur za pisanje vlastitih plugin-ova. Konfiguracijski parametri navedeni su u nastavku:
path - putanja do direktorija u kojemu će se zapisivati datoteke (za svaku od akcija):
- Plugins::File::beforeAddUser.txt
- Plugins::File::afterAddUser.txt
- Plugins::File::beforeDeleteUser.txt
- Plugins::File::afterDeleteUser.txt
- Plugins::File::beforeChangeAttribute.txt
- Plugins::File::afterChangeAttribute.txt
Podaci se zapisuju u obliku in za ulazne podatke i out za izlazne podatke:
in= <entry dn="uid=user_uid,dc=org_realm,dc=hr"> <attribute ldapname="attribute_name"> <value>XXXXX</value> <value>YYYYYY</value> <value>ZZZZZZ</value> </attribute> <attribute ldapname="attribute_name2"> <value>XYZXYZ</value> </attribute> </entry> out= <entry dn="uid=user_uid,dc=org_realm,dc=hr"> <before_plugin_status name="LDIFSync" code="0">dc=org_realm,dc=hr</before_plugin_status> <before_plugin_status name="MSAD" code="0">Success</before_plugin_status> <before_plugin_status name="File" code="0">Everything OK!</before_plugin_status> <before_plugin_status name="Unique" code="0">OK</before_plugin_status> <status code="0">User added successfully!</status> </entry>
(Primjer: path = /tmp/aosi)
CERTIFY (libcertify-aosi-aai)
Služi provjeri usklađenosti podataka u LDAP imeniku matične ustanove s normama certificiranja matičnih ustanova. Ovaj je plugin u stvari nadogradnja na program za provjeru usklađenosti imenika s normama certificiranja (zajedno s plugin-om dolazi nezavisan program za provjeru usklađenosti imenika s normama certificiranja - taj je program moguće i samostalno pokrenuti na poslužitelju ustanove). Plugin omogućava koordinatoru AAI@EduHr sustava da za vrijeme certificiranja sam dohvati (agregirane) podatke o usklađenosti imenika pokrenuvši program za provjeru usklađenosti, te time sistemca / administratora imenika oslobodi dužnosti pokretanja programa za analizu sadržaja imenika te slanja njegova izvještaja u vrijeme trajanja certificiranja matičnih ustanova.
Program za analizu sadržaja imenika (sastavni je dio plugina i instalira se zajedno s njim) može se pokrenuti naredbom:
# /usr/lib/aosi/Plugins/certify.pl [--detail|-d] [--base64|-b] [--sendmail|-s] [--outfile <filename>|-o <filename>] [--realm <realm>|-r <realm>]
Opis parametara:
--detail : prikazuje detaljan popis nepravilnosti / neusklađenosti u imeniku
--base64 : ispisuje se samo Base64 dio
--sendmail : pokrenete li program s ovom opcijom, po izvršenju programa moći ćete odabrati "poslati izvještaj mailom AAI@EduHr teamu".
--outfile : rezultat se sprema u datoteku <filename> umjesto ispisa na zaslon
--realm : provjerava se LDAP za navedeni realm (umjesto $config::base_dn u /etc/aosi/config.pm)