MIKRO KNJIGA

Windows 2000 Server Biblija


Poglavlje 2

U ovom poglavlju

Izvori tehnologije Active Directory

Elementi tehnologije Active Directory

Poređenje modela domena Windowsa NT i Windowsa 2000

Uvod u aktivni imenik

Usluge imenika su jedna od trenutno najzanimljivijih tehnologija za korporacijske mreže. Microsoft, novi član kluba operativnih sistema koji pružaju usluge imenika, na svom modelu usluga imenika zasnovao je gotovo celu liniju proizvoda. Poznavanje tehnologije Active Directory (aktivni imenik) je stoga obavezno za svakoga ko namerava da se bavi upravljanjem ili instaliranjem i održavanjem Windowsa 2000.

Sedamdesetih godina, svi računarski resursi koji su vam trebali, ili koje ste mogli da koristite, nalazili su se na računaru ili na terminalu s kojeg ste se prijavljivali na taj računar. Osamdesetih godina, pojava lokalnih mreža PC računara dovela je do toga da mnoge datoteke budu razmeštene na udaljene mašine, do kojih su vodile fiksne putanje. Korisnici lokalne mreže delili su te datoteke i štampače, a elektronska pošta im je omogućavala da razmenjuju poruke. Krajem devedesetih godina, svedoci smo veoma značajnih promena u načinu razmišljanja, jer je postalo moguće da se podacima i funkcijama za rad s njima pristupa na bilo kom serveru u bilo kojoj mreži na bilo kom mestu, a da pri tome uopšte nije neophodno da korisnik zna gde se objekti fizički nalaze.

To je idealni model računarske obrade u kome svi mrežni objekti - serveri, uređaji, funkcionalnost, podaci, proveravanje identiteta i prenos podataka - sarađuju tako da zajednički tvore jedinstven informacioni sistem i računarsko okruženje. To okruženje omogućava korisnicima, bez obzira na to da li se radi o ljudskim bićima ili o mašinama, da uspostavljaju ili održavaju veze sa sistemima koristeći jednoobrazne interfejse na svakoj ulaznoj tački mreže. Potpuno je svejedno šta je korisniku potrebno - funkcije određenog uređaja, komunikacija, proces, algoritam ili, možda, samo podaci i saznanje o nečemu - on može da pristupi odgovarajućem objektu bez obzira na njegovu fizičku lokaciju.

Tehnologija Active Directory predstavlja Microsoftov značajan korak u pravcu ostvarivanja sna o potpuno distribuiranom okruženju i arhitekturi informacionih sistema. O njoj se govori već dugi niz godina, ali su naslovi tekstova u stručnim časopisima uvek bili neodređeni u vezi s datumom konačnog izlaska te tehnologije na tržište. To je razlog što su mnogi administratori i sistemski inženjeri zaboravili na tehnologiju Active Directory i naporno radili na tome da poboljšaju ono što su već imali, sve to za nemalu cenu. Verovatno i vi malo znate o čemu se tu radi i kako se ona koristi. Ne bi trebalo da vas to brine, pošto ne samo da niste jedini, već je i malo verovatno da ste uopšte imali prilike da koristite tu tehnologiju.

Ne prođe dan a da nas neko ne upita o tehnologiji Active Directory (a to nisu samo profesionalci za Windows NT, Unix ili NetWare, već i inženjeri koji rade na velikim centralnim računarima i miniračunarima). Namena ovog poglavlja je da opiše suštinu te tehnologije, da prikaže njene elemente i da postavi temelje da bi ono što je važno bilo jasno istaknuto, kako bismo mogli da nastavimo dalje. Najpre morate da shvatite suštinu tehnologije Active Directory (AD) da biste mogli da pređete sa starog načina upravljanja mrežom i računarskim okruženjima na nove mogućnosti koje se nude.

U ovom poglavlju opisaćemo elemente aktivnog imenika. Počećemo kratkim objašnjenjem o tome kako i zbog čega ćemo koristiti aktivni imenik, a reći ćemo i nešto o počecima te tehnologije. Zatim prelazimo na njene komponente (tj. na njenu logičku strukturu) i na kraju, objasnićemo kako te komponente rade i međusobno sarađuju. Zapazićete da tema Windowsovih domena i povereničkih odnosa između njih neće biti načeta dok ne dođemo do kraja opisa aktivnog imenika.

U ovom poglavlju uvodimo i Millennium City, ili mcity.org , tj. primer Windows 2000 mrežne infrastrukture koji ćemo koristiti kroz celu knjigu. To je mreža koja obuhvata ceo jedan grad, a njen aktivni imenik je ono što smo koristili za testiranje granica onoga što Microsoft tvrdi da može da obezbedi. MCITY je, u suštini, jedna velika laboratorija za testiranje tehnologije Active Directory.

Ovo poglavlje ne morate da čitate ispred svog monitora. Imajte pri ruci nešto za grickanje i otkažite sve sastanke.

Sveznajući aktivni imenik: zora nove ere

Klijent/server arhitektura Windowsa NT predstavljala je značajno poboljšanje u poređenju sa onim što su nudili drugi proizvođači servera i mreža, pa čak i sam Microsoft. Međutim, imala je i nedostataka, koji bi, da nisu bili otklonjeni u Windowsu 2000, omeli napredovanje ovog veoma sofisticiranog operativnog sistema. U Windows NT mreži - u stvari, u svakoj mreži - resurse ne možete da distribuirate lako i jednostavno. Mogućnost interoperabilnosti i prilagođavanja potrebama mnogobrojnih NT servera, štampača, deljenih resursa, uređaja, datoteka, baza znanja, funkcionalnosti i stoga njihove dostupnosti, znatno se smanjuje kada mrežne komponente i objekti nemaju sposobnost deljenja informacija s drugima. Kao što je ukratko objašnjeno u poglavlju 1, jedan od najznačajnijih dodataka Microsoftovoj tehnologiji jeste aktivni imenik. Možda nijedan drugi aspekt Windowsa 2000 neće biti tako važan kao aktivni imenik, pošto gotovo svaka nova mogućnost ili funkcija ovog proizvoda zavisi od usluga imenika.

Pre nego što upotrebimo instrumente za seciranje, treba da znate sledeće:

»emu služe imeniciđ

Imenik sadrži podatke. U njegovom najjednostavnijem obliku, možemo ga porediti sa gigantskim telefonskim imenikom koji omogućava korisniku da pomoću imena i prezimena pronađe određeni telefonski broj, i da, možda, zatim automatski uspostavi vezu s vlasnikom tog broja. Međutim, u svetu informacionih tehnologija imenik je mnogo više od telefonskog imenika. Pre nego što zaronimo u specifičnosti aktivnog imenika, pogledajmo nekoliko razloga zbog kojih su nam imenici potrebni. Nastavićemo tako što ćemo aktivni imenik postaviti u centar svih usluga koje Windows 2000 pruža.

Jednokratna prijava i distribuirani bezbednosni parametri

Zahvaljujući tehnologiji Active Directory, ulazak u kiberprostor i kretanje po njemu veoma je jednostavno. Zamislite kako bi izgledalo kada biste u svetu od cigle i maltera u kome živimo morali da se prijavljujete pri ulazu u svaki tržni centar, autoput, kiosk sa novinama, javnu zgradu, sportsku halu, radnju, restoran, bioskop itd.. A što biste to, onda, činili u kiberprostoruđ

U mreži bilo koje firme koju uzmete kao primer, danas je gotovo nemoguće da se ne prijavite barem tri puta. Mi se svakog dana prijavljujemo za rad u NetWare, u Windows NT domene, za govornu poštu, na centralni računar (na AS/400 koristeći aplikaciju Rumba), za FTP i na kraju na Internet; bolje da ne nabrajamo koliko korisničkih naloga i prijava imamo.

Ne samo što moramo da se prijavljujemo za rad desetine puta svakog dana i da pamtimo desetine lozinki i korisničkih imena, već moramo tačno da znamo gde se unutar mreže nalaze podaci i resursi. Jednoobrazna adresa resursa (Uniform Resource Locator, URL) donekle je olakšala problem pronalaženja resursa na World Wide Webu (ukida potrebu da tačno znate gde se nešto nalazi na Internetu), ali to rešenje još uvek nije idealno ni jednostavno za upotrebu. URL adrese su promenljivi i u većini slučajeva veliki brojevi s kojima se teško radi, što često znači da nisu ažurni. Njima se ne upravlja unutar jednog dobro osmišljenog i zaokruženog sistema.

Idealno bi bilo kada bismo imali neku vrstu identifikacione "značke" koja bi nam omogućila da se prijavimo samo jedanput i da je zatim pokazujemo kud god se krećemo. Na primer, na osnovu jednokratne prijave u sistem trebalo bi da nam bude omogućen pristup svakoj aplikaciji i usluzi u našim lokalnim mrežama, od elektronske i govorne pošte, do pristupa podacima i štampačima, i to na poslu ili kod kuće. Vrsta i prava pristupa koje imamo zavisili bi od atributa ili "bezbednosnih nivoa" naših značaka. Bezbednosni "žeton" s kojim radi bezbednosni mehanizam Windowsa NT približava se idealnom rešenju, ali ga druge tehnologije ne prihvataju kao način identifikacije korisnika. Na slici 2-1 prikazano je više sistema u koje bi trebalo da pristup bude kontrolisan kroz centralni bezbednosni sistem. U mnogim slučajevima to je već moguće pomoću aplikacija koje koriste tehnologiju Active Directory, kao što su SQL Server 2000 i Exchange 2000.

Kao što ćete saznati u poglavlju 3 i poglavljima u trećem delu, san o jednokratnom prijavljivanju pretvoren je u stvarnost u Windowsu 2000 pomoću usluga aktivnog imenika i podrške za Kerberos, MIT-ovu tehnologiju identifikacije korisnika. Ova usluga se zove jednokratno prijavljivanje (Single Sign-On, SSO). SSO je postao gotovo standard u zajednici kompanija koje podržavaju protokol Kerberos; među njima su Microsoft, Apple, Sun i Novell.

Kada se putem protokola Kerberos korisnik pravilno identifikuje, sve ostale usluge koje protokol Kerberos podržava mogu da ga prihvate i omoguće mu dalji pristup. Kerberos to čini tako što koristi "ulaznice" (engl. tickets) - što je, u suštini, ista ideja kao identifikacione značke koje smo pomenuli - a koje dodeljuje usluga imenika.

U prvom poglavlju napomenuli smo i to da je Microsoftova arhitektura domena znatno poboljšana u Windowsu 2000 kako bi se uklopio aktivni imenik i omogućilo i proširenje na Internet. Zamislite mogućnost prijavljivanja u svoj domen sa bilo kog mesta u svetu! U ovom poglavlju govorićemo o tome sa mnogo više detalja.

Upravljanje izmenama unutar sistema

Tehnologija Active Directory olakšava upravljanje pokretnim korisnicima, korisnicima kiberprostora, korporacijskim mrežama i računarima sa kojih ti korisnici uspostavljaju veze sa mrežama. Mi, administratori sistema, želeli bismo mogućnost upravljanja svim našim korisnicima i računarskim resursima sa jednog centralnog spremišta. Ne bismo želeli da to činimo u jednom imeniku za grupu korisnika glasovne pošte, u drugom za NetWare server, u sistemskoj bazi podataka, u pojedinačnim Windows domenima itd.

Osim toga, nama kao upravljačima sistema, neophodna je i mogućnost da lakše upravljamo izmenama tih podataka unutar sistema. Potrebno je da spajanjima, dopunama, novim proizvodima i uslugama neprekidno upravljamo na jednoobrazan i standardizovan način. Group Policy, usluga Windowsa 2000 koja omogućava kontrolu i upravljanje izmenama unutar sistema, čuva sve podatke o korisnicima i računarima u aktivnom imeniku (kao što je napomenuto u odeljku o ZAW inicijativi u prvom poglavlju).

Distribuirano upravljanje sistemom

Tehnologija Active Directory omogućava da administrativne funkcije i odgovornost raspodelite na više celina. To možete da uradite i unutar mreže ili domena radi lakšeg administriranja. Usluga distribuiranog imenika omogućava vam da administriranje korisnika i mrežnih resursa raspodelite širom organizacije. Na starijim NT sistemima mogli ste da definišete korisnike i grupe sa administratorskim pravima, ali je bilo gotovo nemoguće da od tih administratora sakrijete druge mrežne resurse.

Pošto aktivni imenik može da bude izdeljen tako da u potpunosti preslikava organizacionu strukturu preduzeća, moguća je i raspodela administrativnih poslova po delovima strukture. Drugim rečima, logično je da nekoga ko radi u određenom odeljenju zadužite za obavljanje rutinskog dela poslova upravljanja resursima tog odeljenja.

