Rialuithe Rochtana d'Úsáideoirí agus Rólanna i SQL

Tá an tslándáil ríthábhachtach do riarthóirí bunachar sonraí atá ag iarraidh cosaint a dhéanamh ar a gcuid gigabytes de shonraí gnó ríthábhachtacha ó shúile na ndaoine neamhúdaraithe agus daoine neamhsúdaraithe atá ag iarraidh dul thar a n-údarás. Soláthraíonn na córais bhainistíochta bunachar sonraí coibhneasta go léir cineál meicníochtaí slándála intinne atá ceaptha chun na bagairtí sin a íoslaghdú. Tagann siad as an gcosaint simplí ó phasfhocal a thairgeann Microsoft Access ar an struchtúr úsáideora / ról casta a fhaigheann tacaíocht ó bhunachair shonraí dlúthúla gaolmhara cosúil le Oracle agus Microsoft SQL Server. Díríonn an t-alt seo ar na meicníochtaí slándála atá coiteann do gach bunachar sonraí a chuireann an Teanga Iarratas Struchtúrtha (nó SQL ) i bhfeidhm. Le chéile, beimid ag siúl tríd an bpróiseas chun rialuithe rochtana sonraí a neartú agus sábháilteacht do chuid sonraí a chinntiú.

Úsáideoirí

Tacaíonn bunachair sonraí bunaithe ar fhreastalaí go léir coincheap úsáideora cosúil leis an úsáid a úsáidtear i gcórais oibriúcháin ríomhaire. Má tá tú eolach ar an ordlathas úsáideora / grúpa a fhaightear i Microsoft Windows NT agus Windows 2000, feicfidh tú go bhfuil an grúpa úsáideora / ról atá tacaithe ag SQL Server agus Oracle an-chosúil.

Moltar go mór duit cuntais úsáideora bunachar sonraí aonair a chruthú do gach duine a bheidh ag teacht ar do bhunachar sonraí. Tá sé indéanta go teicniúil roinnt cuntais idir úsáideoirí a roinnt nó úsáid a bhaint as cuntas úsáideora amháin do gach cineál úsáideora a dteastaíonn rochtain ar do bhunachar sonraí, ach déantar an cleachtas seo a dhíspreagadh go láidir ar dhá chúis. Ar dtús, cuirfidh sé deireadh le cuntasacht aonair-má dhéanann úsáideoir athrú ar do bhunachar sonraí (a rá trí ardú $ 5,000 a thabhairt dó féin), ní bheidh tú in ann é a chur ar ais chuig duine ar leith trí úsáid a bhaint as loganna iniúchóireachta. Ina theannta sin, má fhágann úsáideoir ar leith d'eagraíocht agus gur mhaith leat rochtain a fháil uirthi ón mbunachar sonraí, beidh ort iallach an focal faire a athrú a bhfuil na húsáideoirí ar fad ag brath orthu.

Athraíonn na modhanna chun cuntais úsáideora a chruthú ó ardán go ardán agus beidh ort dul i gcomhairle le do dhoiciméadú DBMS-shonrach don nós imeachta cruinn. Ba cheart d'úsáideoirí Microsoft SQL Server imscrúdú a dhéanamh ar úsáid an nós imeachta sp_adduser stóráilte. Gheobhaidh riarthóirí bunachar sonraí Oracle an t-ordú USER CREATE úsáideach. B'fhéidir gur mhaith leat scrúdú a dhéanamh ar scéimeanna eile fíordheimhnithe. Mar shampla, tacaíonn Microsoft SQL Server le húsáid Windows NT Integrated Security. Faoin scéim seo, aithnítear a n-úsáideoirí don bhunachar sonraí de réir a gcuntas úsáideoirí Windows NT agus ní gá dóibh ID agus úsáideora breise a chur isteach chun rochtain a fháil ar an mbunachar sonraí. Tá an cur chuige seo thar a bheith tóir i measc riarthóirí bunachar sonraí toisc go n-athraíonn sé ualach na bainistíochta cuntais ar fhoireann riaracháin an líonra agus go gcuireann sé éasca comhartha amháin ar fáil don úsáideoir deiridh.

Rólanna

