Sadržaj:
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
)
Plug-in 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, odn. naziva funkcije koja se okida za određenu akciju. Može biti jedna funkcija za sve akcije ili različite finkcije 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 plug-in 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 zabeforeChangeAttribute
iafterChangeAttribute
:- 1- Dodavanje atributa (
Add
); - 2- Promejna 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 plug-in 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 plug-in prijavljuje u bazu. (Primjer: dbuser = aosi_user
)
dbpwd
- Lozinka kojom se plug-in prijavljuje u bazu. (Primjer: dbpwd = Aosi_Sync_3E4R5
)
dbname -
Naziv baze u koju se plug-in 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 oznč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 plug-ina je da posluži kao kostur za pisanje vlastitih plug-inova. 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 pluginom 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)