U nastavku ćete saznati i to da administriranje određenim imenikom možete da poverite pojedincima kojima ćete dozvoliti samo ograničen pristup ili pravo isključivo na delove imenika koji su im dodeljeni na upravljanje.

Upravljanje aplikacijama

Tehnologija Active Directory olakšava razvijanje i distribuiranje aplikacija. Projektantima aplikacija su potrebni dosledni, otvoreni i interoperabilni interfejsi i API funkcije na osnovu kojih će pisati programski kôd koji skladišti i upravlja podacima o aplikacijama, procesima i uslugama u okruženju sa distribuiranim informacijama. želeli bismo mogućnost da pišemo aplikacije i da ih zajedno s podacima o očuvanju tekućeg stanja smeštamo u "nevidljiva" skladišta koristeći za to otvoren interfejs. Trebalo bi da te vrste informacija budu dostupne iz bilo kog dela mreže.

Projektantima je potrebna mogućnost da napišu metode koje aplikaciju instaliraju u određeni mrežni imenik radi početnog podešavanja, a zatim i održavanja tokom životnog veka aplikacije. Ne bi trebalo da se bavimo unutrašnjim mehanizmom koji omogućava rad samog imenika. Ono što nam treba jeste mogućnost da naš informacioni ili konfiguracioni objekat napravimo, inicijalizujemo i koristimo i da to bude kraj našeg posla - bez obaveze da brinemo o tome gde će korisnik taj objekat instalirati ili odakle će ga pozvati. Osim toga, ma gde da premestimo objekat koji smo napravili, trebalo bi da on uvek bude dostupan aplikaciji.

Pobrojane mogućnosti su u prošlosti bile razlog visoke cene pristupa i upravljanja sistemom. Potrebna su nam rešenja koja će, iako tek na duži ili srednji rok, sniziti cenu upravljanja i korišćenja kiberprostora i informacionih sistema koji upravljaju našim preduzećima i našim životima.

šta je aktivni imenikđ

Postoji više raznih registara i baza podataka koji aplikacijama i korisnicima pružaju usluge kakve se očekuju od jednog aktivnog imenika. Međutim, nijedan od njih nije ni u kom pogledu povezan sa ostalima, zasnovan na deljenju resursa niti distribuiran. Aktivni imenik je univerzalno distribuirano spremište za podatke kroz koje na standardizovan način može da se pristupa svim mrežnim objektima, kao što su konfiguracije aplikacija, usluge, računari, korisnici i procesi, i to širom cele lokalne mreže ili šire mreže čiji je ona deo. To nam omogućava logička struktura imenika. Pre nego što počnete da se češkate po glavi, trebalo bi da shvatite da vam tehnologija Active Directory ne omogućava da se prijavite u domen Windowsa 2000 - i tačka. Poglavlja 7 i 8 ilustruju ovu činjenicu i kontrolu koju imate nad fizičkom i logičkom strukturom aktivnog imenika.

U nastavku ovog poglavlja i u poglavlju 7 detaljnije ćemo uporediti aktivni imenik s bazom podataka; ali pre toga, ukoliko nameravate da usvojite ovo dete, treba da saznate i nešto o njegovim roditeljima.

Deda savremenog imenika: specifikacija X.500

Predak usluge imenika, u obliku koji danas počinje da se pojavljuje, bio je model međusobnog povezivanja koji je predložila Međunarodna organizacija za standarde (International Standard Organization, ISO) pre nešto više od 20 godina. Ovaj model je široko prihvaćen pod imenom OSI, što je skraćenica za open-systems interconnection (međusobno povezivanje otvorenih sistema). Krajem osamdesetih godina, OSI model je dobio značajnu podršku od velikih firmi i državnih organizacija i brzo je postao temelj informatičke revolucije čiji smo danas svedoci.

OSI model i njegovih sedam slojeva predstavljaju početno jezgro savremene informacione tehnologije. Bez suštinskog razumevanja OSI modela teško ćete biti efikasan inženjer sistema, projektant softvera, rukovodilac računskog centra ili administrator Web domena. OSI je za informacione tehnologije ono što je anatomija za medicinu. Iako polazimo od pretpostavke da vam je poznat model OSI, naredni kratak opis specifikacije X.500 obezbediće polaznu tačku sistemskim inženjerima koji ne poznaju uslugu imenika.

Usluga imenika po specifikacijama X.500 smeštena je u OSI sloju aplikacije, gde "živi" kao grupa protokola o kojoj se stara i kojom upravlja Međunarodna zajednica za telekomunikacije (International Telecommunications Union, ITU), ranije poznata kao CCITT. Cilj specifikacije X.500 bio je da obezbedi standarde i interfejse za otvorenu i interoperabilnu globalnu i distribuiranu uslugu imenika.

X.500 čine mnogobrojne komponente (baze podataka) koje međusobno sarađuju da bi obrazovale jedinstvenu celinu. Kičma sistema je baza podataka imenika (Directory Information Database, DIB). Stavke ove baze sadrže podatke o svim objektima koji se nalaze u imeniku. Na slici 2-2 prikazani su podaci koje DIB sadrži.

Da bi mogli da pristupaju podacima koje DIB sadrži, i računarima i korisnicima potrebna je struktura ili model pomoću kog će lakše razumeti gde se podaci mogu pronaći. Model koji je predložen čini objektno orijentisana hijerarhijska struktura koja liči na obrnuto stablo (slika 2-3). Koren stabla se nalazi na vrhu slike, a grane i listovi su usmereni nadole i mogu slobodno da se šire. Ovaj model obezbeđuje da svaki čvor na stablu uvek bude jedinstven pod uslovom da se nalazi na stablu i da može da sledi putanju svojih "korena" do čvora najvišeg ranga. Stabla koja koristi tehnologija Active Directory (i DNS) rade na sličan način, što će biti objašnjeno u nastavku. Sadržaj stabla se očitava od dna prema vrhu.

Objekti na X.500 stablu predstavljaju kontejnere koji sadrže podatke o ljudima, mestima i drugim pojmovima. Ti objekti su organizovani i u klase (na primer, grupe država, preduzeća, mesta itd).

Standard X.500 obuhvata sledeće kontejnerske objekte:

  • Države
  • Mesto
  • Organizaciona jedinica

Nažalost, od samog svog početka X.500 je bio opterećen brojnim ograničenjima. Urušio se usled sopstvene težine (specifikacija je bila previše detaljna); osim toga, u mnogim aspektima bio je ispred svog vremena (naročito u pogledu veza sa OSI modelom). Pojavio se krajem osamdesetih godina, u vreme kada je otvoren i globalan način upravljanja informacijama bio poslednja briga inovatora koji su se preznojavali po garažama grozničavo pišući programski kôd ili boreći se za svoj deo tržišta na svakom koraku.

Osim toga, X.500 je nastao pre pojave World Wide Weba i masovnog korišćenja Interneta u javnosti i u poslovnom svetu. Međutim, ono što ga je zaista "potopilo", bile su njegove veze sa OSI protokolima (protokoli za prenos podataka - DLC - kao što su 802.2 i 802.3), koje su se pokazale kao njegova Ahilova peta, pošto je IP pokretačka snaga Internet sveta. Za to vreme Internet se razvio na temeljima protokola TCP/IP, a X.500 je ostao da samuje u pustinji.

Poput mnogih drugih inovacija pre njega, X.500 je popločao put za druge pronalaske koji su usledili. Veći deo osnova savremenih usluga imenika, naročito aktivni imenik, vuče korene neposredno iz ideja standarda X.500, u šta ćete se uskoro uveriti.

Otac savremenog imenika: LDAP

Specifikacija X.500 je definisala protokol koji je uslugama omogućavao pristup podacima koji su se nalazili u X.500 bazama podataka. Taj protokol je bio poznat pod imenom protokol za pristup imeniku (Directory Access Protocol, DAP). činio ga je opsežan skup funkcija koje su klijentu omogućavale da dodaje, menja i briše podatke u X.500 imeniku.

Međutim, DAP je bio previše složen i pružao je veću funkcionalnost od one koja je bila potrebna za implementiranje usluge imenika. Zbog toga je napravljena njegova pojednostavljena verzija, nazvana lagani protokol za pristup imeniku (Lightweight Directory Access Protocol, LDAP). Posle nekoliko poboljšanja, LDAP je i sam postao usluga imenika. Pošto ga je preuzela inženjerska grupa za Internet (Internet Engineering Task Force, IETF) nekoliko važnih mogućnosti koje LDAP nudi obezbedile su mu široku podršku:

  • LDAP je smešten povrh TCP/IP sloga, a ne povrh OSI sloga. To znači da svaki klijent koji ima IP adresu može da šalje i prima pakete pomoću protokola IP, ali i da pristupa i koristi usluge imenika koji podržava LDAP protokol. Dovoljno je da klijent zna kako se "razgovara" sa LDAP-om (IP). TCP, transportni protokol, preuzima brigu o svemu ostalom.
  • LDAP može da obavlja hiperpretraživanje, što je mogućnost jednog imenika da tražene informacije dobija od drugog imenika. Drugim rečima, jedan LDAP imenik može da zatraži od drugog imenika da ovaj potraži informacije. Primer ove mogućnosti je način na koji se jedna mašina za pretraživanje Weba putem hiperveza obraća drugim mašinama da bi pribavila dopunske informacije ili informacije koje ne postoje u njenim bazama podataka. Usluge Internet imenika širom sveta mogu da se na taj način povežu i distribuiraju tako da obrazuju jednu globalnu uslugu, koja je ograničena samo brojem servera i mrežnih resursa na raspolaganju.

Mehanizmi replikacije koje Microsoft priprema za svoje proizvode toliko su napredni da će proizvodi kao što je SQL Server 2000 postati potpuno distribuirani pre 2003. godine.

  • Još od svog "ranog detinjstva", LDAP je implementirao bogat skup API funkcija zasnovanih na jeziku C, čime je C postao de facto programski jezik za usluge imenika. Korišćenje trenutno najpopularnijeg jezika za pristup funkcijama imenika obezbedilo je LDAP-u široku podršku mnogobrojnih članova zajednice projektanata aplikacija.

LDAP se sastoji od sledećih komponenata, koje su u ovom ili onom obliku osnova svih savremenih imenika, uključujući i aktivni imenik:

  • Model podataka: Opisuje način na koji se pristupa podacima unutar imenika. Model podataka je neposredan naslednik modela podataka iz specifikacije X.500. Objektima se pridružuju podaci tako što se dodeljuju vrednosti atributima objekata. Svaki atribut ima svoj tip i može da sadrži jednu ili više različitih vrednosti. Objekti se razvrstavaju u grupe klasa, kao što su organizacione jedinice (engl. Organizational Units, OU) ili kompanije (engl. Companies).
  • Organizacioni model: To je model obrnutog stabla, koji smo ranije pomenuli, koji je takođe neposredan naslednik modela iz specifikacije X.500. Njegovu strukturu prihvatile svu sve savremene usluge imenika. Odličan primer je način na koji je Internetova usluga prevođenja imena domena (Domain Name Service, DNS) zasnovana na obrnutim stablima. DNS se sastoji od nekoliko stabala, korenskih ili najviših nivoa, koji se granaju nadole i sadrže milione listova (ili čvorova). Na slici 2-4 prikazana je DNS šuma i sedam korenova. Prikazano je i .com stablo koje je doprinelo eksplozivnom razvoju Interneta kome smo danas svedoci.
  • Bezbednosni model: Određuje načine na koji se kontroliše i štiti pristup podacima. LDAP koristi identifikaciju pomoću lozinki primenom tehnologije Kerberos, a ugrađene su i dopunske mogućnosti identifikacije korisnika dodavanjem sloja za jednostavnu bezbednosnu identifikaciju (Simple Authentication Security Layer, SASL). SASL obezbeđuje višeslojnu arhitekturu za veliki broj davalaca usluga. LDAP u verziji 3.0 podržava i sloj bezbednih priključaka (secure socket layer, SSL), komponentu protokola TCP/IP, koja je u Internet zajednici bila razvijena nezavisno od LDAP-a. Windows 2000 podržava SSL u svom Web čitaču, Internet Exploreru.
  • Funkcionalni model: Određuje metode pretraživanja i menjanja objekata unutar imenika. On opisuje operacije dodavanja stavki u imenik, popunjavanja polja atributa, brisanja i pretraživanja objekata unutar imenika.
  • Topološki model: Propisuje kako se usluge imenika uklapaju u druge kompatibilne imenike ili kako sarađuju s njima. Mogućnost LDAP imenika da referenciraju druge imenike ili da od njih traže podatke sastavni je deo ovog modela.

