Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Adresářové služby LDAP SLT2001 Skalský dvůr, 15.-18. února 2001 Michal Mühlpachr.

Podobné prezentace


Prezentace na téma: "Adresářové služby LDAP SLT2001 Skalský dvůr, 15.-18. února 2001 Michal Mühlpachr."— Transkript prezentace:

1 Adresářové služby LDAP SLT2001 Skalský dvůr, února 2001 Michal Mühlpachr

2 2 Co je to adresářová služba? Databázová aplikace používaná pro správu položek adresáře –zpřístupňuje informace pro uživatele a aplikace Většinou používá architekturu klient-server Může být distribuovaná DNS je příkladem adresářové služby mapující host jména na IP adresy

3 3 Co je to adresářová služba? Globální adresářová služba zajišťuje centralizovaný sklad informací o organizaci –lidé –počítače –tiskárny –konferenční místnosti –SW –…

4 4 Co je to LDAP? Standardní protokol pro globální adresářové služby –LDAP server poskytuje služby –LDAP klient využívá služby Začal jako TCP/IP front end k X.500 –zachovává X.500 data model IETF standard

5 5 Historie ITU-T X DAP RFC 1487 (1993), v2 RFC 1777 v3 RFC 2251 –podpora mezinárodních znaků Unicode UTF-8, jazykové kódy –bezpečnost (SSL, SASL) –distribuovanost (referaly) –extensibilita (např. dávkový import dat) –informace o funkcionalitě a schema

6 6 LDAP model LDAP Client LDAP Server Databáze požadavky odpovědi Server přijímá na TCP portu: 389 LDAP 636 LDAP over SSL

7 7 Datový model Základní informační jednotka je záznam Záznam je soubor atributů Každý atribut má jméno, typ a žádnou, jednu nebo více hodnot Typ určuje jaké druhy hodnot mohou být uloženy ASN.1, BER, OID

8 8 Datové typy cis – case insensitive string ces – case exact string int – integer bin – binary data dn – distinguished name tel – telephone number

9 9 Třídy záznamů (objektů) Definuje atributy (jména a typy), které záznam musí a může obsahovat LDAP definuje standardní množinu tříd pro zajištění interoperability –person, organizationalPerson, … –country, locality, organization, organizstionalUnit, … –groupOfNames, … –…

10 10 Třídy objektů Záznam (instance) může patřit současně do více jak jedné třídy Použitelné atributy záznamu jsou množinovým součtem tříd, do kterých záznam patří Atributy se dělí na povinné a volitelné podle definice tříd Definice tříd mohou být děděny

11 11 Příklad třídy a záznamu objectclass person requires objectclass, sn, cn allows description, seeAlso, telephoneNumber, userPassword TřídaZáznam cn: Michal Muhlpachr cn: Michal Mühlpachr cn: michalm sn: Mühlpachr sn: Muhlpachr description: Consultant userPassword: {crypt}Gb0Rd telephonenumber: objectclass: top objectclass: person

12 12 Adresářové schema Atributy a objekty známé adresářovému serveru tvoří schema Adresářové schema popisuje typ dat, která mohou být obsažena v adresáři Schema může být rozšiřováno přidáváním nových atributů a tříd objektů

13 13 Adresářový strom Záznamy jsou organizovány ve struktuře podobné stromu

14 14 K2 account connService subItf ipSubnet ipAddr route locality router itf resource Hierarchie stromu a reference

15 15 Namespace Každý záznam je unikátně identifikován svým distinguished name (DN) –analogické k cestě souboru ve file systém Jeden nebo více atributů je použito pro relative distinguished name (RDN) záznamu DN záznamu je tvořen svým RDN a RDN svých předchůdců

16 16 Namespace ou=people o=firma ou=groups uid=michalmuid=test cn=provozcn=obchod RDN: ou=people DN: ou=people,o=firma RDN: uid=michalm DN: uid=michalm,ou=people,o=firma DN má formát seznamu čárkou oddělených dvojic atribut a hodnota

17 17 LDAP operace Bind, Unbind – identifikace a autentizace Compare – porovnání hodnoty atributů Search – nalezení záznamu Modify – modifikace záznamu Add – přidání záznamu Delete – vymazání záznamu Modify RDN – modifikace RDN nebo přesun záznamu

18 18 Přístupová práva LDAP umožňuje řídit přístup k záznamům –přístup k serveru anonymní / user + password / user + certifikát a SK –přístup k datům přístupová práva (search/read/write) mohou být nastavena podle větve, objektu nebo atributu přístup může být řízen podle uživatelů, skupin, IP adres, domén

19 19 Vyhledávání Base (odkud ve stromě začít hledat) Search string –operátory přítomnost atributu, rovnost hodnoty atributu, menší, větší, substring, „zní jako“ –skládání pomocí and, or, not a závorkování Scope –base, one, subtree Požadované atributy Rychlost vyhledávání závisí na indexování

