Acasă Flori Sistem de gestionare a bazelor de date IBM DB2. Vedeți ce este „IBM DB2” în alte dicționare

Sistem de gestionare a bazelor de date IBM DB2. Vedeți ce este „IBM DB2” în alte dicționare

    Enterprise Edition - o soluție pentru organizațiile mari care au nevoie de procesare fiabilă a tranzacțiilor și funcționalitate bogată;

    Advanced Edition - această versiune acceptă un număr nelimitat de conexiuni, clustering și oferă scalabilitate, permițându-vă să obțineți performanțe ridicate (versiunea nu oferă confirmarea tranzacției în două faze și failover automat);

    Small Business Edition - versiunea este concepută pentru a suporta aplicații Internet. Numărul maxim de conexiuni IIOP/CORBA permise este de zece, potrivite pentru organizațiile ale căror sisteme nu au nevoie de clustering, suport mainframe, confirmarea tranzacției în două faze și failover automat;

    Developer Edition, o opțiune pentru dezvoltatori care construiesc și testează aplicații folosind Sybase EAServer, este complet echipată, dar limitată la cinci conexiuni IIOP.

Sybase EAServer oferă o serie de beneficii importante, inclusiv:

    funcționarea fiabilă a sistemului prin asigurarea recuperării automate a sănătății la nivelul memoriei serverului, echilibrarea sarcinii și clustering;

    protecția investițiilor prin integrarea cu sistemele interne existente;

    Gestionare simplificată prin capacități complete de configurare și administrare, cum ar fi stocarea în cache a instanțelor componente, gestionarea tranzacțiilor, stocarea în cache a proceselor și parametrizarea componentelor grafice.

Subd db2

Compania DBMS IBM DB2 a apărut pentru prima dată la începutul anilor optzeci. Versiunile acestui produs rulează în prezent pe AS/400AIX, S/390, Windows, OS/2, AIX, HP-UX, SCO UnixWare, Linux, NUMA-Q și Sun Solaris.

DB2 Enterprise Server Edition vine cu un set bogat de instrumente de administrare. Mecanismele de acces la date DB2 acceptă drivere ODBC, JDBC și ADO/OLE DB, iar modulele suplimentare, cum ar fi Generatorul de proceduri stocate, sunt disponibile pentru utilizatorii Microsoft Visual Studio. Versiunile Windows ale DB2 vă permit, de asemenea, să creați proceduri stocate în Visual Basic. Instrumentele de dezvoltare Borland acceptă accesul la DB2 nu numai prin ADO/OLE DB și ODBC, ci și prin propriile mecanisme universale de acces la date - Borland Database Engine și dbExpress.

DB2 DBMS acceptă crearea de depozite de date și, pe lângă mijloacele de transfer de date în depozit, conține Centrul de depozit de date ca parte a părții client, care vă permite să gestionați toate procesele asociate cu crearea și suportul depozite de date, inclusiv crearea unei scheme de depozit, determinarea surselor de date inițiale pentru aceasta, crearea de programe de actualizare a datelor din stocare, verificarea și corectarea datelor incorecte. Pentru a suporta stocarea OLAP, DB2 Universal Database Server include un OLAP Starter Kit bazat pe Hyperion Essbase OLAP Server.

SGBD-ul DB2 acceptă stocarea și căutarea documentelor XML după elementele și atributele acestora. Folosind protocolul SOAP, puteţi accesa servicii Web care oferă acces la procedurile şi datele stocate DB2 (serviciile Web sunt gestionate de serverul de aplicaţii IBM WebSphere).

Cele mai importante caracteristici tehnice ale bazei de date universale DB2 includ suport pentru date relaționale și complexe folosind extensii de obiecte, capacitatea de a lucra pe platforme multiprocesor, suport pentru clustere, arhitectură de memorie pe 64 de biți, paralelizarea interogărilor, disponibilitatea instrumentelor pentru administrarea și procesarea datelor eterogene, suport pentru tranzacții distribuite.

DB2 este singura bază de date care poate fi dezvoltată pe .Net în timp ce rulează pe orice platformă, inclusiv Linux, mainframe, Windows. DB2 are proceduri stocate Java.

Suportul extins pentru Visual Studio include suport pentru servicii Web, suport complet pentru stocarea datelor XML fără a le transforma și capacitatea de a crea aplicații și site-uri Web fără a scrie cod.

DB2 este construit pe tehnologii relaționale cu suport extins pentru XML, care simplifică dezvoltarea și integrarea datelor. XML este o componentă cheie a procesului de generare a metadatelor și a controalelor metadatelor din DB2.

DB2 versiunea 9 introduce tehnologia pureXML, tehnologia revoluționară de compresie a datelor Venom și gestionarea datelor offline. DB2 oferă acces la informațiile stocate în DBMS Oracle și MySQL.

Implementat în SGBDÎmbunătățirile permit dezvoltatorilor să simplifice și să accelereze în mod semnificativ crearea de aplicații care funcționează simultan cu XML și depozitele de date relaționale. De exemplu, tehnologia pureXML acceptă limbajul XQuery, un standard conceput special pentru procesarea datelor XML. Dezvoltatorii de aplicații pot folosi XQuery, XPath, SQL standard sau toate trei pentru a prelua date relaționale sau XML.

