Access Controls for Users and Roles in SQL

Ewleh e ku ji bo rêveberên daneyên navendî digerin ku ji bo gigabîteyên danûstendinên karsaziyê yên ji hêla derveyî bêyî desthilatdar ên bêsexsî û hewldanên hewldanên wan desthilatdariya xwe zêdetir biparêze biparêzin. Sîstema rêveberiya danûstendina danûstendûbarê ya hemî hinek rêbazên ewlehiyê yên ku ji bo tehdîtên kêmtirîn pêşniyaz dike pêşkêş dikin. Ew ji parastina şîfreyek hêsan tête pêşkêş kirin ku ji hêla Microsoft Access ve ya sazker / rola kolektîfên hêla piştevanîya databasesên têkildarî yên wekî Oracle û Microsoft SQL Server piştgiriya piştgirî kirin. Di vê gotarê de li ser mekanîzmayên ewlehiyê yên ku hemî databases têne armanc kirin ku li ser zimanê Kargêrkirî ( Zimanê- Siyasetker ) tê bicîh kirin. Bi heval, em bi pêvajoya daneyên kontrola danûstendina destûr û ewlehiya agahdariya we ya xwe digerin.

Bikarhêner

Databases-based databases hemû hemî bikarhênerek bikarhêner piştgirî dikin ku ew di sîstemên pergala xebitandinê de têne bikaranîn. Heke hûn bi bikarhênerê / hiyerarşiya koman di nav Windows-Windows NT û Windows 2000-ê de têne nas kirin, hûn ê bibînin ku komên / komeleyên rola ku piştgiriya SQL Server û Oracle pir piştgirî ne.

Ew gelemperî pêşniyar dike ku hûn hesabê bikarhênerên bikarhênerên kesane ji bo her kesê ku dê databasesê xwe bibînin. Ew teknolojî bi awayekî di nav bikarhêneran de an jî bikarhêneran bikar tîne ji bo her kesê bikarhênerê ku bikarhênerê xwe bigihîjin hesabê bikarhêneran bikar bînin, lê ez ji bo du sedem ji vê sedem re bisekinim. Pêşîn, ew ê hesabek kesane bigirin, heger ku bikarhênerê xwe bi danûstendina xwe veguherîne (bila xwe bi $ 5,000 bilindtirîn daye daye daye), hûn ê nikarin ew veguhestina kesek taybetî bi rêya bikarhênerên lêgerînên lêgerînê digirin. Wekî din, eger bikarhênerek taybet e we rêxistin we û hûn dixwazin ku destûra xwe an ji databases jê derxînin, hûn ê ji bo şîfreyê biguherînin ku hemî bikarhêneran bi serî veguherînin.

Rêbazên ji bo hesabên bikarhêneran çêbikin ji platformê ji platformê re ye û hûn ê belgeyên xwe yên DBMS-taybetî ji bo pêvajoyê rast bikin. Divê bikarhênerên Microsoft-SQL Server divê bikar tedawiya bikaranîna sp_adduser pêdivî ye. Rêveberên danegirên Oracle dê karanîna karanîna CREATE USER bibînin. Hûn jî dikarin bixwazin planên belgeyên alternatîf lêkolîn bikin. Ji bo nimûne, Microsoft SQL Server piştgiriya Ewlekariya Integrated Windows NT piştgirî dike. Di vê planê de, bikarhênerên ku di navnîşana Windows NT bikarhênerê de têne hesab kirin, û ne hewce ne ku navnîşana bikarhêner û şîfreya bikarhênerek bikar bînin ku ji bo databasesê bikin. Ev nêzîk di navendên databases de gelekî gelekî gelemper e, ji ber ku ew birêvebirina hesabê hesabê karmendê rêveberiya rêveberê torê veguherîne û ew yekser bikarhênerek yekgirtî li ser bikarhênerê dide.

Roles

