Serwery LDAP w środowisku produktów w Oracle 1 Mariusz Przybyszewski
Uwierzytelnianie i autoryzacja Uwierzytelnienie to proces potwierdzania tożsamości, np. przez: Użytkownik/hasło certyfikat SSL inne Autoryzacja to przyznanie uprawnień Informacje wymagane do uwierzytelniania i autoryzacje są przechowywane w: Bazie danych Systemie operacyjnym Dedykowanym systemie 2
Usługi katalogowe Informacje przechowywane są w strukturze katalogów Dane są dostępne dla wielu systemów, np.: Serwery baz danych Systemy operacyjne Przechowywane są m.in.: Informacje o uwierzytelnieniu i autoryzacji Informacje adresowe Konfiguracje systemów Przeważają operacje odczytu Standard ISO X.500 3
LDAP LDAP (Lightweight Directory Access Protocol) protokół dostępu do katalogu Standard IETF (Internet Engineering Task Force) opisany w dokumentach RFC Określa lekki sposób małe wymagania klienta w porównaniu do DAP z X.500 Definiuje, m.in.: Protokół dostępu Operacje wykonywane przez klienta Format zapisu zapytań Format pliku wymiany danych LDIF (LDAP Data Interchange Format) 4
LDAP / Struktura Dane przechowywane są w postaci powiązanych ze sobą wpisów Wpis jest jednoznacznie identyfikowany przez DN (Distinguished Name) RDN (Relational DN) to określenie wpisu względem nadrzędnego drzewa kontekstu Wpisy zawierają atrybuty Atrybuty organizowane są w klasy cn=maniek c=pl o=altkom cn=users emailaddrs: lolek@aaa.com dn: cn=maniek,cn=users, o=altkom,c=pl 5
LDAP / Operacje Standardowe operacje to: Bind/unbind podłączanie się do serwera Search wyszukiwanie/pobieranie informacji z katalogu Compare porównywanie wartości atrybutów Add, Delete, Modify dodawanie, usuwanie i modyfikowanie wpisów 6
LDAP / Przegląd produktów Najbardziej znane serwery LDAP: Netscape Directory Server Sun ONE Directory Server Novell edirectory IBM Directory Server MS Active Directory OpenLDAP Oracle Internet Directory 7
Oracle Internet Directory Oracle Internet Directory (OID) to serwer LDAP firmy ORACLE Oparty o bazę danych Zgodny ze standardem LDAP v3 Wykorzystywany w wielu innych produktach, m.in.: Oracle Database: opcja Advanced Security - Enterprise Users, protokół NET8, opcja Advanced Queuing Oracle Portal Forms/Reports Services Oracle Single Sign On (OSSO) Oracle Containers for J2EE (OC4J) 8
OID / Architektura Instancja 1 Instancja 2 Replikacja REPOZYTORIUM 9 Monitor
OID / Uwierzytelnianie i autoryzacja Sposoby uwierzytelniania: przez nazwę użytkownika i hasło przez certyfikat SSL anonimowe przez użytkownika PROXY Autoryzacja korzysta z list kontroli dostępu ACL (Access Control List) Autoryzacja wykonywana jest podczas operacji na wpisach 10
OID / Instalacja i konfiguracja Instalacja polega na zainstalowaniu oprogramowania OID oraz utworzeniu repozytorium przez OID Configuration Assistant Wykonywana z płyty instalacyjnej lub poprzez ręczne uruchomienie OID Configuration Assistant (oidca) Podczas instalacji można: Użyć gotowej bazy z płyty Użycie istniejącej instancji ORACLE Jeden serwer może mieć wiele konfiguracji Aby uruchomić kilka konfiguracji każda w swojej instancji 11
OID / Oracle Directory Manager Umożliwia administrację serwerem OID Program graficzny napisany w języku JAVA Pozwala na definicję atrybutów i klas Umożliwia dodawanie, modyfikację i usuwanie wpisów 12
OID / Delegate Administration Service Umożliwia zarządzanie wpisami użytkowników Pozwala delegować uprawnienia Dedykowany zarówno dla administratorów jak i użytkowników końcowych Udostępniany przez przeglądarkę WWW Oparty o technologię Java Servlets i JSP 13
OID / Narzędzia linii poleceń Do uruchamiania serwera służą programy oidctl oidmon Do modyfikacji wpisów ldapadd, ldapmodify, ldapdelete ldapaddmt, ldapmodifymt ldapmoddn bulkmodify, ldifwrite Do testowania połączeń LDAP ldapbind Do wyszukiwania ldapsearch 14
OID / Partycje i repliki Drzewo katalogu może zostać podzielone na partycje Jest jedna główna partycja Kolejne partycje odpowiadają za poszczególne poddrzewa W partycji nadrzędnej znajduje się informacja o lokalizacji poddrzewa Całe katalogi mogą być replikowane między sobą 15
OID / Interfejsy i wtyczki Dostępne są interfejsy: PL/SQL JAVA C Wtyczki realizują dodatkowe akcje, które mają być wykonane przed, podczas lub po zadanej operacji. Wtyczki mogą być napisane tylko jako pakiety PL/SQL, znajdujące się w tej samej bazie co repozytorium OID 16
OID / Platforma integracyjna Directory Integration Platform (DIP) umożliwia integracje OID z aplikacjami oraz z innymi serwerami LDAP Usługa Synchronization Służy do synchronizacji z innymi katalogami Działa w dwie strony Usługa Provisioning Dedykowana dla aplikacji korzystających z OID Działa w jedną stronę 17
Oracle Database Baza danych wykorzystuje OID podczas: Uwierzytelniania użytkowników nazwy i hasła (opcjonalnie) sprawdzane są w OID. Następnie pobierana jest informacja o mapowaniu danego użytkownika do schematu Autoryzacji użytkowników informacje o rolach danego użytkownika są pobierane z OID. NET8 przechowuje nazwy TNS w OID nie ma potrzeby wielokrotnej konfiguracji pliku TNSNAMES.ORA Advanced Queuing informacje na temat kolejek przechowywane są w OID. Ponadto OID może udostępniać informacje o zdarzeniach bazy danych. 18
Oracle Single Sign On Oracle Single Sign On umożliwia jednokrotne uwierzytelnianie aplikacji WWW Do uwierzytelniania wykorzystuje OID Umożliwia autentykację przez hasło oraz przez certyfikat 19
Oracle Portal Oracle Portal służy do tworzenia i zarządzania portali Do uwierzytelniania wykorzystuje bazę użytkowników z OID Wykorzystuje mechanizm Provisioning do pozyskiwania informacji o zmianach w OID Może wykorzystywać OSSO 20
Oracle Forms/Reports Services Służy do uruchamiania aplikacji Forms i Reports w przeglądarce WWW Potrafi wykorzystać połączenie SSO i OID: Użytkownik loguje się do SSO DN użytkownika przekazywany jest serwerowi Forms/Reports Serwer Forms/Report odczytuje informacje o połączeniu do bazy danych z wpisów w OID skojarzonych z danym DN użytkownika 21
Inne Oracle Containers for J2EE Służy do uruchamiania aplikacje J2EE Uwierzytelnia w oparciu o bazę użytkowników w OID Przechowuje informacje o uprawnieniach w OID Oracle Internet File System Służy do przechowywania plików w bazie danych Uwierzytelnia w oparciu o użytkowników OID Wykorzystuje mechanizm Provisioning do pozyskiwania informacji o zmianach w OID 22