Directorul activ pentru modul de aplicare

Directorul activ pentru modul de aplicare

Ce este ADAM și pentru ce este destinat?

Instalarea și configurarea inițială

De asemenea, utilizatorul este încurajat să importe scripturile LDF care extind schema de către obiecte precum User and Proxy-User. Dacă intenționați să utilizați obiecte de acest tip, puteți crea aceste clase în timpul procesului de instalare. Dacă inițial utilizarea unor astfel de obiecte nu este planificată, atunci nu trebuie să importați nimic. În orice caz, se poate face după instalare.

Instrumente de administrare

Instrumentele de administrare sunt, după părerea mea, una dintre cele mai slabe zone ale ADAM - sunt un set vast de utilități diverse, uneori nu foarte ușor de utilizat (vezi tabelul 1).

Un utilitar de linie de comandă pentru gestionarea replicării.

Tabelul 1. Utilitare de administrare ADAM.

Din această listă, puteți vedea că utilitățile din linia de comandă sunt utilizate în cea mai mare parte pentru administrare, ceea ce nu poate fi numit convenabil. În plus, deoarece în majoritatea cazurilor persoanele care sunt departe de administrarea sistemului de operare sunt implicate în întreținerea aplicațiilor - nu ar fi rău să avem modalități mai convenabile de a lucra cu ADAM.

Aproape toate utilitarele se află în directorul în care a fost instalat ADAM, cel mai adesea C: \ WINDOWS \ ADAM. Excepția este schema ADAM. Pentru a conecta acest utilitar, porniți Microsoft Management Console (MMC), adăugați fișierul "ADAM Schema" în meniul Fișier, apoi salvați fișierul .MMC.

Lucrul cu ADAM

Noțiunea de secțiune

Un concept important în ADAM este partiția. O partiție este un container de nivel superior în care poate fi stocată o ierarhie de obiecte. Desigur, o aplicație poate utiliza mai multe partiții pentru stocarea datelor, cu toate acestea, este posibilă căutarea și stabilirea legăturilor între obiecte numai într-o singură secțiune.

În timpul instalării, sunt create două partiții de sistem, utilizate pentru a stoca configurația și schema. Puteți crea o nouă partiție utilizând utilitarul LDP.EXE. Pentru aceasta, trebuie să porniți programul, să vă conectați la serviciul ADAM necesar, să stabiliți o legătură (legare) și să efectuați mai multe manipulări, și anume:

  • În meniul Răsfoiți, faceți clic pe Adăugați copilul.
  • În câmpul Dn, introduceți numele distinctiv al secțiunii noi.
  • În câmpul Atribut, introduceți ObiectClass. în caseta Valori - și apăsați pe Enter.
  • Apoi, introduceți tipul de instanță în câmpul Atribut. în câmpul Valori - 5 și apăsați Enter.
  • Faceți clic pe Executare.

Directorul activ pentru modul de aplicare

Figura 1. Utilitarul LDP.EXE - crearea unei noi partiții.

Va fi creată o nouă secțiune și veți primi un mesaj despre operația care a fost efectuată cu succes.

Lucrul cu datele din ADAM

După crearea partiției, puteți începe să o completați cu datele necesare pentru ca aplicația să funcționeze. Unitatea de date din ADAM este obiectul. Fiecare obiect are un set de atribute definite de clasa obiect. Unele atribute sunt comune tuturor claselor-atribute moștenite de la clasa de vârf. Cele mai importante dintre acestea sunt:

  • nume - nume scurt al obiectului (MyObject1);
  • distinguishedName este numele complet al obiectului, o valoare unică în cadrul serverului care identifică obiectul (CN = MyObject1, OU = MyApp, O = MyCompany, C = RU, vezi mai jos);
  • instanceType - O valoare a sistemului care definește comportamentul unui obiect. În particular, acest atribut specifică dacă obiectul poate fi modificat manual sau este o replică a obiectului de pe serverul cu care este sincronizat serverul.
  • objectClass - clasa obiectului, definește setul de atribute și comportamentul obiectului.

distinguishedName conține numele obiectului, precum și numele tuturor obiectelor "container" - directoarele care le conțin. Parte a distinguishedName este numele complet al partiției. Numele fiecărui obiect din numele complet este precedat de un prefix care indică tipul obiectului. Iată o copie a unor dintre aceste abrevieri:

Instrumentul principal pentru crearea, modificarea și ștergerea obiectelor din ADAM este "ADAM ADSI Edit".

Directorul activ pentru modul de aplicare

