Calom a WebCalom umožňují používat LDAP (např. Active Directory) pro on-line i off-line synchronizaci DirDB databáze a pro přihlašování do WebCalomu. Pro on-line synchronizaci i pro přihlašování do WebCalomu je potřeba mít spuštěný LDAP frontend (program ldap_frontend_*, pojmenovaný podle typu konektoru).
Konfigurace systému je možná jednak přímo a jednak prostřednictvím WebClaomu.
Pro povolení integrace LDAP frontendu je potřeba nastavit v souboru config
hodnotu ldap-frontend-path.
Konfigurační volby v hlavním konfiguračním souboru (config/webcalom.conf):
use-ldap-dirdb-resolving | Hodnota "yes", "on" nebo "true" povolí LDAP integraci pro reporty |
ldap-config-file | Cesta ke konfiguračnímu souboru obsahujícímu většinu nastavení - může být relativní k hlavnímu ("kořenovému") adresáři WebCalomu (většinou "config/ldap_frontend.conf"). |
ldap-user-config-file | Cesta ke konfiguračnímu souboru specifickému pro LDAP (relativní k podstromu konfigurace daného uživatele). |
ldap-auth-dn-translation | Definice transformace LDAP DN záznamu pro autorizaci z uživatelského jména. Např. "cn=${username},dc=example,dc=cz". |
ldap-use-webcalom-credentials | Hodnota "yes", "on" nebo "true" znamená, že se pro připojení k LDAP serveru použije jméno/heslo z WebCalomu (tj. spojení bude pod tímto účtem). |
ldap-frontend-path (možné dát do config/severs.conf) | Cesta k ldap_frontend_* programu () |
ldapsync-path (možné dát do config/severs.conf) | Cesta k ldap_sync_* programu () |
Konfigurační volby v LDAP konfiguračním souboru (typicky config/ldap_frontend.conf):
ldap-server-uri | URL LDAP serveru (např. "ldap://1.2.3.4/") |
ldap-base | Suffix LDAP rozlišovacího jména (tzv. "base DN", např. "DN=example,DN=cz") |
auth-username |
Uživatelské jméno pro LDAP. Používá se pouze pokud se nepoužívají přihlašovací údaje z WebCalomu (viz ldap-use-webcalom-credentials) a zároveň se nepoužije auth-dn. |
auth-password |
Uživatelské heslo pro LDAP. Používá se pouze pokud se nepoužívají přihlašovací údaje z WebCalomu (viz ldap-use-webcalom-credentials). |
auth-dn | Uživatelské jméno (ve tvaru DN, většinou není třeba zadávat) |
auth-cid | Hodnota CID pro SASL autentikaci, většinou odpovídá auth-username |
auth-zid | Hodnota ZID pro SASL autentikaci, formát je "dn:<distinguished name>" nebo "u:<usename>" |
ldap-start-tls | Hodnota "yes", "on" nebo "true" zapne SSL/TLS šifrování |
auth-method | Způsob autentikace, možnosti jsou LDAP_AUTH_SIMPLE, LDAP_AUTH_SASL |
sasl-mech | SASL autentikační mechanizmus, možnosti jsou DIGEST-MD5, NTLM, GSSAPI |
auth-realm | Autentikační doména, např. "example.cz", používá se pro SASL login |
ldap-scope | Implicitní hloubka pro dotazy (nutné nechat na nastavení "default") |
auth-domain | Doménové jméno použité pro autorizaci, pokud není obsaženo v uživatelském jméně. Také se používá pro automatickou detekci LDAP serveru pomocí DNS. |
ldap-users-group | LDAP DN skupiny obsahující uživatele (pouze MNUL) |
ldap-authorized-group | LDAP DN skupiny obsahující uživatele autorizované pro WebCalom (pouze MNUL) |
PC-root | LDAP kořen stromu nákladových středisek (pouze MNUL) |
TL-root | LDAP kořen stromu technických míst (pouze MNUL) |
org-unit-base | LDAP kořen stromu uživatelů (pouze FŘ) |
WebCalom umožňuje spustit LDAP frontend před spuštěním reportu a po dokončení reportu frontend ukončit. Nastavení se povolí volbou use-ldap-dirdb-resolving. Pro detaily viz výše.
Pro off-line synchronizaci DirDB se používá program ldap_sync_*. Používá stejný formát konfiguračního souboru a je možné ho opět spouštět samostatně nebo v rámci WebCalomu.
ldapsync-config | Cesta ke konfiguraci programu ldap_sync_* |
ldapsync-root-org | Kořen Calom DirDB stromu, do kterého se mají synchronizovat data |
Pro přihlašování do WebCalomu je potřeba hlavně nastavení auth-method, např.:
auth-method | Hodnota "users" nastaví přihlašování pouze prostřednictvím lokální databáze uživatelů, hodnota "ldap" nastaví přihlašování pouze pomocí LDAP, hodnota "users+ldap" ověří uživatele nejdřív podle lokálního nastavení a když není přihlašování úspěšné, použije se LDAP (typicky je lokální např. jen admin). |
ldap-server-uri | URL LDAP serveru (např. "ldap://1.2.3.4/") |
Pro přímou konfiguraci platí to samé jako pro konfiguraci prostřednictvím WebCalomu. Frontend se spouští:
./ldap_frontend_* -c <konfigurační-soubor>Případně je možné použít parametr -s pro použití připraveného skriptu:
./ldap_frontend_* -s <konfigurační-skript>Skript může vypadat např.:
parse-config <konfigurační-soubor> connect-ldap ldap://1.2.3.4 set secret xyz listen <port> exitTento skript vyvolá načtení konfiguračního souboru, připojení k LDAP serveru, nastavení bezpečnostního kódu, spustí poslouchání na zadaném portu a na závěr se odpojí od konzole (tj. bude jen poslouchat).
Stejný bezpečnostní kód a port je pak potřeba nastavit v Calom serveru, v souboru config, např.:
DIRDB RESOLVER "dirext://1.2.3.4:<port>/ldap.server?secret=xyz" GLOBAL
Konfiguracni zmeny: ------------------- 1. ldap_frontend.conf: ldap-server-uri: ldap://172.25.1.11/ ldap-base: DC=hk,DC=ds,DC=mfcr,DC=cz auth-domain: hk.ds.mfcr.cz #auth-realm: hk.ds.mfcr.cz #ldap-users-group: org-unit-base: OU=Organizační jednotky,OU=FŘ v Hradci Králové,DC=hk,DC=ds,DC=mfcr,DC=cz auth-username: clmusr1 #auth-dn: clmusr1 auth-password: clmusr1 2. webcalom.conf: auth-method: users+ldap ldap-config-file: config/ldap_frontend.conf use-ldap-dirdb-resolving: yes ldap-auth-dn-translation: ${username} ldap-use-webcalom-credentials: false ldapsync-config: config/ldap_sync.conf ldapsync-root-org: AD servers.conf: ldap-frontend-path: helpers/ldap_frontend/ldap_frontend_FR ldapsync-path: helpers/ldap_frontend/ldap_sync_FR ln -s ../../../helpers/ldap_frontend/ldap_frontend_FR www/helpers/ldap_frontend/ldap_frontend_FR