Popularnost LDAP-a naglo je porasla usled iznenadne popularnosti Interneta. Danas mnoge popularne aplikacije i serverske tehnologije podržavaju ovaj protokol. Može se koristiti iz mnogih aplikacija za elektronsku poštu, aplikacija na Webu, pa čak i u hardverskim komponentama kao što su mrežne skretnice i mrežni prolazi.

Naslednici specifikacije X.500

Mnogobrojne poznate kompanije u oblasti informacionih tehnologija ulažu velike napore u razvoj usluga imenika. Banyan i Novell su dve među njima koje su u tom poslu duže od Microsofta Od ostalih treba pomenuti Netscape i IBM (Lotus Notes).

Banyan je možda najduže prisutan sa svojim proizvodom StreetTalk koji je više od decenije sastavni deo operativnog sistema Vines. Novell se polovinom devedesetih godina pojavio na tržištu sa svojom uslugom imenika, zvanom Novell Directory Service (NDS), čija je ciljna grupa bila postojeća baza Novellovih korisnika. Od onda firma radi na verzijama NDS-a koje će biti nezavisne od operativnog sistema NetWare, a predviđena je i verzija za Windows NT.

Uprkos relativnoj "mladosti", aktivni imenik je nastao na osnovu proverene tehnologije. Jedna od značajnih oblasti je replikacija, za koju je tehnologija preuzeta iz Microsoftovog proizvoda Exchange. Exchangeova tehnologija integracije servera i replikacije podataka proverena je na milionima instalacija širom sveta.

Od samog početka, tehnologija Active Directory je građena na osnovu otvorenih međunarodnih standarda. Važno je znati da aktivni imenik nije X.500 imenik, ali i to da veoma mnogo duguje X.500 specifikacijama. Pre svega, pošto aktivni imenik koristi LDAP kao protokol za pristup, otvoren je za sve i za svakoga. Ukratko, Microsoft je od specifikacija X.500 i protokola LDAP preuzeo sve ono što je dobro i kombinovao ga s proverenim tehnologijama koje je tokom godina razvio za druge namene objektni model komponenata (Component Object Model, COM). Aktivni imenik može da razmenjuje podatke sa svakom aplikacijom ili uslugom koja koristi LDAP.

Aktivni imenik se takođe oslanja na DNS kao mehanizam za pretraživanje, što omogućava klijentima da automatski pronalaze upravljače domena (mesta gde se aktivni imenici fizički nalaze), jednostavnim prijavljivanjem na DNS server i utvrđivanjem IP adrese najbližeg upravljača domena. (Više o tome naći ćete u poglavljima 7 i 8).

Otvorenost tehnologije Active Directory

Aktivni imenik nudi i bogat skup API funkcija kako bi podstakao razvoj alatki i aplikacija. Aktivni imenik će u tom slučaju služiti kao spremište podataka specifičnih za aplikacije, naročito za softver čija je namena podrška radu u grupama. Na primer: mi smo razvili sistem za upravljanje odnosima sa klijentima za više zdravstvenih i stomatoloških ustanova, koji smo nazvali CRM. Pošto ih aktivni imenik identifikuje, naši korisnici se najčešće prijavljuju u aplikaciju i time odmah postaju deo zajednice aktivnih korisnika usluga ustanove ili bolnice.

Aplikacija može u svakom trenutku da dobije informacije o stanju na nivou cele organizacije, a korisnike možemo da grupišemo po pravima korišćenja usluga ili pristupa određenim podacima, što se sve reguliše pomoću objekata aktivnog imenika. Na primer, aplikacija može da prikaže podatke o tome ko je sve trenutno prijavljen i radi u sistemu, koje se datoteke sistema za upravljanje bazama podataka (SQL Server ili Oracle) koriste i šta sve korisnici trenutno rade.

Korisnici ne moraju ponovo da se prijavljuju samo zato da bi koristili aplikaciju. Umesto toga, kada pokrenu CRM, sistem proverava da li ih je aktivni imenik identifikovao, utvrđuje s koje mašine pristupaju sistemu i koja su njihova prava pristupa. Na osnovu tih informacija popunjavamo korisnički interfejs CRM-a isključivo podacima koje korisnik sme da vidi ili koristi.

A šta je sa Registromđ

Pošto ste sada shvatili zbog čega su nam potrebne usluge imenika i odakle one potiču, gde se tu uklapa Registarđ U doba početaka Windowsa 95 i Windowsa NT, Microsoft je poboljšao spremišta podataka o aplikacijama koje rade na Windows platformi tako što je dodao Registar. To je bilo veliko olakšanje u odnosu na zbrku sa inicijalizacionim i konfiguracionim datotekama, koje su bile nebezbedne tekstualne datoteke kojima je svako mogao da pristupa.

Međutim, Registar je prvenstveno tehnologija ili sistem čija je namena da stabilizuje platformu ili operativni sistem. On je spremište za podatke koji služe za upravljanje aplikacijama, kao i za konfigurisanje aplikacija i računara. Kada bi korisnici Windowsa 3.11 greškom izbrisali .ini datoteke, aplikacija je bila u svakom slučaju uništena (ako nije postojala rezervna kopija .ini datoteke). Primena Registra je to značajno promenila. Danas ga neki od najvećih proizvođača softvera još uvek ne koriste; ne mogu da razumem zašto.

Osim toga, Registar je postao i dom onoga što poznajemo pod imenom bezbednosni upravljač nalozima (Security Account Manager, SAM). Ta baza podataka upravlja svim bezbednosnim parametrima pristupa mrežnim resursima.

Postoji određena sličnost između Registra i aktivnog imenika. Na primer, Registar je:

  • takođe baza podataka, ponešto šifrovana i složena, ali ipak baza podataka;
  • otvoren i pristupačan, osim onog dela koji pripada SAM-u;
  • softverski sistem koji može da se programira;
  • struktura koja može da se replicira (od jednog originala), čime se obezbeđuje osnova za distribuiran sistem;
  • sistem hijerarhijskih struktura, koji sadrži zapise sa podacima o konfiguraciji.

Sličnosti se ovde i završavaju. Poređenje Registra sa aktivnim imenikom je otprilike što i poređenje ribarskog čamca i nosača aviona. Aktivni imenik je potpuno drugačija "zverka". Naravno, ništa vas ne sprečava da konfiguracione podatke i dalje čuvate u Registru, koji ćete ionako koristiti na samostalnoj radnoj stanici ili na serveru, čak i na upravljaču domena. Suštinska razlika je to što je aktivni imenik:

  • distribuirana baza sa više glavnih primeraka (imenici u mreži ravnopravnih članova ažuriraju jedan drugog gotovo u realnom vremenu, ukoliko zanemarimo trajanje same operacije ažuriranja);
  • sagrađen na osnovu otvorenih Internet standarda;
  • objektno orijentisan;
  • interoperabilan (gotovo srastao sa) Internetovim sistemom za preslikavanje imena domena u adrese (Domain Name System, DNS);
  • sposoban da obradi zahtev svakog mrežnog klijenta koji koristi TCP/IP;
  • sposoban da se širi do "gigantskih" razmera.

Nažalost, danas mnoge aplikacije još uvek čuvaju konfiguracione podatke u običnim tekstualnim datotekama, gotovo potpuno zanemarujući Registar. Ukoliko zanemarite i Registar i aktivni imenik, vaša aplikacija će verovatno biti nekompatibilna sa Windowsom 2000 u funkcionalnom pogledu i neće moći da dobije uverenje o kompatibilnosti sa Microsoftovim operativnim sistemima.

Svrha aktivnog imenika nije da zameni Registar koji još uvek ima važnu ulogu u Windowsu 2000, što ćete otkriti u poglavlju 18 i na drugim mestima u ovoj knjizi. U stvari, aktivni imenik čak koristi Registar za smeštanje nekih konfiguracionih podataka. Microsoft je počeo da radi na imeniku, odnosno na sistemu za distribuirano skladištenje podataka, možda čak i uporedo sa razvijanjem Registra.

Od samog početka Microsoft je krenuo od opredeljenja da će aktivni imenik biti uspešan proizvod samo ako bude zasnovan na otvorenim standardima i interoperabilan sa Internetom. Drugim rečima, svaki IP (LDAP) klijent moći će da pristupa aktivnom imeniku, a način tog pristupa neće zavisiti od operativnog sistema (pod kojim je implementiran aktivni imenik), slično Internet Information Serveru (IIS), FTP-u i drugim Internet uslugama.

  • Aktivni imenik podržava DNS i LDAP i sarađuje s njima. Oba su modelirana prema standardu X.500, naročito u delu koji se tiče strukture i organizacije.
  • Tehnologija Active Directory podržava otvorene i interoperabilne standarde, naročito u pogledu danas široko prihvaćenih konvencija za dodelu imena.
  • Tehnologija Active Directory se lepo uklapa u Internet zahvaljujući Microsoftovom potpunom prihvatanju i bezrezervnoj podršci protokolu TCP/IP. Svi ostali protokoli koje Microsoft podržava ponuđeni su prvenstveno radi očuvanja kompatibilnosti sa starijim verzijama NT-a, sa drugim operativnim sistemima, sa starijim protokolima za prenos, kao što su SNA i DLC, i sa NetBEUI klijentima.
  • Tehnologija Active Directory nudi bogat skup interfejsa za jezike C/C++, Java, VB i jezike za pisanje skriptova, što omogućava potpuno programiranje objekata aktivnog imenika.

Razmotrili smo pitanje koji bi jezici ili programska okruženja trebalo da se koriste za programiranje aktivnog imenika. Kada je važna brzina rada, kao u slučaju složenog koda i naprednih mogućnosti, npr. kada gradimo davaoce usluga, C++ je najprikladniji. Za brzi razvoj aplikacija i za razvoj većine aplikacija koje se sastoje od komponenata, najbolji je Visual Basic u kombinaciji sa interfejsom za usluge aktivnog imenika (Active Directory Services Interface, ADSI). Java je korisna kada treba da pozivate LDAP API funkcije, ali čini nam se da je Microsoftova podrška pristupu aktivnom imeniku iz Java aplikacija, najblaže rečeno, mlaka.

  • Tehnologija Active Directory je ugrađena u operativni sistem Windows NT (koji je još uvek jezgro Windowsa 2000), što ga čini kompatibilnim sa starijim verzijama Windowsa NT.
  • Aktivni imenik je potpuno distribuirana arhitektura koja omogućava administratoru da podatak upiše jednom i da ga potom ažurira uvek na istoj tački pristupa, sa bilo kog mesta u mreži.
  • Aktivni imenik je veoma prilagodljiv i može sam sebe da replicira. Možete ga implementirati na jednoj mašini, u veoma maloj lokalnoj mreži, a zatim ga proširiti tako da zadovolji potrebe čak i najveće kompanije na svetu. Ako resursi i prihvatanje na tržištu budu dovoljni i kada se određene začkoljice (a ima ih nekoliko) otklone, ova tehnologija će najverovatnije uskoro postati veoma popularna.
  • Strukturni model aktivnog imenika može da se proširuje, što omogućava gotovo neograničenu evoluciju njegove šeme. U tom pogledu, tehnologija Active Directory mora da bude usaglašena sa specifikacijom X.500 koja propisuje da je za proširenje šeme neophodno da svaka nova klasa bude registrovana kod organizacije koja upravlja standardom X.500. Usklađenost sa standardom obezbeđuje se registrovanjem identifikatora objekta (Object Identifier, OID) kod odgovarajuće organizacije. U SAD to je Američki nacionalni institut za standarde (American National Standards Institute, ANSI).

U AD tehnologiji koriste se trenutno najpopularniji modeli dodeljivanja imena. Primenjen je koncept proširivog modela za dodeljivanja imena, koji je uklopljen u operativni sistem, mreže i aplikacije. Kompanije koje koriste tehnologiju AD mogu da primenjuju više različitih šema za dodeljivanje imena koje istovremeno postoje na njihovom heterogenom softveru i hardveru.

Elementi aktivnog imenika

Aktivni imenik je veoma složen proizvod koji će svakako postati još složeniji i napredniji u budućim verzijama. U jezgru proizvoda nalazi se nekoliko elemenata koji su sastavni delovi svakog sistema za usluge imenika, pa prema tome i aktivnog imenika.

Imenski prostori i šeme imenovanja

U AD tehnologiji koristi se nekoliko šema za dodeljivanje imena, što omogućava aplikacijama i korisnicima da pristupaju aktivnom imeniku pomoću formata koje najbolje poznaju. Formati imena mogu da budu sledeći:

RFC822 imena

RFC822 je konvencija za dodeljivanje imena na koju je većina među nama već navikla koristeći elektronsku poštu ili krstareći po Webu. Ova imena poznata su i kao glavna korisnička imena (User Principal Names, UPN): imekorisnika@imedomena . Primer: predsednik@belidvor.gov . Tehnologija AD podržava RFC822 format imena za sve korisnike. Ako želite da pronađete broj lokala određene osobe u organizaciji (ako su ti brojevi javni) dovoljno je da u imeniku potražite pod imekorisnika@imedomena.com (vaš softver će to prevesti u ispravan LDAP upit, kao što ćemo kasnije videti). UPN je takođe ime ili šifra pod kojom se korisnik prijavljuje u domen Windowsa 2000. Korisnik Windowsa može sada da se prijavi u domen Windowsa 2000 upisivanjem svoje identifikacione šifre i lozinke:

User: jeffrey.shapiro@mcity.org
Password:*************

Domenu možete da dodelite poseban UPN za prijavljivanje. Drugim rečima, možete da napravite domen koji ćete nazvati npr. MCITY, ali koji ćete podesiti tako da se korisnici u njega prijavljuju u obliku imekorisnika@imefirme.com , čime ih obavezujete da pamte samo svoje adrese elektronske pošte.

LDAP i X.500 imena

LDAP i X.500 konvencije za davanje imena "naučno" se zovu atributivna imena (engl. attributed naming). Ime se sastoji od imena servera na kome se nalazi imenik (koji ćemo zvati domaćin imenika), imena korisnika, organizacione jedinice itd. Na primer:

LDAP://nekildapserver.superfirma.com/cn=mikapetrovic,ou=racunovodstvo,dc=superfirma,dc=com

Pomoću LDAP imena pretražujemo aktivne imenike.

Aktivni imenik i Internet

AD servere možete postaviti bilo gde na Internetu ili unutar privatnog intraneta. To mogu da budu računari koji su istovremeno i Windows 2000 upravljači domena ili namenske mašine koje služe isključivo kao serveri za LDAP imenike. Korisnici i klijenti tih servera neće primetiti nikakvu razliku.

Da bi pribavio traženu informaciju, klijent treba samo da uspostavi vezu s najbližim AD serverom. Ukoliko je taj server u istom domenu kao klijent, DNS server se svodi na AD server u istoj podmreži kao klijent. Kada se AD server nalazi u različitom domenu, onda se AD server koristi kao server Internet imenika koji neće pružati usluge identifikacije korisnika. Više AD servera mogu međusobno da se povežu tako da pružaju globalnu uslugu imenika koja obuhvata ceo kontinent.

Aktivni imenik u svakoj kući

Microsoftova namera je da tehnologija AD bude veoma prilagodljiva i da se raširi brzinom kojom to resursi omogućavaju. Aktivni imenik, kao što ćete otkriti u poglavlju 8, lako se instalira i podešava na jednostavnom serveru. Isto važi kada se aktivni imenik instalira za rad u jednokorisničkom režimu, a gotovo nimalo ne opterećuje sistem kada je u svom najjednostavnijem obliku (konfigurisanje aktivnog imenika objašnjeno je u trećem delu knjige). Drugim rečima, ako aktivni imenik treba da bude mali, može da bude mali, a kada treba da bude veliki, rašće zaprepašćujućom brzinom.

Tehnologiju Active Directory to čini savršenom čak i kada se koristi u najjednostavnijem obliku, kao spremište podataka s kojima radi određena aplikacija. Iako on ne može da zameni prave sisteme za upravljanje bazama podataka koji pružaju složenije usluge upravljanja podacima kao što su analize i pretraživanje podataka (ili upravljanje celokupnim podacima jedne firme), nije neuobičajeno da aplikacija projektovana za jednokorisnički rad koristi tehnologiju aktivnog imenika imajući u vidu da će se naknadno proširivanje svesti na jednostavnu operaciju dopune imenika. Aktivni imenik može da se instalira čak i na stonoj mašini koja radi na 133 MHz, sa 64 MB radne memorije. Takva konfiguracija se lako podešava i kao upravljač domena koji može da podrži poslovanje manje firme (Microsoft službeno ne preporučuje takvu konfiguraciju, koja bi trebalo da bude ograničena isključivo na poslove imenika s manjim brojem korisnika i računara).

S druge strane, aktivni imenik može da se postavi tako da se širi do neverovatnih razmera. U ulozi spremišta podataka o objektima unutar domena, "plafon" Windowsa NT 4.0. je oko 100.000 korisnika, dok aktivni imenik može da obuhvati milione njih - pa čak i ceo Internet. Sve replike aktivnog imenika međusobno su sinhronizovane (što je već samo za sebe blagodet za administratora, kao što ćemo uskoro videti). Sve kopije sistema aktivnih imenika jedne organizacije prosleđuju izmene jedna drugoj, slično načinu na koji DNS serveri međusobno razmenjuju podatke o domenima.

U praksi, NT domen postaje nestabilan kada ima približno 30.000 ili 40.000 naloga, pa mnoge velike kompanije uvode veći broj domena za resurse i naloge.

Ključno za proširivost aktivnog imenika jeste stablo domena, odnosno hijerarhijska organizacija podataka koja, teorijski, može beskonačno da se širi. Tehnologija AD pruža jednostavan metod građenja obimnog stabla od dna prema vrhu. U aktivnom imeniku svaki domen je jedna particija imenika. Domeni se zatim dele na organizacione jedinice, što administratorima omogućava da u model preslikaju fizičku organizacionu strukturu ili odgovarajuće poslovne modele. Jedan domen na početku može da sadrži veoma mali broj objekata i da kasnije naraste toliko da sadrži desetine miliona njih; to znači da objekte možete da definišete kao sliku strukture organizacije usitnjene do najnižeg nivoa detalja bez ikakvog rizika od preterivanja u njihovom broju, kao što je to bio slučaj u Windowsu NT 4.0 i NetWareu 3.x i 4.x.

Unutar aktivnog imenika

Jezgro aktivnog imenika je lako dostupno zaluđenicima za koje pojam sreće predstavlja red C++ koda (tu spadaju i autori ove knjige). Uz aktivni imenik se ne isporučuju specijalne alatke, kao što je to slučaj sa MS Accessom, pomoću kojih biste mogli da vidite šta se nalazi unutar struktura ili na šta te strukture liče (nekoliko alatki iz kompleta Resource Kit to omogućavaju). Međutim, naredni odeljci opisuju ključne komponente s namerom da vam predoče unutrašnji mehanizam ove usluge.

Kada bi se gegao kao patak

Jedna od ozbiljnih praznina u obrazovanju administratora jeste nedostatak znanja o bazama podataka. Trebalo bi da kurs o osnovama rada s bazama podataka bude deo svakog inženjerskog kursa. Suviše često viđamo administratore kako "reinicijalizuju" baze podataka da bi oslobodili prostor na disku, a potom otkriju da su usput uništili sve dragocene podatke firme. U nastavku poglavlja proučićemo anatomiju imenika na veoma visokom nivou. Da biste u potpunosti shvatili kako radi AD mašina, naredni odeljci predstavljaju mini kurs o aktivnom imeniku viđenom kao baza podataka.

Na fizičkom nivou, aktivni imenik je baza podataka i sistem za upravljanje bazom podataka - i to je sve. Podaci koje imenik sadrži mogu se pregledati i prikazivati u hijerarhijskom obliku. Baza podataka je skladište za podatke. To je softverska struktura koja omogućava skladištenje podataka, rad s njima i učitavanje svakom procesu koji im pristupa radi korišćenja podataka koje struktura sadrži. Ukoliko smatrate da ovo nije dobra definicija aktivnog imenika, primenimo definiciju baze podataka (njenih pravila) na aktivni imenik:

Baza podataka zadovoljava definiciju baze podataka kada ispunjava sledeće uslove:

  • Sadrži funkcionalne slojeve - u šta spada i šema baze podataka - koji definišu strukturu baze podataka, a to su načini na koje se podaci skladište, učitavaju i menjaju. U druge funkcionalne slojeve spada "mašina" čiji su zadaci ulazno/izlazne operacije, održavanje podataka, izvršavanje upita i obezbeđivanje interfejsa ka spremištu podataka. To se često naziva mašinom baze podataka.
  • Podaci, svojstva i atributi, koji se odnose na određeni predmet interesa, smešteni su u kontejnere koji se sastoje od zbirki zapisa, poznatih kao tabele (kao što je to slučaj u relacionim bazama podataka) ili su u nekom drugom obliku (kao u objektnim bazama podataka).

Najjednostavnija definicija sistema za upravljanje bazama podataka jeste to da ga čine dve komponente:

  • softverska aplikacija povrh koje stoji korisnički interfejs, a koja upravlja podacima u bazi podataka;
  • sama baza podataka.

Sistem za upravljanje bazama podataka može da izdvoji tražene podatke (izvršavanjem upita), da ih formatira u zadati oblik, da ih prikaže korisniku i da ih odštampa ili prenese u razumljiv oblik. Savremeni sistemi za upravljanje bazama podataka, poput SQL Servera, svojim korisnicima stavljaju na raspolaganje tehnologiju koja omogućava tumačenje ili analiziranje podataka, za razliku od jednostavne kvantifikacije.

Korisnici baza podataka i sistema za upravljanje njima mogu da budu i ljudska bića i mašine. Softver koji mašine i računari koriste skladišti i učitava podatke jer je to sredstvo pomoću koga jedan proces može da pristupi uskladištenom podatku. Uskladištene podatke može (i treba) da deli više korisnika, bez obzira na to da li se radi o ljudima ili o uređajima koje su ljudi napravili. Na primer, inženjer može u bazu podataka da upiše određene podatke, na osnovu kojih robot obavlja određene standardizovane poslove.

Aktivni imenik jeste sve prethodno opisano, plus još nešto. Međutim, verovatno ga nećete koristiti da biste utvrdili, na primer, koliki je rizik ako vaša firma odobri kredit određenoj osobi, jer to nije svrha usluge imenika. Pošto pitanje da li je aktivni imenik relaciona ili objektna baza podataka može da nas odvede prilično daleko u diskusiji, nećemo se time baviti. Naša analiza AD tehnologije pomoći će vam da sami dođete do zaključka.

Relacionu bazu podataka čine tabele; svaka od njih sadrži kolone (zbirke) koje predstavljaju zbirku nečega što je predmet našeg zanimanja, npr. kolona ili zbirka imena osoba. Podaci koji čine svaku pojedinu stavku smeštaju se po hronološkom redu (na primer, peto ime po redu u zbirci je David). Na slici 2-5 prikazana je kolona imena.

Jedna relaciona baza podataka može da sadrži više tabela. Moguće je i da "stvari" u jednoj tabeli budu povezane sa "stvarima" u drugoj tabeli, ne samo sticajem okolnosti, već i namerno, jer je tako baza podataka projektovana. U relacionoj bazi podataka možete da pristupate svojstvima određene "stvari" i podacima koje ona predstavlja tako što referencirate njeno mesto unutar zbirke, kao u primeru na slici 2-6.

Objektna baza podataka se nešto teže definiše, prvenstveno zato što su mnogi oblici objektnih baza podataka evoluirali iz relacionih baza podataka. Važnije osobine jedne baze podataka koja podržava određeni objektni model jesu načini na koji korisnici pristupaju njenim podacima i logičkoj šemi na kojoj se ona zasniva; manje je važan način na koji je to omogućeno i tehnologija koja je primenjena.

Objektnu bazu podataka možemo opisati i kao bazu podataka koja je usklađena sa objektnim modelom, za razliku od relacione baze podataka. Ne znamo tačno kako radi aktivni imenik pošto je jezgro sistema zatvorena tehnologija čiji je vlasnik Microsoft. Ono što znamo jeste to da se podaci čuvaju u strukturama koje liče na kolone (stupce) i redove. U stvari, u AD tehnologiji Microsoft koristi istu mašinu baze podataka (Jet) kao u Exchange Serveru. To znači da imamo posla s bliskim rođakom Microsoftovog Accessa.

Struktura baze podataka aktivnog imenika