Figura 2. Aspectul utilitarului "ADAM ADSI Edit".

După conectarea la partiția dorită a serverului dorit, puteți adăuga propriile obiecte în ierarhie. În caseta de dialog pentru crearea unui obiect nou, vi se va cere să selectați clasa din care obiectul va fi moștenit. Un obiect al unei clase particulare poate conține obiecte de clasă imbricate pentru care (clasa) este înregistrată în schemă ca posibil "părinte".

Extensia schemei

Cele de mai sus ar fi complet inutile dacă nu ați putea extinde schema ADAM, adică adăugați propriile clase și atribute. Din fericire, Microsoft a avut grijă de acest lucru și avem la dispoziție utilitatea "ADAM Schema".

Directorul activ pentru modul de aplicare

Figura 3. Aspectul utilității "Schema ADAM".

Schema - o descriere formală a conținutului și a structurii unui serviciu de directoare - este un set de clase conexe, care la rândul lor constau dintr-un set de atribute.

Iată câteva dintre termenii necesari pentru a înțelege esența schemei și principiile actualizării acesteia.

1. Atribute - un câmp de date care caracterizează o anumită proprietate a obiectului. Un obiect poate conține numai atribute specificate în schemă pentru clasa sa.

2. Class - o descriere formală a tipului de obiect din serviciul de directoare.

3. Un obiect este o unitate de date în serviciul de directoare.

4. Identificatorul de obiect (OID) este o valoare numerică unică care identifică în mod unic elementul de date, sintaxa și alte părți ale aplicațiilor distribuite. Identificatori identici pot fi găsiți în diferite aplicații și sisteme pentru care unicitatea globală a elementului de sistem este importantă. Exemple de astfel de aplicații sunt: ​​aplicațiile OSI, serviciul de directoare X.500 și SNMP. Identificatorii au o structură arborescentă în care sursa principală, cum ar fi ISO, alocă un interval / subordon pentru utilizarea de către sursele de identificare mai tinere, care la rândul lor alocă subrețele pentru sursele copilului. Luați în considerare un exemplu de la MSDN. OID = "1.2.840.113556.1.5.4". aici:

  • 1 - ISO, sursă rădăcină, alocată "1.2" pentru ANSI;
  • 2 - ANSI, a subliniat "1.2.840" pentru Statele Unite;
  • 840 - SUA, a alocat "1.2.840.113556" pentru Microsoft;
  • 113556 - Microsoft;
  • 1 - Microsoft DS;
  • 5 - clase NTDS;
  • 4 - clasa Domeniul Builtin.

5. X.500 este un sistem de standarde dezvoltat în comun de către ISO și ITU (cunoscut sub numele de CCITT), care definește protocoalele de denumire, reprezentare a datelor și comunicare pentru serviciile de telefonie.

6. O subclasă este o clasă care moștenește din altă clasă.

7. O superclază este o clasă din care una sau mai multe subclase sunt moștenite.

Schema descrie toate atributele și clasele. Pentru fiecare clasă, trebuie definite următoarele atribute:

Toate clasele, direct sau indirect, prin superclasele lor sunt moștenite de la clasa abstractă.

Rețineți că o clasă sau un atribut create odată nu poate fi eliminată din schemă în viitor! Microsoft explică acest comportament prin faptul că nu poate garanta că nu există o coliziune dacă o distanță, aparent clasă sau atribut este încă utilizată în alte părți ale sistemului distribuit. Din același motiv, nu puteți elimina atributul necesar din clasă. Aveți posibilitatea să modificați oricând setul de atribute opționale. Rețineți acest lucru în timp ce proiectați circuitul.

Adăugarea unei noi clase la schemă se reduce la selectarea unei superclase, introducerea numelui clasei noi, a lui OID X.500 și completarea tuturor atributelor necesare descrise mai sus. Puteți crea o clasă utilizând Expertul de clasă nouă din utilitarul "Schema ADAM".

Când adăugați un atribut, trebuie să introduceți numele atributului nou, OID X.500, să selectați tipul de sintaxă sau de atribut, să setați intervalul de valori posibile și să specificați dacă atributul este o listă de valori. Puteți crea un atribut, la fel ca o clasă, utilizând expertul furnizat pentru a crea un atribut nou în utilitarul "Schema ADAM".

Directorul activ pentru modul de aplicare

Figura 4. Dialogul pentru crearea unei noi clase.

Gestionarea utilizatorilor și a grupurilor de utilizatori