Heke hûn di hawirdora piçûkan de biçûk bikarhêner in, hûn ê bibînin ku hesabên bikarhêneran çêbikin û rasterast destûrên wan bi wan re hewce ne ji bo hewceyên we. Lêbelê, heke hejmara bikarhênerên mezin hene, hûn ê bêhtir bi bargehên parastina hesab û destûrên maqûl bêne serfiraz kirin. Ji bo vê bargê hêsan, databases yên pêwendî piştgiriya rola rola. Fîlmên rola daneyên heman rengî bi komên Windows NT. Hesabên bikarhênerên rola ji bo rola (s) têne danîn û destûrên ku ji bila hesabên bikarhênerên kesane yên bi tevahî rola xwe têne derxistin. Ji bo nimûne, em dikarin rola DBA biafirînin û piştre karsazên xebatkarên rêveberiya me ji vê rola re zêde bikin. Dema ku em vê yekê kirine, em dikarin destûra taybetmendî ji hemû rêveberên (pêşeroj) û bi hêsanî bi hêsanî re destnîşan bikin ser rola xwe. Careke din, pêvajoyên ji bo rola çêkirina platformê ji platformê ve dike. MS rêveberên SQL Server divê pêvajoyên sp_addrole parastin lêpirsîna Drara Oracle divê hevpeymaniya ROLE CREATE.

Destûra Garanting

Niha ku em bikarhênerên xwe ji databasesê re gotine, wextê ku destûra ewlekariyê dest pê dike ewlehiyê dest pê dike. Divê gava yekem dê dê bikarhênerên me yên danûstendinên maqûl yên maqûl bikin. Em ê bi vê karanînê bi karanîna SQL GRANT pêk tînin.

Li vir gotina gotinê:


[ON

]
TO
[BİXWÎNE BERSÎVE]

Niha, bila vê daxuyaniyê binivîsin rêzik-ê-line. Di rêza yekemîn de, GRANT , me destnîşan dike ku em destûrnameyên maseya taybetî diyar bikin ku em ê têne dayîn. Ev dikare an destûra rûn-level (wek bijarte, BİXWÎNE, UPDATE û DELETE) yan jî destûra daneyên databayan (wekî wekî KARTINA TABLE, BİXWÎNE DERABASE û GRANT) dibe. Zêdetir ji destûra yek dikare destnîşankirina yek ji GRANT yek ji dayîn, lê belê destûrên tîp-tehrê û destûra daneyên navnîşê-nav-de dikare di daxuyaniyeke yek de yek hevdû nabe.

Di rêza duyem, ON

, tê bikaranîn ku ji bo destûra maseya table-level diyar kirin tehlên bandorkirî. Dema ku em ji bo destûra dane-databases-dravî ev eşkere vekirî ye. Di rêza sêyemîn de bikarhêner an jî roleke ku destûr dide destnîşan dike.

Di dawiyê de, çarçoveya çaremîn, bi berevajoyek re derbasbûnê, alternatîf e. Heke vê rêzê di vê daxuyaniyê de tête, tête bikarhênerê jî destûrê dide ku ji bo van bikarhênerên din bi destûra wan bidin. Têbigirin ku dema ku bi destûra mûxebitîn re rolek dabeşkirin bi nirxa belaş bi destnîşankirin.

Nimûne

Bila çend mînakan bibînin. Di şoreşa me ya yekemîn de, me berê komek operatorên navendên 42 yên ku bi karûbarên karsaziyê ve girêdayî û bicîh bibin. Divê ew hewce bibin ku agahdariya li ser karmendên bazirganiyê, vê agahdariyê biguherînin û li ser maseya nû nû bike. Divê ew nikarin qeydkirina danûstandinan bi temamî derxistin. Pêşîn, divê em ji bo her operatorê bikarhêneran bikar bînin û paşê wan hemûyan re rolek nû, DataEntry. Piştre, divê em daxuyaniya SQL-ê bikar bînin ku destûrên wan yên destûr bidin wan:

BİXWÎNE, BİXWÎNE, UPDATE
Xerîdaran
TO DataEntry

Û her tişt ew e! Niha em werin lêkolînek ku li wir em destnîşankirina databases-level-level de lêkolîn bikin. Em dixwazin ku endamên endamên DBA-ê di navnîşana me ya databasesê de nûçeyên nû de zêde bikin. Wekî din, em dixwazin ku ew bikaribin bikarhênerên din yên ku destûra wan bikin bidin. Li vir gotara SQL'ê ye:

GRANT TABLE
DBA
BİXWÎNE BERSÎVÊ