Implementacija aktivnog imenika je sistem koji se sastoji od više komponenata ili slojeva: agenta usluge imenika (Directory Service Agent, DSA), sloja baze podataka (Database Layer, DB) i proširive mašine za skladištenje podataka (Extensible Storage Engine, ESE). Iznad tih slojeva nalazi se interfejs koji obuhvata funkciju replikacije, bezbednosni upravljač nalozima, sličan SAM-u u Windowsu NT 4.0 (Security Account Manager, SAM), LDAP interfejs i skup API funkcija (ADSI). LDAP interfejs, kao što ćete kasnije videti, obezbeđuje interfejs ili pristup LDAP klijentima. LDAP podržavaju sva 32-bitna okruženja na stonim računarima i na radnim stanicama, a ugrađen je i u Outlook. U aktivnom imeniku SAM obezbeđuje bezbednosni interfejs koji koriste tehnologije za kontrolu pristupa podacima (slika 2-7).

Došlo je vreme da odbacimo skraćenicu SAM. Problem je u tome što SAM može da bude skraćenica za Security Account Manager (bezbednosni upravljač naloga), Security Accounts Manager (bezbednosnih upravljač više naloga), Security Access Manager (bezbednosni upravljač pristupom), pa čak i Surface to Air Missile (raketa zemlja-vazduh). Kada bi ga Microsoft uprostio u SM, od Security Manager (upravljač bezbednošću), korisnici i predstavnici Microsofta bi se možda najzad složili oko tačnog značenja te skraćenice.

Komponenta ESE radi s dve tabele: jedna je tabela za podatke, a druga za veze između njih. ESE bazu podataka, čija je svrha da čuva podatke o strukturi imenika, klijenti ne vide i nemaju pristup u nju. S druge strane, baza podataka samog aktivnog imenika, NTDS.DIT , sadrži sledeće tabele kojima klijenti pristupaju posredno ili neposredno:

  • Tabela šeme baze podataka: šema baze podataka određuje vrste objekata koji se mogu umetnuti u aktivni imenik, veze koje postoje između njih, kao i obavezne i neobavezne atribute tih objekata. Važno je napomenuti da je šema proširiva, što znači da može da se širi tako da obuhvati i nove namenske objekte koji nastaju tokom rada raznih aplikacija i usluga.
  • Tabela veza: Sadrži podatke o vezama koje postoje između objekata u bazi podataka.
  • Tabela podataka: Najvažnija struktura u sistemu baza podataka aktivnog imenika jer se u njoj čuvaju svi podaci ili atributi o objektima unutar imenika. Ona sadrži sve obavezne i neobavezne podatke koji čine objekte; npr. imena i prezimena korisnika, njihova korisnička imena, lozinke, grupe i podatke koji se odnose na pojedine aplikacije.

Objekti aktivnog imenika

Kada bismo aktivni imenik uporedili sa loncem u kome se kuva neko jelo, onda bi objekti bili sastojci tog jela. Bez objekata, aktivni imenik bio bi samo prazna posuda. Kada instalirate aktivni imenik, već na samom početku sistem u njega smešta određen broj korisničkih objekata kojima možete odmah da pristupate. Neki od tih objekata predstavljaju korisničke naloge, kao što je Administrator, bez kojih ne biste mogli da se prijavite i da obavite proveru svog identiteta u aktivnom imeniku.

Objekti imaju atribute ili svojstva, koji sadrže podatke o resursima koje predstavljaju. Na primer: objekat koji predstavlja korisnika Windows mreže sadrži podatke (atribute) o imenu, prezimenu i korisničkom imenu (šifri) korisnika. Na slici 2-8 prikazan je objektni oblik objekta koji u aktivnom imeniku predstavlja korisnika. (Stvarna struktura podataka ima oblik tabele s kolonama ili poljima.)

Jedan aktivni imenik može da sadrži veliki broj različitih objekata. Neki od njih sadrže podatke koji se mogu direktno koristiti, dok su drugi samo kontejneri za druge objekte. Moglo bi se reći da je ceo aktivni imenik jedan veliki objekat, koji sadrži kontejnerske objekte, unutar kojih se nalaze drugi objekti, koji i sami sadrže druge objekte, kao što je to ilustrovano na slici 2-9. Prikazan je kontejnerski objekat, koji smo tehnički predstavili u obliku trougla jer je to popularan simbol za spremište nečega, koji sadrži druge kontejnerske objekte. Ugnežđivanje objekata može da se nastavi dok se ne dođe do objekta koji se nalazi na poziciji lista, što znači da on ne može da bude kontejner.

Objekti koji nisu kontejneri, kao što je objekat User (predstavlja korisnika), poznati su kao listovi, ili krajnji čvorovi, što je ilustrovano na slici 2-10. Kada objekat tipa list dodate u kontejner, to je poslednji nivo ugnežđivanja.

Aktivni imenik podseća na veliku lutku "babušku". Na slici 2-11 prikazan je popularni dvodimenzionalni oblik predstavljanja principa kontejnera. Međutim, nama koji se bavimo informacionim tehnologijama i administriranjem Windows mreža, razumljivija je metafora stabla sa objektima, o čemu će uskoro biti reči.

Kada koristimo aktivni imenik, često govorimo i o klasama objekata. Klasa objekta (u ovom kontekstu) manje je klasa u smislu u kome se koristi u objektno orijentisanim tehnologijama, već je, pre svega kolektivno ime za vrstu i namenu srodnih objekata organizovanih u grupe. Klase objekata mogu da budu korisnički nalozi, računari, mreže i druge grupe srodnih objekata; u stvari, to može da bude svaka vrsta objekta koji AD tehnologija trenutno podržava.

Klasu objekata, ili jednostavno klasu, možemo da zamislimo i kao definiciju određenog objekta koji možemo da napravimo i koristimo unutar imenika. Pravila za sadržaj (engl. content rules) određuju šta sve mogu da budu atributi jednog objekta. Klasama su pridružena i dodatna pravila koja određuju koje klase objekata mogu da budu roditelji, koje deca, a koje i jedno i drugo.

Već smo napomenuli da šema aktivnog imenika može da se proširuje. To znači da programeri mogu da pišu kôd iz koga korišćenjem API funkcija mogu da stvaraju svoje objekte i upravljaju njima (videti prethodni odeljak koji se odnosi na ADSI). To omogućava projektantima aplikacija da u aktivne imenike upisuju podatke o konfiguracijama i stanjima aplikacija. Razume se, Registar je i dalje dobro mesto za čuvanje te vrste podataka, naročito onih koji se odnose na hardver, ali aktivni imenik nudi mogućnosti kao što su replikacija, prosleđivanje i bogatiji izbor vrsta objekata, npr. objekte tipa korisnik (User) na koje aplikacija može da deluje i koji međusobno sarađuju.

šema aktivnog imenika

šema (engl. schema) je "alfa i omega" aktivnog imenika. Kada u njemu pravite nov objekat, morate da poštujete pravila zadata u šemi imenika. Drugim rečima, morate da zadate vrednosti svih obaveznih atributa za određenu vrstu objekta, inače nećete moći da ga napravite. šema imenika propisuje tipove podataka, pravila sintakse, način imenovanja objekata i druge parametre.

Kao što smo ranije napomenuli, šema aktivnog imenika, koja je smeštena u tabeli šeme, može dinamički da se širi. To znači da program može da je dopunjava novim namenskim klasama i da definiše pravila po kojima će šema upravljati tim klasama. Pošto to uradi, aplikacija može odmah da počne da koristi dopunjenu šemu.

Pri proširenju ili izmeni šeme morate poštovati pravila programiranja i administriranja imenika. Pošto je i sama šema sastavni deo imenika, to znači da je ona, kao i aktivni imenik, usluga koja je dostupna širom organizacije. To znači da glavnoj šemi moramo pristupiti na propisan način pre nego što se izmene koje smo u njoj napravili replikacijom prenesu u eventualne kopije. Nećemo zalaziti dublje u tu temu, pošto to pre spada u knjigu o programiranju aktivnog imenika.

Atributi objekata

Objekti imaju atribute (obeležja). Neki su ključni za postojanje objekta, na primer, lozinka za objekat tipa korisnik. Drugi nisu obavezni, npr. početno slovo imena korisnikovog oca.

Struktura aktivnog imenika

Do određenog objekta unutar aktivnog imenika stižemo tako što sledimo hijerarhijsku putanju koja se dobija tumačenjem imena objekta. Putanja sadrži sve kontejnerske objekte kroz koje treba da pređemo da bismo stigli do krajnjeg čvora. Ono što će vam na prvi pogled možda biti neshvatljivo jeste to da, s jedne strane, govorimo o kontejnerima, dok, s druge strane, pričamo kako treba da pređete dug i krivudav put da biste stigli do imena objekta koji predstavlja list ili krajnji čvor na stablu. Najbolji način da to razumete jeste da proučite dijagram na slici 2-11, koji pokazuje sistem okvira koji sadrže manje okvire itd. Ako spojite gornje leve uglove okvira, videćete da se pomalja hijerarhijska putanja o kojoj govorimo.

U terminologiji aktivnog imenika, puna putanja, sastavljena od imena spojenih uglova i imena samog objekta, zove se jedinstveno ime (engl. distinguished name, DN). Ime samog objekta, koje se nalazi na kraju lanca, zove se relativno jedinstveno ime (engl. relative distinguished name, RDN); u ovom primeru to je "mis".

Kažemo da je kombinacija puna putanja do objekta plus samo ime objekta jedinstvena, pošto nijedan drugi objekat ne može da ima isto DN ime objekta. Drugim rečima, objekat je jedinstven. Namena ovog mehanizma za imenovanje i pronalaženje objekta jeste da omogući LDAP klijentu da što brže pronađe traženi objekat i da iz njega učita podatke.

Relativno jedinstveno ime (RDN) objekta je ime samog objekta. To je jedan od atributa objekta. RDN ime ne mora uvek da bude jedinstveno (iako jeste jedinstveno unutar kontejnera aktivnog imenika u koji je objekat smešten) jer isto takvo ime može da postoji na kraju neke druge DN putanje u istom aktivnom imeniku. Na slici 2-12 prikazano je kako dva objekta mogu da imaju isto RDN ime, ali na određenom nivou lanca sličnost prestaje, ako ne na drugom mestu, svakako na nivou korenskog ili roditeljskog čvora.

Kada pretražujemo aktivni imenik, sasvim prirodno počinjemo od korena DN putanje objekta i sledimo putanju do krajnjeg čvora. Međutim, u LDAP protokolu krećemo od RDN-a i učitavamo delove imena sve do korena putanje. Na ovaj način u upitu rekonstruišemo celo DN ime; na primer:

cn=okvir1,koren=,kontejner5=,kontejner6=,kontejner7=,kontejner8=..

Možda ćete lakše razumeti ako u ovoj fazi napišete DN na parčetu papira. Kao vežbu, pretpostavimo da želite da sastavite upit za korisnika čije je ime jchang. Da biste stigli do imena jchang, treba da počnete od cn imena objekta, što je jchang, zatim da pređete na kancelarija=232, sprat=3, zgrada=maocetung, grad=peking. LDAP radi tako što kreće od dna i nastavlja ka vrhu. Ne pokušavajte da osmislite neku ulaznu tačku u aktivni imenik, već uvek počnite od objekta i sledite putanju dok ne dođete do korenskog objekta.

Konvencije za imenovanje objekata

Svaki segment DN putanje predstavlja atribut nekog objekta izražen u obliku tip_atributa=vrednost . Kada govorimo o imenu samog objekta, RDN, govorimo o kanonskom (engl. canonical) ili osnovnom (engl. common) imenu objekta, koje se u LDAP žargonu izražava u obliku cn= . Kada se radi o objektu tipa korisnik, osnovno (kanonsko) ime prima oblik cn=jchang .

Slično tome, RDN svakog objekta čuva se u aktivnom imeniku, a svaka referenca na njega sadrži i referencu na njegove roditelje. Sledeći reference duž lanca, možemo da sastavimo DN putanju. To je način na koji LDAP pretražuje imenik. Ovaj način imenovanja objekata veoma je sličan DNS (Domain Name System) mehanizmu koji se koristi na Internetu (slika 2-12).

Pošto sada znate kako deluje mehanizam imenovanja u aktivnom imeniku, treba da znate i to da Windows ne zahteva od običnih korisnika da sami obavljaju prethodno opisane operacije svaki put kada pristupaju određenom objektu. Korisnički interfejs obavlja ceo posao i skriva sintaksu od vas. Međutim, zadavanje tih atributa je neophodno kada programirate koristeći API (ADSI) funkcije za rad sa aktivnim imenikom, ili direktno koristite LDAP, jezike za pisanje skriptova ili alatke za pretraživanje i rad sa aktivnim imenicima na napredniji način koji standardne alatke ne omogućavaju.

Tehnologija AD podržava i LDAP v2 i LDAP v3 stilove imenovanja objekata, koji su usklađeni sa Internet dokumentima RFC 1779 i 2247 o stilovima imenovanja. Stil ima sledeći oblik:

cn=common name (osnovno ime)

ou= organizational unit (organizaciona jedinica)

o=organizacija

c=country (država)

Međutim, u aktivnom imeniku se umesto c=country i o=organizacija koristi dc=domain component (komponenta koja predstavlja domen).

Na primer: cn=jchang,ou=marketing,dc=mcity,dc=org

Zarezi u DN putanji služe kao graničnici koji razdvajaju elemente putanje. LDAP funkcije analiziraju DN putanju i na osnovu graničnika izdvajaju njene delove.

U notaciji sa tačkom to bismo napisali ovako: jchang.marketing.mcity.org . Jedan od algoritama LDAP-a prevodi LDAP imena u DNS format i obrnuto.

Ukoliko je usklađen sa LDAP formatom imena, svaki LDAP klijent može da pretražuje aktivni imenik zadajući jednoobraznu adresu resursa (Uniform Resource Locator, URL) ime, kao u sledećem primeru:

LDAP://ldapserver.mcity.org/cn=jchang,ou=marketing,dc=mcity,dc=org

Objekti se u aktivni imenik smeštaju i pronalaze na osnovu atributa koji sadrži jedinstveni globalni identifikator objekta (Globally Unique Identifier, GUID). Ime tog atributa je objectGUID. To omogućava da se identitet objekta sačuva i kada objekat premeštate ili menjate, pa čak i kada ga preimenujete. GUID je 128-bitni broj koji se objektu dodeljuje kada ga napravite. Objekat ne može da postoji u aktivnom imeniku a da mu nije dodeljen GUID; to je jedan od obaveznih atributa čija se vrednost automatski dodeljuje kada objekat nastane. Drugim rečima, objekat možete da referencirate u aktivnom imeniku ili iz spoljnog programa koristeći njegov GUID. Taj mehanizam obezbeđuje da je objekat uvek dostupan dok postoji. Prema tome, kuda god ga premestili, on će i dalje biti dostupan.

Pristup objektima unutar aktivnog imenika kontroliše se pomoću SAM mehanizma za upravljanje pristupom i na osnovu lista za kontrolu pristupa (Access Control List, ACL). Drugim rečima, da biste određeni objekat izmenili ili izbrisali, treba da dokažete da ste njegov vlasnik i da imate odgovarajuća prava na njega.

Objekti tipa domen

Kada aktivni imenik podešavate za korišćenje na nivou cele organizacije, vaš prvi zadatak je da napravite korenski domen, odnosno ono što se u AD terminologiji zove objekat korenskog domena. Ukoliko taj korenski domen treba da bude i vaš Internet korenski domen, trebalo bi da ga što pre registrujete kod odgovarajuće organizacije za upravljanje domenima Interneta. Jedna od takvih organizacija je Network Solutions, Inc. Ukoliko ste već registrovali korenski domen, možete da napravite objekat koji ga predstavlja u aktivnom imeniku i da ga povežete sa DNS serverom koji preslikava to ime u adresu. (Više o tome govorićemo u poglavlju 7). Ako niste registrovali domen, možda nećete moći da mu date isto ime kao ime kompanije, pošto se nova imena domena registruju svakog sekunda tokom dana. Taj korenski domen, u stvari, postaje prvi kontejnerski objekat koji pravite u lancu objekata koji treba da predstavljaju strukturu domena vaše lokalne mreže u aktivnom imeniku. "Ispod" tog domena napravićete dodatne kontejnerske objekte koji predstavljaju organizacione jedinice vaše kompanije (o čemu će biti reči u nastavku). Na primer, mogli biste da napravite domen koji ćete nazvati mcity.org i da ga registrujete kod InterNIC-a. Postoje i pitanja bezbednosti o kojima ćemo govoriti kasnije.

Zasad treba da znate samo to da su domeni koje pravite, u pogledu upravljanja i bezbednosti, samostalne celine unutar vaše mreže, na isti način ako što su to bili domeni Windowsa NT 4.0 i starijih verzija. Pošto bi objašnjenja kako oni tačno rade zasad unela samo zabunu, ostavićemo ih za posebno poglavlje u trećem delu knjige. Međutim, imajte na umu da do trećeg dela knjige neće biti reči o uklapanju i prelasku sa domena napravljenih u starijim verzijama NT-a.

Slika 2-13 predstavlja putanju, odozdo nagore, od korisnika do korenskog domena. Kao što već znate, u aktivnom imeniku jedan objekat može da ima samo jedan roditeljski domen. Sasvim je moguće, čak i preporučljivo, da se ispod korenskog domena prave poddomeni koji odslikavaju raspodelu resursa, odeljaka, politički i geografski različite segmente jedne firme, objekte u vlasništvu kompanije i drugo. U poglavlju 7 dato je nekoliko razloga zbog kojih (ne) biste aktivni imenik podelili na više domena.

Na primer, korenski domen kompanije ABC mogao bi da bude abc.com . Njemu možete da pridružite poddomen koji ćete nazvati marketing. abc.com . Vodite računa da .com ne može da bude u imenu vašeg korenskog domena jer je taj nastavak vlasništvo organizacija koje upravljaju Internetom. Imajte na umu da zasad samo pravimo objekte koje ćemo staviti u aktivni imenik. Ti domenski objekti su kontejnerski objekti čiji je jedan od atributa ime na osnovu kog ih lakše pronalazimo i upravljamo njima (za internu upotrebu i identifikovanje koristi se GUID). Ono što, u stvari, zahtevamo od aktivnog imenika jeste to da prvi domen tretira kao korenski kontejnerski objekat koji sadrži podređene objekte tipa domen.

Organizacione jedinice

Organizacione jedinice (engl. organizational units, OU) su važni kontejnerski objekti u koje možete da grupišete klase objekata. Na primer, jedan objekat tipa OU može da sadrži objekte kao što su korisnički nalozi, štampači, deljene datoteke na pojedinim računarima, pa čak i druge organizacione jedinice. Slika 2-14 prikazuje kako je grupa korisničkih naloga "smeštena u kontejner" organizacione jedinice.

OU kontejner je dragocen dodatak upravljanju mrežom pod Windowsom 2000. U aktivni imenik možete da smestite kontejnerske objekte koji odslikavaju strukturu vaše organizacije ili preduzeća. Primera radi, napravili smo organizacioni dijagram jednog većeg grada u SAD i preslikali ga u grad u kiberprostoru koji smo nazvali Millennium City. To će postati primer preduzeća na koji ćemo se vraćati pri kasnijim pomenima aktivnog imenika.

Organizacioni dijagram na levoj strani slike 2-15 prikazuje hijerarhiju raznih službi i uprava grada Millennium City u vreme kada je dijagram bio napravljen. Prikazane su razne organizacione jedinice, koje mogu da budu lokalne ili geografski udaljene, kao i razne lokacije i usluge koje grad pruža. Na desnoj strani slike 2-15, isti organizacioni dijagram predstavljen je objektima tipa OU u aktivnom imeniku.

U svaki domen koji je deo lanca domena možete da postavite organizacione jedinice, a unutar pojedinih organizacionih jedinica možete da postavite objekte kao što su grupe, korisnici i računari. Domenima i organizacionim jedinicama možete da dodate i posebne namenske objekte koje sami napravite. Tehnologija Active Directory vam omogućava da, gde god hoćete, postavite objekat koji se na stablu aktivnog imenika nalazi na mestu lista (krajnjeg čvora), čak i izvan organizacione jedinice.

Stabla

Struktura koju smo proučavali u prethodnom odeljku se u terminologiji aktivnog imenika zove stablo domena (engl. domain tree). Sve što se nalazi na putanji objekata smatra se delom stabla domena - počev od objekta na najnižem nivou, pa do jedinog roditeljskog domena na samom vrhu strukture. Stablo domena je jedinstveno u aktivnom imeniku, pošto ne možemo imati dva ili više istih roditeljskih domena. šema aktivnog imenika to ne dozvoljava.

Kao što smo ranije pokazali, stablo domena je sistematska zbirka domenskih objekata unutar aktivnog imenika u kojoj se koristi isti format za imenovanje objekata. Podsetite se da korenskom domenu aktivnog imenika možete da pridružite više poddomena koji dele istog zajedničkog roditelja. Imena poddomena moraju takođe da budu jedinstvena; međutim, svi oni dele zajedničku šemu imenika, koja predstavlja formalnu definiciju svih objekata koji se nalaze na stablu domena.

U aktivnom imeniku primenjuje se DNS konvencija za dodeljivanje imena kako bi se formirala hijerarhijska struktura imena domena i drugih objekata u aktivnom imeniku. Gledano iz tog ugla, domeni i drugi objekti u aktivnom imeniku moraju da budu identifikovani i u aktivnom imeniku i u DNS aplikaciji. Ne brinite, Windows 2000 u potpunosti koristi prednosti mehanizma Dynamic DNS, tako da DDNS imena, poput onih u usluzi WINS, ne morate da zadate u aktivnom imeniku i da ih potom ručno ponovo upisujete u DNS. Iako obe hijerarhije domena sadrže ista imena, one odražavaju različite konvencije za dodeljivanje imena. Međutim, preslikavanje imena objekata unutar preduzeća zadatak je DNS-a. U jednom od njegovih imenika nalaze se serveri na kojima su implementirani vaši aktivni imenici. Ovo vam se možda čini nejasnim; i jeste nejasno, ali sve ćete shvatiti kada u poglavlju 14 budete podešavali DNS sistem.

šume

U aktivnom imeniku možete da napravite roditeljski domen i da zatim "ispod" njega dodate objekte koji su na prvi pogled istovetni objektima koji se nalaze na susednim stablima domena. Te zbirke stabala domena zovu se šume (engl. forests). U terminologiji aktivnog imenika jedno stablo domena naziva se šuma od jednog stabla. Između stabala možete da definišete povereničke odnose i da korisnicima sa jednog stabla dozvolite korišćenje resursa koji se nalaze na drugom stablu. šumi ćete možda morati da dodate nova stabla kada, na primer, spajanjem firmi dobijate još jedan računski centar, ili kada premeštate objekte iz jednog domena u drugi, ili kada u novu strukturu uklapate nasleđene NT domene.

Poverenički odnosi

Najzad, stižemo i do povereničkih odnosa između domena. Isto kao u Windowsu NT, domeni Windowsa 2000 međusobno sarađuju na osnovu povereničkih odnosa. Drugim rečima, sistem za bezbednost u jednom domenu polazi od pretpostavke da je drugi domen, s kojim prvi ima poverenički odnos, utvrdio da su poštovana određena bezbednosna pravila. To je ilustrovano na slici 2-16.

Na slici 2-17 prikazana su tri domena između kojih postoje tranzitivni poverenički odnosi. Za one koji se pitaju šta bi mogla da znači ova nova reč, tranzitivni znači, u suštini da ako domen A veruje domenu B i domen B veruje domenu C, onda domen A veruje i domenu C. Drugi način da to izrazimo jeste da kažemo da je prijatelj moga prijatelja i moj prijatelj. Slika 2-17 prikazuje tranzitivni poverenički odnos.

Tranzitivni u ovom slučaju zaista znači da nešto, polazeći od tačke A, može da stigne do tačke B, prolazeći usput kroz tačku n. Tranzitivni (u smislu prelazni) može da se odnosi i na privremenu aktivnost drugih sistema koja nema veze sa bezbednošću. Replikacija je dobar primer toga.

Možda se pitate zašto su onda poverenički odnosi među domenima Windowsa 2000 automatski tranzitivni, dok to ne važi za domene Windowsa NT. U tome nema nikakve čarolije, niti veštog trika koji bi Microsoft primenio; to je samo prihvatanje dugo očekivanog bezbednosnog standarda koji se zove Kerberos. Usluga dodeljivanja ulaznica koju Kerberos i tehnologija Active Directory uvode u Windows 2000 stvara mrežu sa distribuiranim merama bezbednosti. Poput ideje jednokratnog prijavljivanja za rad, o kojoj smo ranije govorili, Kerberosove ulaznice koje dodeli jedan domen mogu da se koriste kao ispravna "valuta" u drugom domenu. Kerberosove ulaznice su slične vizi koja važi za više država, a koja nosiocu omogućava pristup svakoj teritoriji na kojoj se ta viza prihvata.

Globalni katalog