Pentru a putea crea conturi de utilizator pentru utilizatorii ADAM, trebuie fie să importați clasa utilizator în timpul instalării, fie ulterior cu utilitarul Ldifde.exe. care este definită în scriptul LDF-MS-User.LDF.

Pentru a crea un utilizator, trebuie doar să adăugați un nou obiect utilizator în ADAM ADSI Edit. După adăugarea noului utilizator, trebuie să setați o parolă pentru el. Instrumentul "ADAM ADSI Edit" vă permite să faceți acest lucru din meniul contextual al utilizatorului (elementul "Resetare parolă"). Comportamentul obiectului Utilizator este configurat folosind un set de atribute. Unele dintre ele:

Pentru a gestiona drepturile de acces, este mai convenabil să atribuiți drepturi nu direct utilizatorilor, ci grupurilor de utilizatori. Un astfel de algoritm oferă administrarea cea mai flexibilă a accesului la obiectele din serviciul de directoare. Aici grupurile acționează ca roluri care determină accesul la anumite părți ale arborelui de directoare. În consecință, utilizatorul moștește drepturi de acces din grup sau din mai multe grupuri din care face parte.

Pentru a crea un grup de utilizatori, se creează un nou obiect de clasă. La crearea este necesar să nu uităm să setăm valoarea atributului groupType la 2147483650 (0x80000002 într-o reprezentare hexazecimală). Această valoare indică faptul că grupul creat este un grup de utilizatori. Atributul de utilizator al clasei de clasă este responsabil pentru asocierea utilizatorilor cu grupul. "ADAM ADSI Edit" vă permite să adăugați atât utilizatorilor de domenii, cât și utilizatorilor ADAM în grup.

O listă completă de comenzi și chei ale acestui utilitar poate fi obținută prin rularea cu comutatorul? Voi da două aplicații tipice.

Stabilirea dreptului de a citi obiectul 'NC = MyObject1, OU = AplicațiaMea, O = MyCompany, C = RU' și obiecte ale grupului său subramificație din 'CN = USER_GROUP, OU = AplicațiaMea, O = MyCompany, C = RU' utilizatori:

Modalități de identificare a utilizatorilor.

Vă puteți conecta la ADAM în trei moduri diferite: ca utilizator Windows, ca utilizator ADAM (clasa User) sau utilizând un obiect UserProxy.

În timpul instalării, ADAM solicită numele de utilizator, care va fi administratorul ADAM. În mod implicit, acesta este cel care instalează ADAM. Toți administratorii ADAM sunt membri ai grupului Administratori, localizați în secțiunea de configurare; numele complet al acestui grup este CN = Administratori, CN = Roluri, CN = Configurare, CN =. Astfel, vă puteți atribui contul Windows ca administrator ADAM și vă puteți conecta mai târziu la ADAM ca utilizator Windows. În mod similar, puteți să creați propriul grup în secțiunea de aplicații și să adăugați utilizatori Windows în acest grup.

Dacă ați creat un utilizator ADAM și i-ați atribuit drepturi de acces la obiectele din partiția de aplicații, vă puteți conecta la ADAM ca acel utilizator. Numele de utilizator în acest caz este numele complet al utilizatorului (Nume Distins).

În plus față de cele două metode descrise mai sus, ADAM vă permite să vă conectați utilizând așa-numita redirecționare a conexiunii, care este implementată de clasa UserProxy. Obiectul de clasă UserProxy conține o referință la utilizatorul Windows în AD. Acest mod poate fi convenabil atunci când aplicația are nevoie de informații suplimentare (una care nu există în Active Directory) asociată cu utilizatorul Windows.

Procesarea loturilor. Utilitate LDIFDE.EXE

Toate instrumentele de mai sus oferă suficiente instrumente pentru a administra ADAM. Cu toate acestea, toate modificările, cum ar fi adăugarea de noi clase, obiecte și utilizatori, trebuie efectuate manual. Acest lucru nu este foarte convenabil, mai ales dacă este nevoie să repetați exact aceleași acțiuni pe un alt server. Un exemplu tipic este dezvoltarea dezvoltării pe calculatorul dezvoltatorului, testarea pe un server special de testare, iar aplicația rulează pe serverul de producție. În acest caz, ar fi convenabil să puteți efectua toate modificările în modul lot. Această caracteristică este furnizată de utilitarul LDIFDE.EXE. care vă permite să exportați date de la ADAM la scripturile LDF și să importați scripturi LDF în ADAM. Luați în considerare aplicațiile tipice ale acestui utilitar care apar atunci când dezvoltați programe software.