20 20 Vyhledávání – Netscape address book Vyhledávání „michal“ Search filter: (cn=*michal*) Požadované atributy: cn, mail, o, telephoneNumber, l, nickname, sn, givenName

21 21 Vyhledávání – Microsoft Outlook Vyhledávání „michal“ Search filter: (|(mail=michal*)(cn=michal*)(sn=michal*)) Požadované atributy: Display-name, cn, commonName, mail, otherMailBox, givenName, sn, surnaon

22 22 Distribuované LDAP - referaly

23 23 Replikace

24 24 gq client

25 25

26 26

27 27 Netscape client

28 28 LDIF dn: host=debussy,ou=hosts,dc=debian,dc=org objectclass: top access: all admin: architecture: arm c: at createtimestamp: Z creatorsname: uid=jgg,ou=users,dc=debian,dc=org description: ARM port machine disk: 5G [6G] distribution: potato Debian GNU/Linux host: debussy hostname: debussy.debian.org l: Wien machine: Strong Arm SA110 rev 3 memory: 64M modifiersname: uid=jgg,ou=users,dc=debian,dc=org modifytimestamp: Z …

29 29 Python API #!/usr/bin/env python import ldap l = ldap.open ('ldap.firma.cz', 389) l.simple_bind_s( 'uid=user,ou=people,dc=firma,dc=cz', 'password') for dn, dict in l.search_s( 'dc=firma,dc=cz', ldap.SCOPE_ONELEVEL, '(objectClass=*)', ['objectClass', 'description']): print dict['objectClass'][0], \ dict['description'][0]

30 30 Použití LDAP v OS LDAP SIA Plug-in –getpw*(), getgr*() funkce v libc –login –POP/IMAP –zcela transparentní pro uživatele LDAP PAM –pam-ldap –nss-ldap

31 31 LDAP enabled aplikace MTA – Exim, Qmail-LDAP Courier IMAP/POP Apache Zope PHP Netscape Navigator, mutt, Emacs, MS Explorer, MS Outlook, …

32 32 OpenLDAP 2.0.x LDAPv2 a LDAPv3, IPv4 a IPv6 Simple Authentication and Security Layer Cyrus SASL - DIGEST-MD5, EXTERNAL a GSSAPI Access control (statický, dynamický) Internacionalizace: Unicode a jazykové tagy Různé DB backendy: LDBM (BerkleyDB, GDBM), shell, simple passwd file, více databází současně, … Generické API pro moduly (SQL, …) Threads Replikace

33 33 Proč je LDAP zajímavé? Protokol založený na otevřených standardech Může být distribuovaný přes různé platformy, firmu, planetu Univerzální atribut/hodnota adresář, který je rychlý, replikovaný a spolehlivý Škálovatelné na milióny záznamů Centralizovaný management informací Bezpečnost (ACL, SSL) Mnoho API (ANSI C, shell, Python, Perl, Java, …) Jednoduchost ale výkonnost

34 34 Proč je LDAP zajímavé? Hodně komerčních implementací Netscape (iPlanet) Directory Server Novell NDS Innsoft, Lucent, IBM DSS Oracle DB LDAP storage Microsoft Active Directory Services Meta directory produkty B2B kooperace – DSML = Directory Services Markup Language Open source OpenLDAP

35 35 LDAP RFC RFC LDAPv3 RFC LDAPv3: syntaxe atributů RFC LDAPv3: UTF-8 reprezentace DN = Disnquished Name RFC reprezentace search filterů RFC LDAP URL format

36 36 LDAP související RFC RFC souhrn X.500(96) User schema pro LDAPv3 RFC 2307 – přiblížení LDAP pro použití jako Neteork Information Service RFC 1798 connectionless LDAP RFC 1823 The LDAP Application Program Interface

37 37 URL odkazy OpenLDAP Netscape (iPlanet) SASL - Simple Authentication and Security Layer OpenSSL DSML

38 38 Knihy Mark Wilcox: Implementing LDAP ISBN Tim Howes, Mark C. Smith, Gordon S. Good, Timothy A. Howes: Understanding and Deploying Ldap Directory Services Network Architecture ISBN Pete Loshin: Big Book of Lightweight Directory Access Protocol (Ldap) Rfcs ISBN Bruce Greenblatt: Internet Directories: How to Build and Manage Applications for LDAP, DNS, and Other Directories ISBN

39 39 Diskuze Dotazy? Komentáře? Michal Mühlpachr Děkuji za pozornost


Stáhnout ppt "Adresářové služby LDAP SLT2001 Skalský dvůr, 15.-18. února 2001 Michal Mühlpachr."

Podobné prezentace


Reklamy Google