Hişyar bikin ku em di nav rêza xerca bendavê de tevlihev kir ku ji bo DBA-ê vê destûra din bikaribin bikarhênerên din bikin.

Destûra Destûra

Dema ku em destûr didin, ew pir caran hewce dike ku ew di paşê de paşê betal bikin. Ji kerema xwe, SQL bi mebestê reVOKE re ji bo destûra pêşniyarên xwe bigire. Li vir sîteyê ye:

BİXWÎNE [BERSÎVAN BERSÎVÊ Ji bo
ON


Ji ji

Hûn dizanin ku syntaxa vê yekê em ji ber ku emrê ya GRANT e. Berevajî tenê yek e ku di nav dawiya fermandarê de ji kerema xercê de li ser rêza RVOKE tête diyar kirin. Wek mînakek, em bifikirin em dixwazin dixwazin pêşniyarê meryemê ya Meryemê red kir ku ji bo databasesê bazirganî derxînin. Em ê emrê jêrîn bikar bînin:

BİXWÎNE BİXWÎNE
Xerîdaran
Ji Meryemê

Û her tişt ew e! Mîkrobîzek din heye ku ji hêla SQL Server-Server-a-SQL-SQL-ê ve tê behsa piştgiriya-ya DENY-ê ye. Ev ferman dikare bikar bînin ku eşkere bi destûra bikarhênerek înkar bikî ku ew dikarin di nav rêya an jî rolek roleke pêşeroj de heye. Li vir sîteyê ye:

DENY
ON


TO

Nimûne

Vegerîna xwe ya berê ve vegerin, em bifikirin ku Meryemê jî endamê Rêveberên Rêveberê ku ew bi destûra maseya bargêrkeran re bûne bû. Daxuyaniya REVOKE berê wê naxwaze ku ew bi destûrdana maseya xwe red bike. Ew ê destnîşankirina destûra xwe ji hêla GRANT daxwaza bikarhênerên xwe bigire, lê dê destûr nake ku destûra wê bi endametiya Rêveberên xwe re bigirin. Lêbelê, eger em daxuyaniyeke DENY bikar bînin, ew ê mîrata wê ya destûra asteng bike. Li vir emir e:

DENY DELETE
Xerîdaran
Meryemê

Derhênerê DENY bi taybetî di "destûra negatîf" de dibe ku di kontrola destnîşanîna daneyên databases. Ger em paşê biryar da ku biryar da ku destûra xwe ji sifirên dakêşan veşartin, em nikarin fermandariyê GRANT bikar bînin. Ew emrê wê bi zûtirîn ji hêla DENY-yê ve tê vexwendin. Di şûna de, em ê pêşî dê emrê RVOKE bikar bînin ku ji bo destnîşanîna neyînî ya negirtî bistînin:

BİXWÎNE BİXWÎNE
Xerîdaran
Ji Meryemê

Hûn dizanin ku emrê vî awayî wekhev e ku yek ji bo destûra erênî ya erênî ve were bikaranîn. Bawer bikin ku DENY û GRANT hem jî di heman rengî de kar dike, * wan jî herdu destûran (neyînî an jî neyînî) di afirandina danûstandinê dezgehên kontrola databases. Daxuyaniya REVOKE ji bo bikarhênerên taybet diyar e ku hemî erênî û neyînî veşartin. Dema ku ev emrê hatiye dayîn, Meryem wê bikaribe heke ew ji endamê ku rola wî heye ku destûra wî heye. Alternatîf, biryarek GRANT dikare ji bo hesabê devê DELETE bi hesabê xwe re pêşkêş bikin.

Di tevahiya vê gotarê de, te li ser derheqê mekanîzmayên kontrolkirinê yên ku ji hêla Zimanê Query Query-ê ve piştevanîya we peyda kir. Divê ev destnîşan divê hûn bi xala destpêkek çêbikin, lê ez ji te re veguhestin belgeyên DBMS-ê da ku hûn ji hêla pergala te ve piştgiriya ewlehiya ewlehiyê hîn bibin. Hûn ê bibînin ku gelek databases piştgiriya mekanîzmayên bêtir desthilatdariyê yên piştevanîya piştevanîya piştevanîya piştevanîya piştgirî dikin, wekî destûrnameyên destnîşankirina li ser dîmên taybetî.