Export întreg subarbore CN = Personal, OU = AplicațiaMea, O = MyCompany, C = RU într-o formă convenabilă pentru importul într-un alt server:

Caracteristici ale utilizării ADAM în aplicații distribuite multi-utilizator

Lucrul cu ADAM de la aplicatii multi-user are o nuanță care trebuie să fie luate în considerare în faza de proiectare a sistemului. Această nuanță se referă la posibilitatea identificării (autentificării) utilizatorului ADAM. Din anumite motive, conexiunea la ADAM, precum și la AD, este posibilă numai în cazul în care contextul de securitate primară (simbol de securitate primară) în proces, a apelat la ADAM. Considerăm că două cazuri: prima - atunci când aplicația se execută în numele informațiilor de utilizator stocate în ADAM, iar al doilea - atunci când aplicația se execută în numele de Windows utilizatorului curent. În primul caz, ID-ul utilizatorului și parola sunt introduse când începe aplicația. Cu aceste informații, aplicația se poate conecta la ADAM la contextul de securitate primar, în orice parte a dvs. (foarte important pentru aplicații distribuite). Complexitatea apare în cel de-al doilea caz. Sunt ei care primesc contextul de securitate principal numai pe computerul care rulează aplicația client, pe care utilizatorul este de lucru. Această aplicație poate fi fie un client Windows care rulează cu serverul de aplicații, fie cu Internet Explorer, în cazul aplicațiilor Web. În ambele cazuri, aplicația nu cunoaște parola utilizatorului. Din acest motiv, este nevoie să transferați contextul de securitate de la client la server. Acest lucru se poate face cu ajutorul funcțiilor WinAPI InitializeSecurityContext și AcceptSecurityContext, care vă permite criptarea datelor de context de securitate al utilizatorului, pentru a le transfera la procesul de server (eventual pe un alt calculator), și de a restabili contextul de securitate al procesului de server. În acest caz, trebuie să utilizați mecanismul de autentificare Kerberos, care nu este întotdeauna posibil, din cauza setărilor de dificultate și din alte motive, cum ar fi conexiunea client și server prin proxy-server pentru transmiterea contextului de securitate. Utilizarea Kerberos este necesară deoarece acest mecanism, spre deosebire de NTLM și Digest, puteți trimite peste identificatorul de securitate de rețea primară.

De exemplu, luați în considerare o aplicație ASP.NET. Aici este posibil să utilizați sistemul de securitate integrat Windows pentru a identifica utilizatorul de pe site. După identificare, codul server poate fi lansat sub un utilizator identificat - așa-numita impersonalizare a contextului de securitate al utilizatorului. Cu toate acestea, pentru a obține rezultatul dorit - conectați-vă la ADAM sub aplicația utilizatorului - nu va reuși. Conectarea la ADAM din contextul de securitate simulat al utilizatorului nu este posibilă - este necesar un context de securitate primar. În literatura de limbă engleză, această problemă se numește dublu-hop. care pot fi traduse ca o problemă de salt dublu. Apare ori de câte ori doriți să transferați contextul de securitate dintr-un proces la altul printr-un proces intermediar. În cazul aplicației ASP.NET, procesul sursă este Internet Explorer, procesul de primire este ADAM, iar middleware-ul este procesul ASP.NET.

Astfel, la proiectarea unei arhitecturi de aplicații, în care Adam este de a fi utilizat, trebuie să aibă grijă de la un stadiu incipient de metode de conectare și metode de identificare a utilizatorului ADAM în cazul aplicațiilor multi-user.

concluzie

Din toate cele de mai sus, putem concluziona că ADAM este un instrument puternic care vă permite să utilizați capabilitățile Active Directory. Parțial acest lucru este posibil - ADAM vă permite să extindeți schema, să creați obiecte din aceste clase, să le organizați în ierarhie și să căutați și aceste obiecte. Un sistem flexibil de gestionare a utilizatorilor și de control al accesului oferă oportunități deosebite pentru utilizarea ADAM în aplicații care gestionează informații confidențiale. Mecanismele de arhivare și replicare permit crearea unor sisteme fiabile de toleranță la erori.

Deficiența ergonomică a instrumentelor de administrare și unele dificultăți în aplicațiile multi-utilizator distrug oarecum imaginea. Cu toate acestea, cu un design adecvat, utilizarea ADAM poate fi o alegere excelentă pentru o gamă largă de sisteme software.

Articole similare