Má tá tú i dtimpeallacht le líon beag úsáideoirí, is dócha go bhfaighidh tú go bhfuil cuntais úsáideora á chruthú agus ceadanna a shannadh go díreach leo go leor do do chuid riachtanas. Mar sin féin, má tá líon mór úsáideoirí agat, is dóichí go mbeidh an t-ualach ar chuntas cuntais agus ceadanna cuí á sheachaint ort. Chun an t-ualach seo a mhaolú, tacaíonn bunachair sonraí coibhneasta leis an gcoimisiún róil. Feidhmíonn ról bunachar sonraí i ngrúpaí Windows NT mar an gcéanna. Sannfar cuntais úsáideora don ról / na ról (í) agus tugtar ceadanna ansin don ról ina iomláine seachas na cuntais úsáideora aonair. Mar shampla, d'fhéadfaimis ról DBA a chruthú agus cuntais úsáideora ár bhfoireann riaracháin a chur leis an ról seo. Nuair a dhéanaimid é seo, is féidir linn cead sonrach a shannadh do na riarthóirí atá ann faoi láthair (agus sa todhchaí) trína shannadh an cead go dtí an ról. Arís eile, athraíonn na nósanna imeachta chun rólanna a chruthú ó ardán go ardán. Ba chóir do riarthóirí Freastalaí MS SQL an nós imeachta sp_addrole a stóráil a fhiosrú agus ba chóir do Oracle DBAs an chomhréireacht RÉITHE CREATE a úsáid.

Ceadanna a Dheonú

Anois go bhfuil úsáideoirí breise curtha inár mbunachar sonraí, tá sé in am tús a chur le slándáil a neartú trí chead a chur leis. Is é an chéad chéim atá againn ná ceadanna bunachar sonraí cuí a dheonú dár n-úsáideoirí. Déanfaimid é seo a bhaint amach trí úsáid a bhaint as an ráiteas SQL GRANT.

Seo comhréireacht an ráitis:

DEONTAS
[AR ]
DO <úsáideoir / ról>
[LEIS AN ROGH DEONTAS]

Anois, déanaimis féachaint ar an ráiteas seo líne-ar-líne. Ceadaíonn an chéad líne, ceadanna

Úsáidtear an dara líne, AR chun an tábla atá i gceist le haghaidh ceadanna leibhéal tábla a shonrú. Tá an líne seo fágtha ar lár má tá ceadanna leibhéal bunachar sonraí á dheonú againn. Sonraíonn an tríú líne an t-úsáideoir nó an ról atá á gceadú.

Mar fhocal scoir, is é an ceathrú líne, LE ROGHA DEONTAIS, roghnach. Má tá an líne seo san áireamh sa ráiteas, tá cead ag an úsáideoir atá i gceist na ceadanna céanna a dheonú d'úsáideoirí eile freisin. Tabhair faoi deara nach féidir leis an RANNAS DEONTAIS a shonrú nuair a sannfar ról ar na ceadanna.

Samplaí

Breathnaímid ar roinnt samplaí. Sa chéad chás, d'fhostaigh muid le grúpa 42 oibreoir iontrála sonraí a chuirfidh taifid chustaiméirí ar fáil agus a chothabháil. Caithfidh siad a bheith in ann rochtain a fháil ar fhaisnéis i dtábla na gCustaiméirí, an fhaisnéis seo a mhodhnú agus taifid nua a chur leis an tábla. Níor cheart go mbeadh siad in ann taifead ón mbunachar sonraí a scriosadh go hiomlán. Ar dtús, ba cheart dúinn cuntais úsáideora a chruthú do gach oibreoir agus ansin ról nua a chur leo, DataEntry. Arís, ba cheart dúinn an ráiteas SQL seo a leanas a úsáid chun na ceadanna cuí a thabhairt dóibh:

DEARADH, GRÁDÚ, Suas chun dáta
AR Custaiméirí
DO Sonraí Eolais

Agus is é sin go léir ann! Anois, déanaimis scrúdú ar chás ina bhfuil ceadanna leibhéal bunachar sonraí á shannadh againn. Ba mhaith linn ligean do bhaill ról an DBA táblaí nua a chur lenár mbunachar sonraí. Ina theannta sin, ba mhaith linn iad a bheith in ann cead a thabhairt d'úsáideoirí eile an rud céanna a dhéanamh. Seo an ráiteas SQL:

TÁBLA CREATE DEONTAS
DO DBA
LE ROGH DEONTAS

Tabhair faoi deara go bhfuil líne IOMHÁIL DEONTAIS san áireamh againn chun a chinntiú go bhféadfaidh ár DBA an cead seo a shannadh d'úsáideoirí eile.

Ceadanna a bhaint