Mediul de dezvoltare cuprinzător DB2 Developer Workbench vă permite să creați, editați, depanați, testați și implementați proceduri stocate și funcții definite de utilizator. Developer Workbench poate fi folosit pentru a dezvolta aplicații și pentru a crea, edita și executa instrucțiuni SQL și interogări XML.

Serverul de baze de date DB2 versiunea 9 permite mișcarea paralelă și fără întreruperi a datelor relaționale și XML, indiferent de format, platformă și locație ( http://www-306.ibm.com/software/data/db2/v9/).

DB2 comprimă, de asemenea, indecși și tabele temporare, ceea ce niciun alt DBMS nu le poate face astăzi. Implementarea unei configurații cu două servere cu toleranță la erori, în care un server cu o bază de date de așteptare poate fi utilizat pentru raportare.

DB2 este disponibil în două ediții: DB2 Workgroup și DB2 Enterprise Edition. SGBD implementează paralelizarea procesării interogărilor, un set complet de instrumente de replicare, tabele pivot de interogare pentru a îmbunătăți performanța bazei de date, capabilități de proiectare a bazei de date orientate pe obiecte și instrumente în limbaj Java.

DB2 este echipat cu un set complet de extensii multimedia pentru stocarea și manipularea textului, sunetului, video, imaginilor și datelor geografice. Principalele dezavantaje ale DB2 sunt complexitatea relativă a administrării.

În DB2, datorită Index Smart Guide, puteți regla, formând indecși optimi pentru un anumit număr de accesări, care caracterizează încărcarea tipică a bazei de date. DB2 DBMS vă permite să generați tabele pivot, ceea ce crește foarte mult eficiența activității sale ca depozit de date. Un tabel pivot este o zonă de lucru temporară utilizată de SGBD pentru a stoca răspunsuri la interogările primite frecvent.

Extensia DB2 Spatial pentru lucrul cu date spațiale a fost dezvoltată în colaborare cu ESRI [ http://www.esri.com/partners/alliances/ibm/solutions.html,http://www.esri.com/partners/alliances/ibm/index.html].

IBM lansează trei ediții de DB2 simultan - pentru clienți corporativi, pentru întreprinderi mici și mijlocii (DB2 Express) și pentru dezvoltatori (DB2 Express-C).

IBM are o versiune simplificată a SGBD DB2 Express-C, este relațional, dar acceptă XML.

DBMS Informix

Înainte de achiziționarea sa de către IBM, produsul emblematic al Informix a fost Informix Dynamic Server (IDS), care acceptă platformele UNIX și Windows și oferă funcționare eficientă atât pe sisteme cu un singur procesor, cât și pe multiprocesor, precum și în clustere. Acest produs are capabilități puternice de procesare paralelă. Printre principalele caracteristici ale Informix Dynamic Server, trebuie remarcată utilizarea managementului spațiului pe disc ca instrumente OS; precum și funcții proprii care vă permit să ocoliți restricțiile sistemului de operare, să gestionați partajarea memoriei; controlul dinamic al fluxului; suport pentru fragmentarea tabelelor și a indexurilor pe mai multe discuri; paralelizarea interogărilor; oglindirea datelor. Serverul IDS acceptă finalizarea tranzacțiilor în două faze, precum și tranzacții eterogene (în acest caz, alte servere pot participa la tranzacții). De remarcat este suportul serverului pentru serii temporale.

Extensiile de funcționalități de server sunt implementate pe baza DataBlade - colecții de obiecte și subrutine de bază de date în limbajul C, conectate la baza de date și lansate atât de producătorul SGBD, cât și de un număr de producători independenți.

Dintre mecanismele de acces la date, IDS acceptă driverele ODBC, JDBC și ADO/OLE DB. Instrumentele de dezvoltare Borland acceptă accesul la IDS folosind mecanismele Borland Database Engine, dbExpress, Microsoft .NET.

Recent, a existat o tranziție de la DBMS relațional la cele orientate pe obiecte. Informix, urmând acest concept, își prezintă soluția în DBMS Centaur, bazată pe baza de date relațională Informix Dynamic Server 7.3 și baza de date obiect-relațională Informix Universal Data Option, combinând performanța ridicată a Dynamic Server atunci când lucrează cu date cu universalitate și multimedia. caracteristicile Universal Data Option. Această implementare este destinată dezvoltării sistemelor Internet. DBMS are un mediu de dezvoltare flexibil, scalabilitate pentru a se potrivi cu sarcinile intensive de lucru ale Internetului și instrumente pentru lucrul cu noi tipuri de date care au devenit omniprezente odată cu dezvoltarea Web-ului. Instrumentele Java implementate în acest sistem vor permite dezvoltatorilor să creeze proceduri stocate, programe utilizator și componente DataBlades în acest limbaj.

Pachetul Centaur vine cu gestionarea obiectelor ActiveX încorporată. Acest lucru face posibilă crearea de proceduri stocate în baza de date în limbajul Visual Basic.

Centaur este un add-on la Informix Dynamic Server și funcționează cu formatul tradițional de bază de date pentru acest pachet, astfel încât utilizatorii să aibă la dispoziție toate vechile funcții, iar upgrade-ul sistemului la nivelul de versiuni noi nu va fi foarte dificil. Sistemul este dotat cu facilitati pentru proiectarea bazei de date orientate pe obiecte, crearea de tabele specializate si programe de indexare; permite utilizatorilor să-și încorporeze propriile funcții în interogări și să nu se bazeze numai pe instrumente SQL standard.

La locul de muncă, am avut de-a face cu IBM DB2 DBMS de ceva timp. pentru că Deoarece sistemul este comercial, nu există prea multe informații în rusă pe internet, așa că am decis să descriu câteva dintre caracteristicile acestui DBMS.

Punct de intrare

Să începem cu punctul de intrare în SGBD. În SQL SERVER, punctul final este o instanță, care desigur poate avea baze de date separate, dar modelul de configurare și securitate este același pentru întreaga instanță. În DB2, punctul de intrare arată astfel - o instanță (care corespunde unui anumit port) - o bază de date. În același timp, există o configurație pentru întreaga instanță și pentru o bază de date separată.

Puteți vizualiza configurația instanței fie folosind comanda db2:

Configurarea managerului bazei de date

Tip de nod = Enterprise Server Edition cu clienți locali și la distanță

Nivelul de lansare al configurației managerului bazei de date = 0x0b00

Viteza procesorului (milisec/instrucțiune) (CPUSPEED) = 2,912790e-07
Lățimea de bandă de comunicații (MB/sec) (COMM_BANDWIDTH) = 1,000000e+02

Numărul maxim de baze de date active simultan (NUMDB) = 8
Suport pentru sistemul de baze de date federate (FEDERATED) = DA
Numele monitorului procesorului de tranzacții (TP_MON_NAME) =

Cont implicit de rambursare (DFT_ACCOUNT_STR) =

Cale de instalare Java Development Kit (JDK_PATH) = /home/db2inst1/sqllib/java/jdk32

Nivelul de captare a erorilor de diagnosticare (DIAGLEVEL) = 3
Nivel de notificare (NOTIFYLEVEL) = 3
Calea directorului de date de diagnosticare (DIAGPATH) = /home/db2inst1/sqllib/db2dump

Comutatoare implicite de monitorizare a bazei de date
Pool de buffer (DFT_MON_BUFPOOL) = OFF

Unde vor fi specificați parametrii, semnificația și decodarea acestora. Este posibilă și o versiune prescurtată:

obține dbm cfg

Sau cu o interogare:

Selectați numele, valoarea din sysibmadm.dbmcfg

Parametrii importanți includ:

  • tip de autentificare (AUTHENTICATION)
  • cale implicită pentru crearea de noi baze de date (DFTDBPATH)
  • descoperirea serverului de rețea (DESCOPERIRE)
Puteți vizualiza setările pentru o anumită bază de date astfel:

conectați la probă(eșantion - numele bazei de date)

obțineți configurația managerului de baze de date

Sau cu aproximativ aceeași cerere ca înainte:

selectați numele, valoarea din sysibmadm.dbcfg

Autentificare

Marea diferență dintre DB2 și alte SGBD-uri este modelul de autentificare. Nu există utilizatori interni aici, ca în SQL Server sau MySQL. Toată autentificarea se realizează prin mijloace externe DBMS (plugin-uri încărcate dinamic) - mijloace sistem de operare sau pluginuri externe (Kerberos, GSS API). Tipul de autentificare este setat în parametrul AUTHENTICATION al configurației managerului de baze de date. Valoarea implicită este SERVER - numele de utilizator și parola sunt trimise formă deschisă iar această pereche este verificată pentru corectitudine prin intermediul sistemului de operare. Dacă numele de utilizator și parola sunt corecte, atunci privilegiul CONNECT este verificat pentru utilizatorul sau grupurile la care este membru (incl. grup special PUBLIC, care include toți utilizatorii autorizați). Aceste privilegii pot fi vizualizate în tabelul SYSCAT.DBAUTH:

selectați GRANTEE din SYSCAT.DBAUTH unde CONNECTAUTH = "Y"

O mare greșeală de configurare este includerea tipului de autentificare CLIENT.În acest caz, DB2 are încredere în clientul care se conectează pentru a efectua autentificarea, iar dacă PUBLIC are privilegiul CONNECT, atunci orice utilizator se va putea conecta la baza de date şi va avea acces la toate datele pe care le are PUBLIC. Numele de utilizator este preluat din sistemul de operare. Adică, dacă ne conectăm prin Data Studio ca utilizator Administrator, atunci toate privilegiile pe care le are acest utilizator vor fi acordate. Și în acest caz, nu există nicio diferență de pe ce computer s-a făcut accesul. Acest tip de autentificare este recomandat să fie activat numai atunci când există un canal securizat între server și client, iar alți clienți nu se vor putea conecta la DBMS.

Autorizare

Privilegiile la nivel de instanță sunt scrise în configurația managerului de baze de date. Acestea sunt următoarele privilegii:

  • SYSADM
  • SYSCTRL
  • SYSMAINT
  • SYSMON
Aceste privilegii sunt stabilite prin specificarea grupului în care va intra utilizatorul. În dbmcfg, acestea sunt opțiunile SYSADM_GROUP , SYSCTRL_GROUP , SYSMAINT_GROUP și, respectiv, SYSMON_GROUP.

În continuare, există privilegii specifice bazei de date. Acestea sunt privilegii precum accesul la baza de date (CONNECTAUTH), crearea tabelelor (CREATETABAUTH), crearea rutinei (EXTERNALROUTINEAUTH) și așa mai departe. Aceste privilegii pot fi vizualizate în vizualizarea SYSCAT.DBAUTH

Și, în sfârșit, privilegii de acces la anumite date - tabele, subrutine și așa mai departe. Totul aici este destul de banal, dar și cu unele particularități.

Privilegiile de acces la tabel pot fi vizualizate în vizualizarea SYSCAT.TABAUTH. Tipul privilegiului acordat este stocat în coloane separate, în funcție de privilegiul în sine (SELECTAUTH, DELETEAUTH etc.). Când acordați un privilegiu utilizând comanda GRANT pentru privilegiile REFERENCES și UPDATE, puteți specifica și numele coloanelor la care vor fi extinse privilegiile date. În acest caz, informațiile despre aceasta pot fi vizualizate în vizualizarea SYSCAT.COLAUTH

Privilegiile pentru rutine (funcții, proceduri și metode) pot fi vizualizate în SYSCAT.ROUTINEAUTH . Nu totul este banal aici, în funcție de câmpurile SPECIFICNAME și TYPENAME, pot fi acordate privilegii tuturor subrutinelor unei scheme date.

Dacă cititorilor le place articolul, atunci sunt gata să vorbesc despre protejarea datelor în DB2 folosind controlul accesului bazat pe etichete

Introducere

Scopul practicii generale de inginerie este de a consolida și extinde cunoștințele dobândite de student în cursul studiilor, de a dobândi o înțelegere a viitoare profesie. Obiectivele practicii sunt: ​​- consolidarea materialului teoretic prezentat în cadrul prelegerilor disciplinelor blocului de discipline;

Dobândirea cunoștințelor de operare calculator, cu sistem de operare Windows și o suită standard de birou;

Consolidarea primită în timpul studiului cursuri de bază privind cunoștințele și abilitățile informatice privind metodele de utilizare, dezvoltare și implementare a algoritmilor clasici în limbajele de programare studiate;

Să stăpânească metodele de căutare profesională a informațiilor pe Internet;

Să studieze cerințele de raportare, metode și medii de aplicare pentru întocmirea rapoartelor privind rezultatele practicii;

Lucrul cu echipamente de birou.

Prima secțiune a raportului discută despre sistemul de management al bazei de date IBM DB2: este descris conceptul de DBMS, tipuri și o scurtă descriere a DBMS IBM DB2.

În a doua parte a raportului, sunt dezvoltate un algoritm și un program C pentru a găsi elementul maxim al matricei A din matricea B.

Sistem de gestionare a bazelor de date IBM DB2

Conceptul de sistem de management al bazelor de date

O bază de date (DB) este o colecție numită de date interdependente gestionate de un SGBD.

Sistem de management al bazelor de date (DBMS) - un set de instrumente software și lingvistice de general sau motiv special, oferind control asupra creării și utilizării bazelor de date.

Istoria creării SGBD

Activitatea viguroasă de a găsi modalități acceptabile de socializare a volumului de informații în continuă creștere a dus la crearea la începutul anilor ’60 a unor sisteme software speciale numite „Sisteme de management al bazelor de date” (DBMS).

Caracteristica principală a DBMS este prezența procedurilor de introducere și stocare nu numai a datelor în sine, ci și a descrierilor structurii acestora. Fișierele prevăzute cu o descriere a datelor stocate în ele și controlate de SGBD au început să fie numite bănci de date, iar apoi „Băzuri de date” (DB).

Când a început producția de calculatoare din familia de calculatoare ES. Lucrarea s-a desfășurat în două direcții. În primul rând, s-au făcut încercări de a crea propriul lor SGBD intern original. Totodată, într-un mod accelerat, s-au dezvoltat analogi ale unor SGBD-uri utilizate pe scară largă în străinătate, capabile să funcționeze pe platforme hardware și software interne. O abordare similară a fost folosită și pentru a crea un DBMS pentru platforme hardware, a cărui producție în masă a început în țară după apariția platformei de calculatoare ES - pentru calculatoare SM, ASVT, compatibil IBM calculatoare personale si etc. .

Istoricul creării IBM DB2 DBMS

DB2 este o familie de sisteme de gestionare a bazelor de date relaționale produse de IBM. Acesta este unul dintre SGBD-urile lumii „mature”, un lider constant în performanță, în ceea ce privește implementarea tehnică, scalabilitatea etc.

DB2 are poveste lungă. Este primul SGBD care folosește SQL. Din 1975 până în 1982, prototipul DB2 a fost dezvoltat la IBM sub numele System Relational, sau System R.

DB2 și-a primit numele în 1982, cu prima lansare comercială pentru VM numită SQL/DS și apoi lansarea pentru MVS numită DB2.

Dezvoltarea lui DB2 datează de la începutul anilor 1970 când dr. E.F. Codd, care a lucrat pentru IBM, a dezvoltat teoria bazelor de date relaționale și a publicat un model de manipulare a datelor în iunie 1970. Pentru a implementa acest model, el a dezvoltat un limbaj de baze de date relaționale și l-a numit Alpha.

IBM DB2 este cel mai performant și puternic SGBD din lume. Principalul său avantaj unic este că orice aplicație scrisă pentru DB2 va funcționa cu serverele de date DB2 care rulează pe orice platformă distribuită suportată de DB2 (Windows, HP-UX, Sun Solaris, Linux, Mac OS X și AIX®).

DB2 se livrează diverse ediții si pachete. Toate edițiile și pachetele DB2 sunt construite pe aceeași bază de cod sursă; ele diferă numai în funcție de funcționalitate și termeni de licențiere care vizează caracteristicile, funcțiile și beneficiile DB2 către segmentele de piață și grupurile de preț respective.

Sfera sarcinilor care pot fi rezolvate folosind extensiile de obiecte DB2 este semnificativ crescută în comparație cu abordarea relațională clasică. Având împrumutat din modelul orientat pe obiecte cele mai necesare pentru aplicatii moderne elemente, DB2 a păstrat toate avantajele unui SGBD relațional. Acest lucru face posibilă utilizarea atât a abordărilor relaționale, cât și a celor orientate pe obiecte atunci când construiesc sisteme de informații corporative pe baza acestuia.

Sistemul de gestionare a bazelor de date IBM DB2 și-a început dezvoltarea în depărtații anilor 70 și acum ocupă o poziție puternică pe piața DBMS corporativă, îndeplinind cerințe ridicate de performanță, fiabilitate, securitate și scalabilitate.

Igor Bulatenko, specialist în securitatea informațiilor, Tehnologii pozitive

Sistemul de gestionare a bazelor de date IBM DB2 și-a început dezvoltarea în depărtații anilor 70 și acum ocupă o poziție puternică pe piața DBMS corporativă, îndeplinind cerințe ridicate de performanță, fiabilitate, securitate și scalabilitate. În sectorul privat, DB2 nu a fost adoptat pe scară largă, în ciuda disponibilității versiune gratuită IBM DB2 Express. Poate că acesta este motivul pentru care nu există multe articole pe Internet despre configurarea și utilizarea DB2.

Modelul de securitate DB2 are o gamă largă de funcționalități și vă permite să protejați datele atât de influențele externe, cât și să diferențiați drepturile de acces pentru utilizatorii interni care utilizează DBMS în sine.

Cu toate acestea, este dificil pentru un utilizator nepregătit să înțeleagă toată această diversitate de la zero, așa că unii aspecte importante va fi discutat în acest articol.

Punct de intrare

Punctul de intrare în DB2 arată astfel: DBMS -> instanță (instanță) care poate fi legată la un anumit port -> nume specific bazei de date. Setările de securitate pot fi modificate atât într-o anumită instanță, cât și într-o anumită bază de date.

Autentificare

Autentificarea este mecanismul de securitate principal care este aplicat atunci când încercați să vă conectați la un server DB2. Autentificarea verifică dacă acreditările furnizate sunt corecte. Caracteristica principalăîn DB2 este că autentificarea utilizatorului se face numai prin pluginuri externe. Utilizatorii interni, spre deosebire de Oracle sau MS SQL Server, nu există aici. Chiar și caracteristica de creare a utilizatorilor găsită în IBM Data Studio nu creează de fapt un utilizator, ci atribuie privilegiul de conectare la baza de date utilizatorului specificat.

Există mai multe opțiuni de autentificare, opțiunea dorită este controlată de parametrul AUTHENTICATION din managerul bazei de date. Valoarea acestui parametru afectează locul în care vor fi autentificați clienții (pe partea de server sau pe partea clientului) și dacă datele vor fi transmise în formă criptată (valorile care se termină cu _ENCRYPT). Valorile acceptate pentru acest parametru sunt disponibile la:

Puteți vizualiza configurația managerului de baze de date interogând tabelul sysibmadm.dbmcfg, dar acest lucru necesită acces la oricare dintre bazele de date, ceea ce nu este întotdeauna posibil. Dacă aveți acces local la server, atunci puteți deschide procesorul Linie de comanda(db2 sau db2.exe pe Windows), conectați-vă la instanță și executați următoarele comenzi:

db2 => atașați la db2inst1
db2 => obțineți configurația managerului bazei de date

Valoarea implicită pentru parametrul AUTHENTICATION este SERVER. Validarea acreditărilor de utilizator furnizate se realizează pe partea serverului prin intermediul sistemului de operare, dar toate datele sunt transmise în text clar și pot fi interceptate de un atacator.

Să vedem cum arată informațiile capturate în Wireshark.


Login-ul și parola transmise de la client sunt vizibile în pachet la vizualizarea EBCDIC.

La schimbarea tipului de autentificare la SERVER_ENCRYPT, datele de conectare și parola vor fi transmise în formă criptată și verificate pe partea serverului.

Valoarea se modifică după cum urmează:

db2 => atașați la db2inst1
db2 => actualizați configurația managerului bazei de date utilizând autentificare server_encrypt
db2 => db2stop forța
db2 => db2start

Pachetul de autentificare va arăta astfel:


Cu toate acestea, textul cererilor și rezultatul vor fi în continuare transmise în clar.

Pachetul de solicitare Wireshark:


Pachetul cu răspuns în Wireshark:


Dacă parametrul AUTHENTICATION este setat la DATA_ENCRYPT, atunci acreditările utilizatorului sunt criptate, precum și informațiile transmise între client și server.

Valoarea este modificată în același mod ca în exemplul de mai sus:

db2 => atașați la db2inst1
db2 => actualizați configurația managerului bazei de date utilizând autentificarea data_encrypt
db2 => db2stop forța
db2 => db2start

După aceea, datele transmise vor fi, de asemenea, criptate:


De asemenea, trebuie să acordați atenție tipului de autentificare CLIENT. Cu acest tip de autentificare se considera ca exista un canal de comunicare securizat intre client si server, iar daca utilizatorul a obtinut acces la client, acesta poate accesa serverul fara a verifica corectitudinea acreditărilor. Adică, autentificarea ca atare are loc pe partea clientului, verificarea nu este efectuată pe partea serverului. Chiar dacă utilizatorul care se conectează la server nu are drepturi de acces, el primește totuși toate privilegiile care sunt atribuite grupului PUBLIC. Prin urmare, nu ar trebui să utilizați acest tip de autentificare, le va oferi atacatorilor posibilitatea fără eforturi deosebite obține acces la server.

Dacă, dintr-un motiv oarecare, acest tip de autentificare este brusc necesar, atunci trebuie să țineți cont de faptul că mai există doi parametri suplimentari care afectează în cele din urmă modul în care vor fi verificate acreditările utilizatorului. Acestea sunt parametrul trust_allclnts, cu ajutorul căruia puteți specifica ce clienți sunt considerați de încredere, și parametrul trust_clntauth, care determină unde să verificați autentificarea și parola, dacă acestea au fost transmise în timpul conexiunii. Ambele opțiuni afectează autentificarea numai dacă opțiunea AUTENTICARE este setată la CLIENT.

Dacă are succes, ID-ul utilizatorului este mapat la un ID DB2. De obicei, ID-ul este același cu numele de utilizator, dar folosește caractere majuscule.

Autorizare

Procesul de autorizare verifică dacă utilizatorul are drepturile necesare pentru acțiunile solicitate de acesta. Există autorități (autorități) ale unei instanțe a unui SGBD și a unei baze de date.

Permisiunile la nivelul unei anumite instanțe sunt scrise în configurația managerului de baze de date. Este despre asupra urmatoarelor puteri:

  • SYSADM (autoritatea de administrator de sistem);
  • SYSCTRL (permisiunea de a controla sistemul);
  • SYSMAINT (permisiunea de a întreține sistemul);
  • SYSMON (permisiunea de a monitoriza sistemul).

Aceste privilegii sunt stabilite prin specificarea grupului căruia îi va aparține utilizatorul. Pentru aceasta, se folosesc următorii parametri ai fișierului dbmcfg (conform permisiunilor de mai sus):

Nu este ușor să obțineți o listă de utilizatori care sunt membri ai unui grup folosind instrumente DB2, trebuie să faceți acest lucru în sistemul de operare însuși sau să analizați ce grupuri aparține un anumit utilizator (consultați fila „interogări utile” pentru o interogare ).

Când configurați DB2, asigurați-vă că verificați lista de utilizatori cărora le-a fost atribuită autorizarea SYSADM. Această permisiune vă permite să gestionați toate obiectele bazei de date.

Permisiunile unei anumite baze de date pot fi vizualizate în vizualizarea SYSCAT.DBAUTH. Acordați atenție privilegiului CONNECTAUTH, care determină dacă utilizatorul va avea sau nu acces la baza de date, și privilegiului NOFENCEAUTH, care este responsabil pentru crearea procedurilor și funcțiilor non-îngrădite (nu îngrădite). Astfel de proceduri sunt efectuate în spațiul de adrese ale bazei de date și, în cazul unei erori, pot încălca integritatea bazei de date și a tabelelor din aceasta.

Privilegiu

Privilegiile în DB2 pot fi acordate pentru diferite obiecte. Privilegiile de acces la tabel pot fi vizualizate în vizualizarea SYSCAT.TABAUTH. Datele despre tipul de privilegiu acordat sunt stocate în coloane separate, în funcție de privilegiul în sine (SELECTAUTH, DELETEAUTH etc.). Când acordați un privilegiu utilizând comanda GRANT pentru privilegiile REFERENCES și UPDATE, puteți specifica și numele coloanelor la care vor fi extinse privilegiile date. Informațiile despre aceasta pot fi vizualizate în vizualizarea SYSCAT.COLAUTH

Privilegiile rutinelor (funcții, proceduri și metode) pot fi vizualizate în vizualizarea SYSCAT.ROUTINEAUTH. Totul aici nu este în întregime banal, în funcție de câmpurile SPECIFICNAME și TYPENAME, pot fi eliberate privilegii pentru toate subrutinele unei scheme date.

Utilizatori, grupuri, roluri

Toate puterile bazei de date și diferitele privilegii pot fi acordate utilizatorilor, grupurilor sau rolurilor. Existența utilizatorilor, a grupurilor și apartenența utilizatorilor la grupuri este reglementată în afara bazei de date în sine. În acest sens, este de dorit să se țină cont de anumite recomandări și să cunoască unele subtilități atunci când se eliberează puteri și privilegii. Nu este recomandat să acordați privilegii și autoritate bazei de date, în special capacitatea de a se conecta la baza de date (CONNECTAUTH), la grupuri. Ar trebui să acordați privilegii anumitor utilizatori sau roluri care au nevoie de ele. Suportul pentru roluri este disponibil în DB2 începând cu versiunea 9.5. Apartenența la rol este gestionată chiar în baza de date.

De asemenea, DB2 are un rol PUBLIC încorporat. Un utilizator al bazei de date nu trebuie să i se acorde rolul PUBLIC: nu este posibil să se revoce rolul PUBLIC de la un utilizator. Când un privilegiu este acordat rolului PUBLIC, privilegiul este de fapt acordat tuturor utilizatorilor bazei de date. Nu trebuie să acordați nicio autoritate de bază de date rolului PUBLIC. Privilegiile pe tabele și vizualizări ar trebui acordate cu extremă prudență, numai pentru vizionare și fără posibilitatea de reatribuire (CU OPȚIUNEA GRANT).

Datorită particularității autentificării la acordarea privilegiilor, nu se verifică existența unui utilizator sau grup în sistem. Ca rezultat, utilizatorii de autentificare pot apărea în sistem fără a fi legați de utilizatori reali ai sistemului. Puteți găsi astfel de utilizatori folosind următoarea interogare SQL:

SELECTAȚI autentificarea FROM sysibmadm.authorizationids WHERE authidtype = „U” ȘI autentificarea NOT IN (SELECTARE numele de utilizator DIN TABEL(sysfun.USERS()) AS W)

Pentru a căuta astfel de grupuri, se folosește o interogare similară, dar interogarea indică faptul că datele despre PUBLIC nu ar trebui să fie afișate:

SELECTAȚI autentificarea FROM sysibmadm.authorizationids WHERE authidtype = "G" ȘI autentificarea NU ÎN (SELECTAȚI numele grupului FROM TABLE(sysfun.groups()) AS W) ȘI autentificare !="PUBLIC"

LBAC

DB2 are un mecanism puternic pentru restricționarea accesului la date din tabele bazate pe etichete (controlul accesului bazat pe etichete). Mecanismul vă permite să setați etichete de securitate pe anumite rânduri sau coloane în așa fel încât un utilizator care nu are acces la date protejate nici măcar să nu știe despre existența lor. Nu are sens să intri în detalii despre metodele de implementare a LBAC, deoarece producătorul are un tutorial pe acest subiect:

Instrumente automate de scanare

Când configurați securitatea serverului IBM DB2 punct important este utilizarea oricăror scanere de securitate (de exemplu, NGS SQuirreL pentru DB2, MaxPatrol etc.). Scanerele vor indica în mod clar vulnerabilitățile setărilor pe care este posibil să le fi ratat sau vor afișa informații într-o formă convenabilă pentru analiză:

Interogări și comenzi utile

Obțineți setările managerului de baze de date:

selectați numele, valoarea din sysibmadm.dbmcfg

sau

db2 => obținedbmcfg

Schimbați opțiunea managerului bazei de date:

db2 => actualizați configurația managerului de baze de date folosind

După aceea, trebuie să reporniți instanța:

db2 => db2 Stopforta
db2 => db2 start

Obțineți setările bazei de date:

selectați numele, valoarea din sysibmadm.dbcfg

sau

db2 => obține db cfg pentru

Lista utilizatorilor sistemului de operare:

selectați numele de utilizator din tabel(sysfun.USERS()) AS t

Lista grupurilor de sisteme de operare:

selectați numele grupului din tabel(sysfun.GROUPS()) AS t selectați AUTHID, AUTHIDTYPE din sysibmadm.AUTHORIZATIONIDS

Afișează numele curent al bazei de date:

selectați serverul curent din sysibm.sysdummy1

Introduceți numele de utilizator actual:

Selectațiutilizatordinsysibm. sysdummy1

Obțineți o listă cu grupurile din care face parte utilizatorul:

selectați GROUPNAME din tabel(sysfun.groups_for_user(" ")) ca t

Lista tuturor SGBD-urilor instalate:

$ db2ls

Lista tuturor instanțelor din SGBD:

$ db2 ilist

Limitați numărul de linii de ieșire:

selectați * din numele filei obțineți numai primele 5 rânduri

IBM DB2 DBMS este rezultatul a aproape 30 de dezvoltări și muncă de cercetare de IBM. Cea mai recentă versiune a acestui SGBD (6.x) oferă unul dintre cele mai elaborate seturi de instrumente de management și optimizare și un motor de baze de date care poate crește de la un laptop care rulează Windows 95 la un întreg cluster de mainframe S/390 care rulează OS/390.

Pachetul DB2 este disponibil în două ediții: DB2 Workgroup și DB2 Enterprise Edition. Acest DBMS implementează toate tehnologiile inovatoare ale motorului de baze de date cunoscute din versiunile anterioare ale DB2, cum ar fi procesarea paralelă a interogărilor, un set complet de instrumente de replicare, tabele rezumate de interogări pentru a îmbunătăți performanța bazei de date, capabilități de proiectare a bazei de date orientate pe obiect și caracteristici ale limbajului Java. În plus, sistemul DB2 este echipat cu un set complet de extensii multimedia care vă permit să salvați și să manipulați fragmente de text, sunet și video, imagini și date geografice. Putem spune că din punct de vedere al scalabilității, tehnologia de clustering a bazelor de date dezvoltată de specialiștii IBM nu are analogi. Aceste extensii facilitează foarte mult procesul de dezvoltare a aplicațiilor pentru Web, precum și a programelor care conțin imagini fotografice și rapoarte de text voluminoase. Sistemul DB2 este, de asemenea, destul de competitiv ca platformă de dezvoltare a aplicațiilor, deoarece există o unealtă Stored Procedure Builder care convertește automat instrucțiunea SQL în clasa Java corespunzătoare și o include în structura bazei de date. În DB2 6.1, interoperabilitatea cu alte SGBD-uri a fost mult îmbunătățită prin activarea utilizării specificației Microsoft OLE DB, un nou standard de acces la bazele de date. Controalele administrative DB2 care sunt versiune noua rescrise în Java și pot fi obținute de pe Web merită cele mai mari laude.

Principalele dezavantaje ale acestui SGBD sunt complexitatea relativă a administrării și lipsa (încă) implementărilor pentru sistemele de operare pentru server populare, cum ar fi LINUX.

În acest DBMS, datorită Index Smart-Guide, este posibil să se efectueze reglajul, formând indici optimi pentru un număr dat de accesări, care caracterizează încărcarea tipică a bazei de date. DB2 este singurul pachet care vă permite să generați tabele pivot, ceea ce îmbunătățește semnificativ eficiența DBMS ca depozite de date. Un tabel pivot este un spațiu de lucru temporar utilizat de baza de date pentru a stoca răspunsuri la întrebările frecvente. Ei bine, cu noua funcționalitate, precum și paralelizarea și capacitatea de a selecta practic orice tip de îmbinare și index (cu excepția poate indexurilor bitmap), DB2 6.1 se transformă în cel mai accesibil sistem de înaltă performanță. Instrumentele administrative ale acestui SGBD sunt destul de potrivite pentru nivelul sarcinilor de rezolvat, în plus, oferă oportunități excepțional de largi de lucru cu date multimedia și de programare (care lipsește în mod clar în Microsoft SQL Server).

DBMS de la Informix.

Recent, a existat o tranziție de la DBMS relațional la cele orientate pe obiecte (ceea ce se vede clar în exemplul Oracle). În urma acestui concept, Informix a anunțat și o nouă soluție DBMS Centaur bazată pe baza de date relațională Informix Dynamic Server 7.3 și baza de date obiect-relațională Informix Universal Data Option și care combină performanța ridicată a Dynamic Server atunci când se lucrează cu date cu universalitatea și funcțiile multimedia ale Universal. Opțiunea de date. Această implementare este destinată dezvoltării sistemelor Internet. Este de așteptat ca acest DBMS să aibă un mediu de dezvoltare flexibil, cu scalabilitate pentru a se potrivi cu sarcinile de lucru intense caracteristice Internetului și instrumente pentru lucrul cu noi tipuri de date care au devenit omniprezente odată cu dezvoltarea Web-ului. Implementat în sistem nou Instrumentele Java vor permite dezvoltatorilor să folosească Java pentru a crea proceduri stocate, programe de utilizator și DataBlades, pe care Informix le numește extensii de baze de date personalizate.

Din punctul de vedere al clienților Inforix, acesta va fi un mare pas înainte, deoarece până acum, când lucra cu DataBlades, aceștia puteau folosi doar C și SPL, limbajul intern al Informix pentru scrierea procedurilor stocate. În plus, pachetul Centaur va fi echipat cu gestionarea obiectelor ActiveX încorporată. Acest lucru va face posibilă, de exemplu, crearea de proceduri stocate în baza de date în limbajul Visual Basic; totuși, acest lucru necesită ca pachetul Centaur să fie rulat Mediul Windows NT.

Centaur va fi un add-on la Informix Dynamic Server și va funcționa cu formatul tradițional de bază de date pentru acest pachet, astfel încât utilizatorii să aibă la dispoziție toate vechile funcții, iar upgrade-ul sistemului la noua versiune nu va fi foarte dificil. În plus, pachetul Centaur va păstra toate capabilitățile de proiectare și programare care au făcut din sistemul Informix Universal Server o realizare inginerească remarcabilă. Noul sistem va fi dotat cu facilitati pentru proiectarea bazelor de date orientate pe obiecte, crearea de tabele specializate si programe de indexare; va permite utilizatorilor să-și încorporeze propriile funcții în interogări și să nu se bazeze numai pe instrumente SQL standard.

Concluzii.

Având în vedere principalele caracteristici ale arhitecturilor pentru construirea AIS, sisteme de operare server și DBMS, în viitor, ca arhitectură AIS, vom alege arhitectura Internet / Intranet, ca OS server Linux, ca DBMS Oracle 8i. Tabelul rezumativ prezintă caracteristicile comparative ale celor mai comune două soluții pentru astăzi Baza Microsoft SQL Server 7.0 (pe NT) și Oracle8i (pe Unix, Linux).

Microsoft SQL Server 7.0

Management administrativ

Instrumente grafice

Ușurință de întreținere

Motor de date

Lucrul cu mai multe procesoare

Acceptabil

Funcția de alăturare și selecția indexului

Acces simultan de mai mulți utilizatori

Prelucrarea datelor multimedia

Conectarea la Web

Procesare audio, video, imagini

Căutați în acest text

Interoperabilitate

Acceptabil

Interfața cu alte baze de date

o singură logare

Lucrați sub diferite sisteme de operare

Acceptabil

Opțiuni de programare

Acceptabil

Proceduri stocate și declanșatoare

Limbajul de programare intern

Construirea bazei de date

Sisteme orientate pe obiecte

Lucrul cu ramurile

Replicare

Procesarea tranzacțiilor distribuite

Administrare de la distanță

Organizarea depozitelor de date si intocmirea rapoartelor

Instrumente de încărcare

Instrumente de analiză

Nou pe site

>

Cel mai popular