Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMiloslav Kadlec
1
Adresářové služby LDAP SLT2001 Skalský dvůr, 15.-18. ú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.500 1985-1988 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: 43554 100 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: debian-admin@lists.debian.org architecture: arm c: at createtimestamp: 19990929040652Z 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: 20010110060813Z root@debussy.debian.org …
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 2251 - LDAPv3 RFC 2252 - LDAPv3: syntaxe atributů RFC 2253 - LDAPv3: UTF-8 reprezentace DN = Disnquished Name RFC 2254 - reprezentace search filterů RFC 2255 - LDAP URL format
36
36 LDAP související RFC RFC 2256 - 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 http://www.openldap.org/ http://www.openldap.org/faq/ Netscape (iPlanet) http://developer.netscape.com/ SASL - Simple Authentication and Security Layer http://asg.web.cmu.edu/sasl/ OpenSSL http://www.openssl.org/ DSML http://www.dsml.org/ http://www.padl.com/software.html http://www.innosoft.com/ldapworld/ http://www.mozilla.org/directory/csdk.html http://www.connectathon.org/ http://www.rudedog.org/auth_ldap/ http://www.delouw.ch/linux/apache.phtml http://www.mindcraft.com/directorymark/
38
38 Knihy Mark Wilcox: Implementing LDAP ISBN 1-861002-21-1 Tim Howes, Mark C. Smith, Gordon S. Good, Timothy A. Howes: Understanding and Deploying Ldap Directory Services Network Architecture ISBN 1578700701 Pete Loshin: Big Book of Lightweight Directory Access Protocol (Ldap) Rfcs ISBN 0124558437 Bruce Greenblatt: Internet Directories: How to Build and Manage Applications for LDAP, DNS, and Other Directories ISBN 0-13-974452-5
39
39 Diskuze Dotazy? Komentáře? Michal Mühlpachr Děkuji za pozornost
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.