Nuair a bheidh ceadanna tugtha againn, is gá go minic é a chúlghairm níos déanaí. Ar an drochuair, soláthraíonn SQL ordú REVOKE dúinn le ceadanna a dheonaíodh roimhe seo a bhaint. Seo an comhréir:

REVOKE [ROGH DEONTAS DO]
AR
Ó <úsáideoir / ról>

Feicfidh tú go bhfuil comhréireacht an ordaithe seo cosúil leis an gceann deontais. Is é an t-aon difríocht ná go bhfuil LE ROGHA DEONTAS sonraithe ar an líne ordaithe REVOKE seachas ag deireadh an orduithe. Mar shampla, is féidir linn a shamhlú gur mhaith linn cead a dheonaigh roimh Mhuire a tharraingt siar chun taifid a bhaint as bunachar sonraí na gCustaiméirí. Ba mhaith linn an t-ordú seo a leanas a úsáid:

DEARTHAÍ ATHBHREITHNIÚ
AR Custaiméirí
Ó Mary

Agus is é sin go léir ann! Tá meicníocht bhreise amháin ann le tacaíocht ó Microsoft SQL Server is fiú a lua-ordú DENY. Is féidir an t-ordú seo a úsáid chun cead a dhiúltú go sainráite d'úsáideoir a d'fhéadfadh a bheith acu ar shlí eile trí bhallraíocht ról reatha nó sa todhchaí. Seo an comhréir:

DENY
AR
DO <úsáideoir / ról

Samplaí

Ag filleadh ar ár sampla roimhe seo, déanaimis a shamhlú go raibh Mary mar bhall de ról na mBainisteoirí a raibh rochtain aige freisin ar an gclár Custaiméirí. Ní bheadh ​​an ráiteas REVOKE roimhe seo leordhóthanach chun rochtain a fháil di ar an mbord. Bainfeadh sé an cead a tugadh di trí ráiteas DEONTÁIN a dhírigh ar a gcuntas úsáideora, ach ní dhéanfadh sé difear do na ceadanna a fuarthas trína ballraíocht i ról na mBainisteoirí. Mar sin féin, má úsáidimid ráiteas DENY cuirfidh sé bac ar a oidhreacht an chead. Seo an t-ordú:

DENY DELETE
AR Custaiméirí
DO Mhuire

Go bunúsach cruthaítear "cead diúltach" i gceannas rialuithe rochtain an bhunachar sonraí. Má chinneann muid níos déanaí cead a thabhairt do Mhuire sraitheanna a bhaint as tábla na gCustaiméirí, ní féidir linn an t-ordú GRANT a úsáid. Rinne an DENY atá ann faoi láthair an t-ordú sin a dhíchur. Ina áit sin, ba mhaith linn an chéad ordú REVOKE a bhaint as an iontráil cead diúltach a bhaint mar seo a leanas:

DEARTHAÍ ATHBHREITHNIÚ
AR Custaiméirí
Ó Mary

Feicfidh tú go bhfuil an t-ordú seo mar an gcéanna leis an gceann a úsáidtear chun cead dearfach a bhaint. Cuimhnigh go n-ordaíonn an DENY and DETAIN an dá obair ar bhealach cosúil leis sin; cruthaíonn siad cead (dearfach nó diúltach) i meicníocht rialaithe rochtana an bhunachar sonraí. Cuireann an t-ordú REVOKE gach cead dearfach agus diúltach ar fáil don úsáideoir sonraithe. Nuair a bheidh an t-ordú seo eisithe, beidh in ann Máire sraitheanna a scriosadh ón tábla má tá sí ina bhall de ról a bhfuil an cead sin aige. Mar mhalairt air sin, d'fhéadfaí ordú GRANT a eisiúint chun cead DELETE a sholáthar go díreach dá cuntas.

Le linn an ailt seo, d'fhoghlaim tú go leor faoi na meicníochtaí rialaithe rochtana a fhaigheann tacaíocht ón Teanga Caighdeánach Iarratas. Ba cheart go gcuirfeadh an réamhrá seo tús tosaithe maith duit, ach spreagfaidh mé duit do dhoiciméadú DBMS a threorú chun na bearta slándála feabhsaithe a fhaigheann tacaíocht ó do chóras a fhoghlaim. Feicfidh tú go bhfuil go leor bunachair shonraí ag tacú le meicníochtaí rialaithe rochtana níos airde, cosúil le ceadanna a dheonú ar cholúin ar leith.