Portál AbcLinuxu, 12. června 2024 10:55


Dotaz: MySQL jako backend pro LDAP server

22.5.2010 17:53 mylda
MySQL jako backend pro LDAP server
Přečteno: 872×
Odpovědět | Admin
V současnosti si všechny webové aplikace + linuxové mašiny ověřují uživatele oproti mysql. Chtěl bych z důvodů rozšiřitelnosti a bezpečnosti nasadit ldap server. Problém je, že většina webových aplikací ldap neumí a tak bych chtěl nasadit ldap server s mysql backendem. Našel jsem jen pár návodů, ale snad bych to dal dohromady. Co mě zajímá je, jestli to už někdo takhle provozuje a jaké s tím máte zkušenosti: rychlost/stabilita ?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

cynic_asshole avatar 23.5.2010 03:00 cynic_asshole | skóre: 28
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dle mého názoru je blbost, co požaduješ. O jaké aplikace se jedná? Třeba do nich existuje plugin. V nejhorším případě bys mohl dělat replikaci některých dat z LDAP do MySQL a pak použít tato data (jenže to to rovnou můžeš nechat tak, jak teď máš…)
Neznáš nějakou linuxovou distribuci pro Windows?
24.5.2010 01:18 mylda
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Pro aplikace, které jsem nepsal přímo sám pluginy existují, to jo, ale i tak mi obecně připadá lepší použití mysql např. pro mail server, pro joomlu a obecně pro všechny server aplikace, které stejně potřebují celou databázi. Naopak mi vadí autentizace klientů oproti mysql přímo, protože klient se připojí k celé databázi a vidí všechny účty, kdežto u ldap se autentizuje oproti svým údajům rovnou a pak vidí jen svoje info.
24.5.2010 01:46 VSi | skóre: 28
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Ano, výhoda LDAPu je v tom, že lze přesně specifikovat, ke kterým objektům a kterým atributům má která služba přístup. U SQL databází to teoreticky jde taky, ale zrovna MySQL na to zrovna moc zařízená není. Další výhodou je standardní schéma, oproti tomu u MySQL obvykle každá aplikace používá úplně jinou strukturu tabulek. Takže se docela divím, že se povedlo různé aplikace přesvědčit k tomu, aby pracovaly na stejnou MySQL DB s uživateli, a aby se to celé časem nerozbilo.

Bohužel podpora LDAPu je obvyklá u víc "enterprise" aplikací, než u různých malých webových aplikací.

Některé LDAP servery umí použít MySQL backend, ale tam si pravděpodobně ukládají všechna data, a něpřesvědčíte je, aby používaly už nasazené db schéma. Spíš byste potřeboval nějak mapovat existující data z databáze na určité atributy uživatelů v LDAP stromu. O takovém stabilním řešení nevím. Sám bych se o něco takového asi nepokoušel.

Možná pokud by šlo jen o ověřvání uživatelů na linux strojích, a nebylo by potřeba do LDAPu přímo zapisovat, podíval bych se po nějaké SQL > LDAP gateway (našel jsem tohle: http://cvs.gcu.info/viewvc.py/authd/README?view=co ), něco takového by mohlo existovat, popř. by nebylo složité to naprogramovat třeba v perlu.
24.5.2010 01:59 mylda
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Moje současné řešení je velice silné v tom, že ačkoliv sdílí uživatelskou db několik aplikací, tak uživatel může mít oprávnění třeba jen k jedné a nezabírají se data v db, protože mám databázi s uživateli, pak databáze různých aplikací a nad tím mám vždy pohled, kde spojuju na základě uživ. jména a deleguju heslo z centrální db do dalších databází. Ohromně mi vyhovuje, narozdíl od ldap, že nemám standardní schéma. Teoreticky mi nejde o zprovoznění ldap serveru, ale o zprovoznění autentizačního serveru, který budou umět linux stanice a samba server. Bohužel o ničem jiném než o ldap nevím.
24.5.2010 02:02 mylda
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
... ale prakticky mi ten aut. server musí ještě poskytovat uživatelské property jako homedir, uid, gid..
24.5.2010 23:45 mylda
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak asi jediným řešením bude vytvářet z mysql databáze uživatelů ldif a ten předávat ldap serveru. LDAP nikdy nenabídne takovou svobodu jako mysql(např. u mailu - v jedné tabulce je přehledně kvóta,využitá kvóta, ...). Jak rychlé to je a dá se udělat ldif všech účtů s tím, že by se ldap server rozhodl, zda takové záznamy už má a popř. je přidal?
25.5.2010 06:21 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Odpovědět | | Sbalit | Link | Blokovat | Admin
proč si tam chcete nacpat ldap, když současný stav vyhovuje vic?
In Ada the typical infinite loop would normally be terminated by detonation.
25.5.2010 10:20 mylda
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Protože samba přímo nepodporuje mysql a ldap je i navíc pro "systémovou" autentizaci uživatelů bezpečnější. Mysql se nechci zbavit, jen ho "rozšířit".
25.5.2010 12:53 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
V tom případě např. openldap umí backendovat do mysql. Ale fasáda (struktura záznamů, ...) bude LDAPovská, což Vám nevyhovovalo.
In Ada the typical infinite loop would normally be terminated by detonation.
25.5.2010 22:52 mylda
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
To by zas tak nevadilo, jenže jsem teď našel na stránkách openldap projektu hodně varování - jako nepoužívejte back-sql storage, je nestabilní, experimentální, brzo se to rozbije, implementováno je jen několik fcí apod... Spíš se budu smířit s tím, že uživatelé budou na dvou místech - v ldap a v mysql, což má do jisté míry výhodu, když vypadne jedna db, alespoň nějaké služby poběží. "Jen" musím vyřešit nějakou rychlou synchronizaci. Heslo se může tvářit jako centrální, protože se mění přes webové rozhraní, tam můžu dopsat podporu ldapu. Musím nějak vyřešit problém zakládání, mazání a upravování uživatelů. Co všechno umí ten ldif? Ten je jen pro importování a exportování ldap záznamů, nebo pomocí něho můžu i porovnávat a nějak selektivně vkládat/upravovat data?
27.5.2010 08:03 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: MySQL jako backend pro LDAP server
Spíš se budu smířit s tím, že uživatelé budou na dvou místech
Tipuju, že TCO takového bazmeku bude vyšší, než když zatlačíte slzu a převedete to celé na LDAP. Koneckonců tabulky typu "uživatelé a jejich kvóty" jdou celkem jednoduše vyrábět i nad LDAPem.
Co všechno umí ten ldif? Ten je jen pro importování a exportování ldap záznamů, nebo pomocí něho můžu i porovnávat a nějak selektivně vkládat/upravovat data?
LDIF je textový formát dat a jejich změn. (Představte si "patch" na LDAP.) Není to programovací jazyk.
In Ada the typical infinite loop would normally be terminated by detonation.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.