ldap novell

14
LDAP w kontekście Novell eDirectory Tomasz Bąk, zima 2004

Upload: tomasz-bak

Post on 24-Jun-2015

151 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ldap novell

LDAP w kontekścieNovell eDirectory

Tomasz Bąk, zima 2004

Page 2: Ldap novell

Novell eDirectory, a LDAP● OpenLDAP i eDirectory są implementacjami tzw

„usług katalogowych”.● eDirectory jest oparty o otwarty standard LDAP,

ale definiuje własne, dodatkowe schematy obiektów.

● Można tak skonfigurować eDirectory, aby inne systemy (np. Solaris, Linux czy FreeBSD) mogły z niego korzystać (za pośrednictwem protokołu LDAP) np. do autentykacji swoich użytkowników.

Page 3: Ldap novell

Usługi katalogowe

Usługi katalogowe to dostępne przez sieć bazy danych. Ich cechami charakterystycznymi są:

● mała ilość danych w każdym zapytaniu/odpowiedzi

● ograniczona funkcjonalność (w porównaniu z systemem bazodanowym ogólnego przeznaczenia)

● aktualizacje (zmiany) są znacznie rzadsze niż zapytania

Page 4: Ldap novell

Struktura● Zwykle informacje w katalogu mają strukturę

hierarchiczną (niemniej nie musi tak być).● Struktura danych (hierarchia) jest wygodna

do przeszukiwania i zapewnia pewne minimalne zależności między obiektami.

Page 5: Ldap novell

Reprezentacja danych w LDAP

Każdy wpis ma niepowtarzalny klucz, tzw „jednoznaczną nazwę” (ang. distinguished name lub krócej: dn).

● Nazwa ta jest opisana w RFC1779 i jest zaprojektowana do używania przez ludzi, a nie tylko komputery.

● Każdy dn jest składa się z komponentów.– Każdy z komponentów jest łańcuchem znaków

zawierającym parę: atrybut=wartość.

Page 6: Ldap novell

Przykładowy dnCN=John Veslay, \OU=Computer Science, \O=Rensselaer Polytechnic Institute, \C=US

Dn jest zwykle zapisywany w jednej linii (co zaznaczyliśmy ukośnikami).

UWAGA: W standardzie LDAP, komponenty dn rozdzielane są przecinkiem, ale np. w natywnym eDirectory separatorem jest znak kropki.

Page 7: Ldap novell

Hierarchia● Podobnie jak w nazwach domen (DNS),

nazwy mogą być interpretowane jako część hierarchii.

● Ostatni komponent dn jest najwyższym poziomem hiararchii

CN=Joe Integral, OU=Math, O=RPI, C=US

Page 8: Ldap novell

Schematy obiektów (schemas)● Ustala reguły opisujące jakie typy danych są

przechowywane w katalogu● Pomagają zarządzać spójnością i jakością danych● Ogranicza duplikowanie danych● Atrybut „objectclass” określa schematy, których musi

przestrzegać obiekt● Schematy obiektów zawierają:

– wymagane atrybuty– dozwolone atrybuty– sposób porównywania atrybutów– ograniczają wielkość pól atrybutów

Page 9: Ldap novell

Funkcjonalności LDAP● dodanie, usunięcie, zmiana wpisu● zmiana jednoznacznej nazwy (DN) wpisu● przeszukiwanie (najczęstrza operacja)

– przeszukiwanie pewnego wycinka katalogu w poszukiwaniu wpisów spełniających pewne określone kryteria

Page 10: Ldap novell

LDAP Data Interchange Format (LDIF)

● przedstawia wpisy LDAP w postaci tekstowej● jest łatwy w odczytywaniu przez człowieka● umożliwia łatwą modyfikację

# Przykład:version: 1dn: cn=johndoe, ou=provo, ou=users, o=novellchangetype: addsn: DoegivenName: JohnobjectClass: inetOrgPersonmail: [email protected]: Password

Page 11: Ldap novell

Inne przykłady LDIFów# modyfikacja adresu emailversion: 1dn: cn=johndoe, ou=provo, ou=users, o=novellchangetype: modifyreplace: mailmail: [email protected]# modyfikacja nazwy usera i przeniesienie go# do innej jednostki organizacyjnejversion: 1dn: cn=johndoe, ou=provo, ou=users, o=novellchangetype: moddnnewrdn: cn=jimmydoedeleteoldrdn: 0newsuperior: ou=toronto, ou=users, o=novell

Page 12: Ldap novell

Parametryzacja przeszukań (w API)

● base – punkt początkowy (root DN) przeszukiwania● scope – [ base | onelevel | subtree ]● time – ograniczenie czasu na wykonanie

przeszukania● size – ograniczenie ilości wyników● attributes – lista zwracanych atrybutów● attrsonly – [ TRUE | FALSE ]● search_filter – filtry zgodnie ze składnia RFC1558

Page 13: Ldap novell

Przeszukiwanie katalogu● Typowe, jedno poziomowe wyszukiwanie w c=US,

zwracające opisy wszystkich jednostek organizacyjnych uczelni:

ldapsearch -L -s one -b "c=US" \ "o=university*" o description

● Wyniki przeszukiwań zwracane są w postaci LDIF, w szczególności można sporządzić export LDAP Schema dla eDirectory przy pomocy wyszukania:

ldapsearch -h <host> -D <admin account> -w \ <admin password> -b "cn=schema" -s base \ "objectclass=subSchema"

Page 14: Ldap novell

Bardziej szczegółowe opracowania

● „LDAP: An Unsung Hero of the IP Communications Revolution”– http://www.ind.alcatel.com/library/whitepapers/wp_LDAP.pdf

● „How to Make an Existing LDAP Application Work with NDS”– http://developer.novell.com/research/devnotes/2000/june/03/d000603.htm

● „Authenticating Users to UNIX Systems with Novell eDirectory and LDAP”– http://developer.novell.com/research/appnotes/2002/june/02/a020602.htm