180 likes | 296 Views
Schemat zasobów LDAP. Maja Górecka-Wolniewicz, UCI UMK. Postać drzewa danych usługi ogólnopolskiej. gałęzie organizacyjne odzwierciedlenie struktury organizacyjnej jednostek lokalizacja danych typu „white pages” lokalizacja danych wspomagających autoryzację
E N D
Schemat zasobów LDAP Maja Górecka-Wolniewicz, UCI UMK
Postać drzewa danych usługi ogólnopolskiej • gałęzie organizacyjne • odzwierciedlenie struktury organizacyjnej jednostek • lokalizacja danych typu „white pages” • lokalizacja danych wspomagających autoryzację • lokalizacja certyfikatów kluczy publicznych • gałęzie domenowe • odzwierciedlenie internetowej struktury domenowej • lokalizacja danych uwierzytelniających • lokalizacja danych o użytkownikach, urządzeniach sieciowych, serwerach, serwisach sieciowych • synchronizacja zawartości informacyjnej obu drzew
Drzewo organizacyjne • Opcja 1 • poziom 0: PL • poziom 1: pełna nazwa jednostki, uwzględniająca polskie znaki diakrytyczne • Uniwersytet Mikołaja Kopernika w Toruniu • Uniwersytet Marii Curie-Skłodowskiej w Lublinie • Politechnika Wrocławska • poziom 2: jednostki ogólnouczelniane • poziom 3: zakłady, zespoły, pracownie – zgodnie ze strukturą organizacyjną uczelni ......itd. • Opcja 2 • drzewo organizacyjne w ramach domenowego: ou=people, dc=uni, dc=torun, dc=pl ou=organization, dc=uni, dc=torun, dc=pl
Nazwy alternatywne obiektów • Popularne nazwy instytucji / jednostek organizacyjnych • Nazwy w innych językach • o;lang-en • ou;lang-en • Znane skróty instytucji / jednostek organizacyjnych polskie i ew. w innych językach • Popularne nazwy osób • atrybut displayName powinien zawierać również nazwę popularną • atrybut displayName odpowiednikiem plRDN Zaleca się utrzymywanie angielskojęzycznych nazw instytucji / jednostek organizacyjnych
Translacja danych X.500 – LDAP (1) • Zostaną wycofane polskie klasy obiektów i polskie atrybuty stosowane w projekcie X.500 (polishObject, newPolishObject, polishPerson, polishOrganizationalRole, polishOrganizationalUnit, polishOrganization oraz atrybuty pl*,polish*) • Konwersja polskich atrybutów: • plcn cn;lang-pl • plou ou;lang-pl • plo o;lang-pl • pll l;lang-pl • plsn sn;lang-pl • plDescription description;lang-pl • polishpostalAddress postalAddress;lang-pl
Translacja danych X.500 – LDAP (2) • Konwersja polskich atrybutów c.d.: • polishtitle title;lang-pl • plPosition title;lang-pl • plFunction title;lang-pl • plDegree personalTitle;lang-pl • plmgr personalTitle;lang-pl • plDescription description;lang-pl • ident (UMK) employeeNumber • plRDN displayName;lang-pl
Funkcje i tytuły zawodowe / naukowe osób • personalTitle • zgodnie z RFC 1274 tytuł stosowany przez osobę: The Personal Title attribute type specifies a personal title for a person. Examples of personal titles are "Ms", "Dr", "Prof" and "Rev". • title • zgodnie z RFC 2256 funkcja sprawowana przez osobę, stanowisko: This attribute contains the title, such as "Vice President", of a person in their organizational context. The "personalTitle„ attribute would be used for a person's title independent of their job function.
Klasa eduPerson • amerykańska inicjatywa stworzenia klasy obiektów opisującej osoby zgodnie z potrzebami środowiska akademickiego • zestaw dodatkowych atrybutów, m.in. eduPersonAffiliation (student, pracownik, doktorant), eduPersonNickname, eduPersonOrgDN (wyróżniona nazwa instytucji związanej z pracownikiem), eduPersonOrgUnitDN (wyróżniona nazwa jednostki związanej z pracownikiem), eduPersonPrimaryAffiliation, eduPersonPrincipalName („sieciowy” identyfikator osoby, np. w postaci adresu e-mail) • dokument eduPerson 1.5 Specification
Wykorzystanie klasy eduPerson • eduPersonNickname– popularne imię osoby • eduPersonOrgDN – instytucja, w której pracuje osoba • eduPersonOrgUnitDN – jednostka organizacyjna instytucji, w której pracuje osoba • eduPersonPrimaryOrgUnitDN – podstawowa jednostka organizacyjna instytucji, w której pracuje osoba • eduPersonAffiliation– określenie przynależności osoby do grup • eduPersonPrincipalName – identyfikator sieciowy (NetId) osoby o postaci user@domain, niepowtarzalny • oryginalne zastosowanie – uwierzytelnianie/autoryzacja między instytucjami • planowane zastosowanie – łącznik między drzewem organizacyjnym i domenowym • eduPersonEntitlement – URI wskazujący zestaw uprawnień do konkretnych zasobów, np. URL kontraktu dotyczącego licencjonowanego oprogramowania
Identyfikatory osób • Rozróżnianie osób, użytkowników systemu • Integracja identyfikatorów umożliwia konsolidację różnych systemów, m.in. w celu synchronizacji danych • Własności identyfikatorów • stopień czytelności, sposób generacji (centralny, lokalny), trwałość, dostępność • relacje między różnymi identyfikatorami • Rodzaje identyfikatorów • uid, netid, account, e-mail • identyfikator w systemie bibliotecznym • identyfikatory osobowe: PESEL, ident. w bazie kadrowej itp. • Dokument Internet2 pt. „Identifiers, Authentication, and Directories: Best Practices for Higher Education” • opis istotnych aspektów zastosowania identyfikatorów w kontekście usługi katalogowej
Informacje wspomagające autoryzację • Lokalizacja użytkownika w grupie roboczej, zespole itp. • Dwie możliwości: • definicja grup jako wpisów w drzewie domenowym lub organizacyjnym • klasa obiektów groupOfNames z core.schema, obowiązkowe atrybuty cn oraz member • klasa obiektów groupOfUniqueNames z core.schema, obowiązkowe atrybuty cn oraz uniquemember • klasa groupOfURLs z core.schema, obowiązkowy atrybut memberURL • definicja atrybutów we wpisie dotyczącym osoby, np. eduPersonAffiliation
Inne problemy i propozycje • Atrybut associatedDomain • zdefiniowany w ramach schematu Cosine • w projekcie X.500 stosowany do wskazania w obiektach organization i organizationalUnit domeny związanej z instytucją / jednostką organizacyjną – takie obiekty dodatkowo należały do klasy domainRelatedObject • propozycja: dodanie atrybutu associatedDomain (zdefiniowany w core.schema) do własnych klas pleduOrgUnit i pleduOrganization • Atrybut labeledURI • zdefiniowany w klasie labeledURIObject • propozycja: dodanie klasy obiektów labeledURIObject dla wpisów dotyczących instytucji / jednostek organizacyjnych i stosowanie opcjonalnego atrybutu labeledURI do umieszczania adresu strony WWW
Schemat danych drzewa organizacyjnego (1) • zgodny ze schematem stosowanym w projekcie OpenLDAP • core.schema • inetorgperson.schema • rezygnacja z cosine.schema • dodatkowo • eduPerson.schema • rozszerzenia własne projektu, m.in. definicja personalTitle i innych specyficznych atrybutów w pleduPerson.schema
Schemat danych drzewa organizacyjnego (2) • opis własności związanych z infrastrukturą kluczy publicznych • klasa certificationAuthority w core.schema • atrybuty klasy inetOrgPerson • klasy pkiUser i pkiCA zgodnie z RFC2587 • ostatnie podejście: Internet-Draft, An LDAPv3 Schema for X.509 Certificates, draft-klasen-x509certificate-schema
Schemat danych drzewa domenowego (1) • Schematy: core.schema, nis.schema, samba.schema • Wpisy dotyczące domen • klasa obiektów dcObject(core.schema) • atrybut wymagany dc • Wpisy dotyczące użytkowników • klasa obiektów posixAccount oraz sambaAccount(samba.schema) • atrybuty obowiązkowe dla klasy posixAccount: cn, uid, uidNumber, gidNumber, homeDirectory • atrybuty opcjonalne dla klasy posixAccount: userPassword, loginShell, gecos, description • atrybuty obowiązkowe dla klasy sambaAccount: uid, rid • atrybuty opcjonalne dla klasy sambaAccount: cn, lmPassword, ntPassword, pwdLastSet, logonTime, logoffTime, kickoffTime, pwdCanChange, pwdMustChange, acctFlags, displayName, smbHome, homeDrive, scriptPath, profilePath, description, userWorkstations, primaryGroupID, domain
Schemat danych drzewa domenowego (2) • Klasa obiektów account zdefiniowana w cosine.schema • obowiązkowy atrybut userid (uid) • atrybuty opcjonalne: description, seeAlso, localityName, organizationName, organizationalUnitName , host • zbędna w drzewie domenowym, jeśli wpisy użytkowników będą powiązane z wpisami w drzewie organizacyjnym (eduPersonPrincipalName jako łącznik) • Rozszerzenia dla potrzeb dystrybucji maili (misc.schema) • Internet-Draft – LDAP Schema for Internet Mail Routing (draft-lachman-laser-ldap-mail-routing-02.txt), np. wykorzystywane w programie sendmail skonfigurowanym do współpracy z LDAP-em • we wpisach użytkowników dodatkowo klasa obiektów inetLocalMailRecipient • atrybuty: mailLocalAddress, mailHost, mailRoutingAddress
Inne zastosowania drzewa domenowego • Informacja wspomagająca działanie programu qmail umieszczana we wpisach użytkowników • schemat qmail.schema • klasa obiektów qmailUser • obowiązkowe atrybuty: mail, uid • atrybuty opcjonalne: m.in.mailMessageStore , homeDirectory , userPassword , mailAlternateAddress, qmailUID, qmailGID, mailQuota, mailHost , mailForwardingAddress , deliveryProgramPath , qmailDotMode , deliveryMode , mailReplyText , accountStatus , qmailAccountPurge • Strefy domen DNS w LDAP-ie • centralizacja źródła informacji DNS • zgodnie z draft-miller-dns-ldap-schema-00 • klasy obiektów: DNSZone, DNSRRSet, DNSServer • atrybuty: DNIPZoneDomainName, DNIPSecondaryZone, DNIPSOASerial, DNIPRR, DNIPMACAddress
Rozproszona usługa katalogowa • Przechowywanie informacji o innych serwerach LDAP • Internet-Draft „Named Subordinate Reference in LDAP Directories” • klasa obiektów referral(core.schema) • Obowiązujący atrybut ref • Ochrona danych umieszczanych we wpisach • brak standardowego podejścia • własne rozwiązania w projekcie OpenLDAP: • klasa obiektów OpenLDAPacl • atrybut OpenLDAPaci