Kao što smo ranije objasnili, pretraživanje stabla domena u LDAP protokolu počinje od dna i nastavlja se ka vrhu dok se ne dođe do korenskog domena. U LDAP je ugrađen i sistem referenci koji omogućava da u slučaju da se pretraživanje jedne grane neuspešno završi, ono može da se nastavi na ostalim stablima domena u šumi. Međutim, LDAP pretraživanje je uspešno samo kada znate šta tražite; drugim rečima, kada već imate DN putanju ili ime objekta i sve što vam je još potrebno jesu atributi objekta u koje vam je dozvoljen uvid. Međutim, šta ako biste želeli da saznate, na primer, koji štampači pripadaju organizacionoj jedinici Odeljenje za planiranje, ili kojim je sve korisnicima dozvoljen pristup određenom direktorijumuđ Tome služi globalni katalog.

Tehnologija AD omogućava dubinska pretraživanja aktivnog imenika pomoću globalnog kataloga (engl. global catalog, GC). Globalni katalog nastaje istog trenutka kada napravite koren prvog domena. On sadrži atribute svih objekata koji se nalaze u aktivnom imeniku i koji po svojoj prirodi mogu da posluže za pretraživanje. Dobar primer za to su imena i prezimena; organizacione jedinice, računari, štampači i korisnici, mogu da se pretražuju na osnovu vrednosti određenih atributa koje navedemo kao ključne reči. To znači da aplikacije i korisnici mogu da pretražuju globalni katalog tako što zadaju poznatu ili pretpostavljenu vrednost nekog atributa kao ključnu reč da bi pronašli sva eventualna podudaranja.

Globalni katalog vam omogućava i da pronađete određen objekat čak i kada ne znate u kojem se domenu on nalazi, pošto globalni katalog održava podskup svih objekata svih domena jedne šume. Pretpostavimo da vam korisnik koji je član nekog domena javi da ne može da se prijavi za rad u svoj domen. Kada pretražite taj domen, otkrijete da u njemu nema objekta koji bi predstavljao ime tog korisnika ili njegove atribute za prijavljivanje. U tom slučaju možete da pretražite globalni katalog da biste utvrdili da li je korisnik možda premešten u drugi domen, ili nalog s njegovim imenom nije još ni napravljen, ili je možda isključen.

Moj aktivni imenik

Administratorima domena izuzetno je važna mogućnost pisanja programa koji rade sa objektima aktivnog imenika. Nemogućnost namenski programiranog pristupa podacima o određenom nalogu oduvek je bila ozbiljno ograničenje Windowsa NT 4.0. Microsoft nije obezbedio lak način pristupa SAM podacima koji bi omogućio programiranje namenskih administrativnih funkcija. Svaka organizacija ima posebne potrebe koje se ne mogu zadovoljiti upotrebom isključivo standardnih funkcija. Dobar primer za to je kada želimo da otkrijemo kojim nalozima je dozvoljen ulaz u mrežu spolja, putem telefonske linije, i ko je sve to pravo koristio u poslednja tri meseca. Sastavljanje upita koji bi te podatke pronašao u NT-ovoj bazi podataka SAM i pravljenje izveštaja na osnovu njih slično je pokušaju da se planini doda još jedan vrh.

Međutim, aktivni imenik sadrži više grupa API funkcija koje možete iskoristiti za pristup podacima u slučajevima takvih posebnih zahteva.

  • ADSI: Najvažniji API koji je Microsoft objavio jesu interfejsi aktivnog imenika (Active Directory Interfaces, ADSI). To je zbirka COM objekata koji omogućavaju pristup objektima u aktivnom imeniku i rad s njima. Posle objavljivanja prve verzije, Microsoft je dodao i podršku za jezik Java (JADSI), odnosno mogućnost da svaki Java program koristi ADSI objekte, ali s obzirom na trenutne sporove oko Jave, verovatno je preporučljivije da, ako koristite Javu, aktivne imenike programirate koristeći LDAP API, što je objašnjeno u nastavku.
  • MAPI: To je podskup API funkcija za razmenu poruka (Messaging API), koji pripada Windowsovoj arhitekturi otvorenih usluga (Windows Open Services Architecture, WOSA), jednom od najstarijih skupova Microsoftovih API funkcija. Aktivni imenici podržavaju i MAPI kako bi imenicima koji podržavaju elektronsku poštu obezbedili pristup serverima na kojima se nalaze MAPI adresari.
  • LDAP API: To je API za rad u jeziku C, koji je postao de facto standard za programiranje svega što koristi LDAP protokol. LDAP API se može programirati u jezicima C, C++, Java i Delphi; u stvari, praktično u svakom jeziku koji može da poziva C funkcije.

Međutim, ADSI omogućava pristup svakom LDAP kompatibilnom imeniku (npr. AD imenici, LDAP spremišta ili imenici nezavisnih proizvođača, kao što je NDS). To znači da ADSI može da koristi svako ko namerava da pravi aplikacije koje pristupaju LDAP kompatibilnim imenicima. Drugim rečima, ako napišete program koji koristi ADSI objekte, podržaćete imenike svih proizvođača (razume se, pod Windowsom).

ADSI obezbeđuje apstraktni sloj iznad funkcija imenika (koji "obavija" LDAP API) i na taj način korisniku pruža samo jedan skup interfejsa usluga imenika koji omogućavaju pristup LDAP resursima i upravljanje njima.

Projektanti i administratori će ADSI koristiti za pristup svim LDAP imenicima, a prvenstveno AD imenicima. To aktivni imenik i LDAP čini pogodnim za bezbrojne aplikacije. Razmotrite sledeći primer: pod Windowsom NT 4.0 i starijim verzijama, bilo je nezgrapno i teško da koristeći API funkcije obezbedite funkcionalnosti slične onima koje nude alatke User Manager for Domains i Server Manager. Administratori su bili praktično ograničeni isključivo na ove aplikacije, bez obzira na njihovu kreativnost u upravljanju mrežnim resursima pomoću vlastitog koda ili skriptova.

ADSI će omogućiti nezavisnim konsultantima i projektantima unutar preduzeća da razvijaju alatke koje će poslove administriranja učiniti lakšim i jeftinijim. Koristeći tradicionalne programske jezike i skriptove, projektant može da obezbedi funkcije koje automatski podešavaju sve parametre grupa korisnika, aplikacija, mrežnih resursa, alatki, uređaja i drugih objekata. Ti "apleti" mogu da budu kompatibilni sa standardom Microsoft Management Console, što izuzetno pojednostavljuje njihovo instaliranje i upotrebu. Svi projektanti će u svojim aplikacijama moći da obezbede i mogućnost rada sa imenicima.

ADSI je projektovan tako da zadovolji potrebe programera u jezicima C i C++, administratora sistema i naprednih korisnika. Lako je dostupan i iz Visual Basica, što ga čini najšire upotrebljivim proizvodom na LDAP tržištu. ADSI stavlja na raspolaganje usluge imenika u obliku COM objekata. Na primer, aplikacija može da koristi ADSI objekat PrintQueue da učita podatke, da privremeno zaustavi štampanje ili da isprazni red za štampanje. Na taj način je omogućena izrada aplikacija koje koriste mogućnosti samog sistema (za razliku od onih koje se samo izvršavaju na platformi).

Aktivni imenik je i MAPI kompatibilan, ili, bolje rečeno, podržava MAPI-RPC servere za adresare. Ova podrška omogućava MAPI aplikacijama da u imeniku traže podatke o korisniku, kao što su adresa elektronske pošte ili telefonski broj.

Premošćavanje razlika između Windowsa NT i Windowsa 2000

Jedna od primarnih mogućnosti AD tehnologije jeste uklapanje sa starijim verzijama Windowsa NT. Većina kompanija neće preko noći prebaciti celokupno poslovanje na Windows 2000, već će neko vreme uporedo koristiti oba operativna sistema.

Mnoge kompanije će postaviti jedan AD upravljač domena, ili više njih, kao novi primarni upravljač domena (Primary Domain Controller, PDC) postojećih Windows NT domena. U mešovitim okruženjima (NT i Windows 2000), NT serveri, radne stanice i klijenti "videće" AD servere kao PDC servere. Korisnici, aplikacije i usluge neće ni primetiti da se identifikacija obavlja u aktivnom imeniku, što omogućava NT domenima da nastave rad i ne znajući da je PDC, u stvari, vuk u jagnjećoj koži. Nešto slično je Microsoft lukavo uradio komponentom File and Print services for NetWare, koja svojim klijentima NT server "podmeće" kao NetWare server. (Za to je potrebna specijalna nadogradnja NT registra i baze podataka SAM da bi se obezbedila kompatibilnost sa aktivnim imenikom, što počinje od servisnog paketa 5.)

AD tehnologija obezbeđuje ovu čaroliju tako što u potpunosti emulira Windows NT 3.51 i NT 4.0 upravljače domena. U mešovitim okruženjima, upravljač Windows 2000 domena ponaša se kao Windows NT 4.0 upravljač domena. čak i aplikacije i usluge (uključujući i one od nezavisnih proizvođača) nastaviće da rade bez izmena i u AD okruženju.

Jedan od izraza na koji ćete naići u narednim poglavljima jeste usklađenost do najnižeg nivoa (engl. down-level compliance). To znači da rukovodioci računskih centara i administratori lokalnih mreža mogu da planiraju postepen i bezbedan prelazak na domene Windowsa 2000 u kojima je aktivni imenik glavni mehanizam za identifikaciju korisnika. Taj prelazak će u većini slučajeva biti evolucija, a ne revolucija, uz garanciju da će tehnologija aktivnog imenika biti primenjena od samog početka. Prelazak u obliku postepenih faza je način koji ćemo vam preporučivati u narednim poglavljima. Biće reči o mogućnostima integrisanja Windowsa 2000 i Windowsa NT u kojima neće biti potrebno korišćenje aktivnih imenika.

Aktivni imenik prihvata ili odbacuje prijavu za rad i dodeljuje ili uskraćuje prava korišćenja mrežnih resursa u domenima Windowsa. Pre nego što nastavimo sa aktivnim imenikom, smatramo neophodnim da razjasnimo određene pojmove u vezi sa Microsoftovim domenima. Dakle, najpre ćemo definisati "domen" u smislu Windows mreže (za razliku od onoga što ste pročitali u prethodnom delu ovog poglavlja) kako bismo govorili o istim stvarima. Neophodno je da izbegnete zabunu u vezi sa generacijama ili verzijama domena, a gotovo sigurno ćete morati da uklapate ili pretvarate postojeće NT domene u Windows 2000 domene. Ukoliko ne razumete razlike između njih, verovatno ćete upasti u nevolje. Koncepcijski gledano, to su dve veoma različite stvari.

Dakle, sada imamo dve vrste Windows domena: NT domen (nazovimo ga nasleđen domen) i domen Windowsa 2000, koji je kontejnerski objekat u aktivnom imeniku, "oblast" na Internetu i logička celina koja predstavlja vašu mrežu. Obe vrste domena možemo da analiziramo iz ugla niza procesa koji se odvijaju prilikom prijavljivanja za rad. Međutim, obe vrste domena imaju i neke zajedničke karakteristike.

Na slici 2-18 prikazane su komponente koje u oba operativna sistema učestvuju u postupku identifikacije korisnika kada se on prijavljuje za rad na lokalnoj mašini, kao i logički redosled (odozgo nadole) procesa koji se odvijaju kada se utvrđuje da li korisnik ima pravo na usluge koje pruža lokalna mašina. Na početku niza procesa nalaze se klijentski procesi; oni se odvijaju na lokalnim mašinama ili na drugim klijentskim mašinama, radnim stanicama ili na drugim mrežnim uređajima. Kada klijentski proces zahteva pristup određenoj usluzi, lokalna komponenta Security Account Manager, koristeći podatke iz lokalne baze podataka SAM, određuje da li će pristup biti dozvoljen ili ne (ceo postupak je isti pod Windowsom NT i pod Windowsom 2000).

Na slici 2-19 prikazan je niz procesa koji se odvijaju u Windows domenu prilikom prijavljivanja i identifikacije korisnika u mrežnom okruženju koje obuhvata i Windows NT. Procesi prilikom prijavljivanja u domen su istovetni, a jedina razlika je u tome što se klijenti ne prijavljuju na lokalnu mašinu ili na mrežni resurs. Umesto toga, operativni sistem prosleđuje zahtev aktivnom imeniku koji se nalazi na Windows 2000 mašini, ili u registar (PDC ili BDC) domena (u koji je smeštena dostupna kopija baze podataka SAM) na mašinama koje služe kao upravljači domena.

Domen Windowsa 2000 je jedinična celina koja može da se proširuje i koja obuhvata sve mrežne objekte za koje smatramo da pripadaju određenoj jedinici. U mnogim aspektima, strukturu domena možete da zamislite kao jedan veliki distribuirani kontejner koji obuhvata sve mrežne i računarske resurse vašeg preduzeća ili organizacije. Domen možete da poredite sa "zajednicom" u istom smislu kao što veća grupa brodova čini flotu ili veća grupa vojnika čini brigadu ili korpus. Na ovaj model vratićemo se u poglavlju 7.

Pre nego što objasnimo koje novine uvode domeni Windowsa 2000, navešćemo ukratko neke sličnosti s domenima Windowsa NT, što će mnoge među vama podsetiti na poznate stvari. Pošto je domen Windowsa NT predak domena Windowsa 2000, možda je najbolji način da ih uporedimo (čak i kada se potomak po nečemu veoma razlikuje).

Jedna tačka pristupa i administriranje sa jednog mesta

NT domeni omogućavaju administratoru da prijavljivanjem u mrežu dobije pristup alatkama za administriranje sistema na serveru ili na radnoj stanici (čak i uprošćenim alatkama pod Windowsom 95 i 98). Te alatke su User Manager for Domains i Server Manager. Korisnici, grupe, mrežni uređaji kao što su štampači i diskovi, zatim resursi kao što su direktorijumi i deljene datoteke, dostupni su administratorima koji imaju odgovarajuća prava.

Domeni Windowsa 2000 pružaju istu mogućnost jedinstvene tačke pristupa i administriranja, ali uz mnogo veću fleksibilnost pri upravljanju resursima i njihovim korisnicima. Na primer, organizacione jedinice su nov entitet u Windows domenima i omogućavaju vam da korisnike grupišete u administrativne strukture, odeljenja ili druge organizacione ili upravne podele. To znači da možete da formirate jedinice i da zatim administrativne funkcije raspodelite po tim jedinicama. Na primer, resursima Odeljenja za nabavku materijala upravlja se u okviru organizacione jedinice NabavMat. Svaki član te organizacione jedinice ima pravo da koristi objekte unutar te jedinice i isključivo te objekte. Time nestaje potreba da svim resursima upravlja jedan administrator ili da se formira grupa administratora sa desetinama članova kojima se dodeljuju prava administriranja pojedinih delova domena. (Razlika između grupa i organizacionih jedinica postaće jasnija u poglavlju 7.)

Domeni i još domena

NT domen (ili domen Windows mreže) je logička grupa računara i uređaja koji su dostupni grupi ili grupama korisnika ili računara, bez obzira na mesto s kog se oni prijavljuju za rad. Domen je način grupisanja i kontrolisanja korisnika mreže, a definiše i granice bezbednosnog okruženja u kome je računarima, korisnicima i operaterima obezbeđena zaštita. Domeni Windowsa 2000 imaju istu funkciju, što je objašnjeno u narednim poglavljima.

Ako ste novajlija u mrežama koje rade pod Windowsom, evo kratkog objašnjenja šta je to Windowsov mrežni domen: uporedite ga sa radnom grupom. Kada je početkom devedesetih godina Microsoft ponudio Windows 3.11 i Windows for Workgroups, pružio je mogućnost da se računari međusobno povezuju kao ravnopravni članovi da bi svaki umreženi računar svoje resurse stavio na raspolaganje ostalim mašinama. Za to je trebalo da prethodno izričito dozvolite ili uskratite pristup resursima svakog pojedinog računara unutar mreže. To je prilično zamoran posao u mreži koja obuhvata samo jednu kancelariju, jer se svaki računar ponaša kao samostalan server i tako treba njime i upravljati. Kada mreža počne da se širi, to postaje nepraktično, pa čak i gotovo nemoguće.

S druge strane, domen je nastao zbog potrebe da se bezbednost, prijavljivanje i pristup centralizuje na jedan "glavni" server, koji se zove primarni upravljač domena (Primary Domain Controller, PDC). Baza podataka SAM, koja je smeštena unutar Registra, korisnicima je obezbeđivala globalan pristup u centralnu bezbednosnu bazu podataka odakle su dobijali pristup svim resursima na svim računarima i uređajima priključenim u mrežu, kao što su štampači, uređaji za pravljenje rezervnih kopija ili CD-R uređaji.

Poverenički odnosi između domena

Mogućnost NT domena da "veruju" jedan drugom (dvosmerno) veoma je istaknuta i u domenima Windowsa 2000, ali postoje i značajne razlike. Saradnja između "ravnih" NT domena (verzije 4.0 i ranijih) bila je prilično teška. Izgledalo je da nema mnogo smisla praviti zasebne domene u kompanijama male i srednje veličine, čak i u slučaju mreža širokog opsega. Pravljenje više od 100.000 objekata u domenu jedne organizacije koja ima, na primer, stotinak zaposlenih, izgledalo je potpuno neopravdano. Pa ipak, često se događalo da manje firme prave više domena samo zato da bi "organizovale svoje ideje".

Malo njih dostižu granicu od 100.000 objekata po domenu Windowsa NT pošto se struktura domena neprestano menja. Više ima smisla nadgledati veličinu baze podataka SAM, koja postaje nestabilna kada njena veličina premaši 35 do 40 MB.

Jedini slučaj kada je trebalo da administriramo više od jednog domena po firmi (rekord je preko 70 domena) bio je kada smo usled agresivnog kupovanja drugih firmi nasleđivali domene iz pripojenih kompanija. Svakodnevno smo imali probleme u vezi sa dodeljivanjem resursa i definisanjem korisnika. Mnogim većim kompanijama ponestaje prostora u registru zato što su veoma velike ili zato što prave zasebne domene za resurse i druge mrežne usluge, odvojene od domena za "korisnike" ili "naloge". To su obično kompanije sa po više desetina korisnika.

Domeni Windowsa 2000, koji su modelirani na osnovu domena Interneta, imaju "dubinu" i "perspektivu" i mogu da se dele na manje komponente gotovo u beskraj. Već po samoj svojoj prirodi veruju jedan drugom, veoma slično načinu na koji članovi porodice koji žive pod istim krovom veruju jedan drugom, čak i kada se svako od njih bavi svojim poslovima u svom delu kuće.

U mreži koja radi pod Windowsom 2000 ima smisla praviti više domena (u stvari, hijerarhijsku podelu domena), ali zbog veoma različitih razloga. Najvažniji među njima, koji smo već pomenuli, jeste raspodela i delegiranje upravljačkih prava. Kao što ćete videti kasnije, možete da pravite domene koji obuhvataju podmreže, poslovne prostore, odeljenja organizacije, lokacije itd. Ako vaši domeni potiču od zajedničkog pretka, korenskog domena, poverenički odnosi između njih su uvek dvosmerni. Iako izraz "tranzitivni" opisuje povereničke odnose između mnogih domena, ne samo na istom stablu, već i između stabala u šumi, to samo po sebi ne znači i da dve grupe domena (šume) mogu da se nakaleme jedna na drugu, kao što biste to uradili s pravim biljkama. Međutim, ipak je znatno olakšano premeštanje i brisanje iz šume domena koji je postao "siroče".

Ukratko, domeni Windowsa 2000 modelirani su na osnovu Internet domena, imaju "dimenzije" i mogu da se dele na manje komponente. Za razliku od toga, NT domeni su "ravni".

Liste za kontrolu pristupa

Kada se korisnik (čovek ili usluga) prijavi u domen, mehanizam za identifikaciju i bezbednost Windowsa NT odobrava mu pristup mreži i resursima na koje ima pravo korišćenja. To se postiže pomoću lista za kontrolu pristupa (Access Control Lists, ACL) i pristupnih žetona. Iskusni i vešti NT administratori će se podsetiti kako se pristupa ACL listama i kako se menja njihov sadržaj. A ako vi ne znate kako se to radi, saznaćete kasnije. NT dodeljuje korisniku i pristupni žeton (engl. access token), kojim se korisnik služi dok radi u mreži. Pristupni žeton funkcioniše slično identifikacionoj kartici koju nosite kada ste na poslu. Kada je približite vratima ili nekom uređaju, ona se ili otvaraju ili vam uskraćuju prolaz. Obe vrste domena, Windows NT i Windows 2000, kontrolišu pristup pomoću ACL lista. U aktivnom imeniku, ACL liste (unutar imenika) napravljene na osnovu sadržaja baze podataka SAM kontrolišu kome je i s kojim pravima dozvoljen pristup objektima.

Sve usluge Windowsa 2000 referenciraju se kao objekti. Ti objekti su smešteni ili u lokalnoj bazi podataka SAM, koja je u stvari grana Registra, ili se korišćenjem aktivnog imenika upravlja pomoću ACL liste. Svaka ACL lista sadrži podatke o pravima korisnika i detaljan opis korisnika koji sme da pristupa određenom objektu i njegovih prava (npr. ima samo pravo čitanja ili pravo čitanja i pisanja). ACL liste su vezane za objekte u određenom domenu; one nisu privremeni objekti.

Povratak u stvarnost

Nije potrebno posebno isticati da nas tehnologijom Active Directory i Windowsom 2000 Microsoft vodi u pravcu iz koga nema povratka. Naravno, sami smo "krivi" za to zbog naše želje za oslobađanjem od starih normi kako bismo iskoristili prednosti elektronske trgovine, DNA i umreženog društva kojim upravljamo pomoću informacija.

Iako je tehnologija koja nam je ovde predstavljena zadivljujuća, treba uzeti u obzir i nekoliko njenih nedostataka. Prvo, manje kompanije će biti u mogućnosti da instaliraju Windows 2000 znatno brže od većih firmi, pošto je njihova informaciona infrastruktura znatno jednostavnija. Prelazak iz manje Windows NT mreže jednostavniji je od ljuštenja banane (pod uslovom da raspolažete hardverskom opremom koju podržava Windows 2000 i svežim upravljačkim programima). Instaliranje aktivnog imenika kao mehanizma za identifikaciju i zaštitu u manjoj firmi relativno je "bezbolan" postupak.

Sadašnje stanje je takvo da manje firme najčešće ne koriste u svojim mrežama čisti IP i DNS. One još uvek koriste NetBEUI i NETBIOS, a prelaze na IP i DNS samo kada dođe vreme za šetnju po Webu ili za korišćenje elektronske pošte. Veće kompanije, naročito one koje su odavno prešle na IP mreže, već imaju DNS servere i postavile su IP infrastrukturu. To znači da nije nemoguć sukob između postojeće podrške za DNS i DNS servera zasnovanih na Unixu i njihovim administratorima (zahtevati od Unix administratora da prihvati DNS zasnovan na Windowsu isto je kao kada biste od mačke zahtevali da laje).

Dakle, za neko vreme, složeniji informacioni sistemi će koristiti mešovite mreže (Windows NT, Windows 2000, NetWare i Unix). Dok bude potrebna podrška za NT domene (i Windows 9x klijente), neće biti na raspolaganju niti će biti cenjena sva čudesa Windowsa 2000 (kao što je SSO). Organizacije kojima bi najviše koristile napredne mogućnosti Windowsa 2000 biće pretežno one kojima će trebati najviše vremena da pređu na nov operativni sistem ili da barem prevedu svoje postojeće domene u domene Windowsa 2000. U mnogim firmama to će isključivo zavisiti od hrabrosti zaposlenih u računskim centrima i njihovih rukovodilaca.

Osim toga, uprkos oduševljenju za aktivni imenik, pažljivo razmotrite strategiju prelaska. Spiskovi onoga što bi trebalo da se nađe u sledećoj verziji aktivnog imenika u mnogim firmama imaju po više stranica. Poglavlja u trećem delu knjige napisana su uzimajući u obzir pobrojane činjenice iz stvarnog života.

Sažetak

U ovom poglavlju predstavili smo tehnologiju aktivnog imenika kao jednu od najuzbudljivijih novina u oblasti umrežavanja pod Windowsom: to bi trebalo da bude tehnologija koja će omogućiti prelazak sa postojećih NT domena, a verovatno i sa mnogih drugih okruženja, u okruženje Windowsa 2000 Server.

Kao projektantima aplikacija, potrebni su nam standardni, otvoreni i interoperabilni interfejsi i skupovi API funkcija koji će nam omogućiti da skladištimo i upravljamo podacima o aplikacijama, procesima i uslugama. Mnoge kompanije su prihvatile izazov rada sa imenicima. Imenici i usluge imenika biće i treba da budu besplatni, otvoreni, dostupni i deo mrežnih operativnih sistema i tehnologija koje koristimo. Tehnologija Active Directory je sve to i još ponešto.

Imenike ne treba posmatrati kao sledeću aplikaciju o koju će se tržište otimati; bliže istini je to da oni predstavljaju važan evolutivan korak ka podršci budućim revolucijama u računarskim, komunikacijskim i informacionim tehnologijama.