Kev tswj ntawm cov neeg siv thiab cov luag haujlwm hauv SQL

Kev ruaj ntseg yog qhov tseem ceeb rau cov thawj xibfwb ntawm cov neeg nrhiav kev tiv thaiv lawv cov gigabytes ntawm cov lag luam tseem ceeb ntawm cov ntaub ntawv ntawm cov neeg tsis muaj kev tso cai thiab cov neeg nkag siab sim tshaj lawv txoj cai. Tag nrho cov kev sib txuas lus database system muab qee yam ntawm kev ruaj ntseg mechanisms tsim los txo cov kev hem. Lawv khwv los ntawm qhov yooj yim password tiv thaiv los ntawm Microsoft Access rau cov neeg siv txoj hauj lwm / lub luag hauj lwm tus qauv uas tau txais kev txhawb los ntawm kev paub zoo tshaj plaws databases zoo li Oracle thiab Microsoft SQL Server. Tsab xov xwm no tsom rua kev ruaj ntseg mechanisms ntau rau tag nrho cov databases uas siv cov Lus Siv Lus Askiv Structured Language (los yog SQL ). Ua ke, peb yuav taug kev los ntawm txoj kev tsim kho cov ntaub ntawv tswj xyuas cov ntaub ntawv thiab ua kom muaj kev ruaj ntseg ntawm koj cov ntaub ntawv.

Cov neeg siv

Cov neeg siv kev lag luam raws li databases tag nrho cov kev txhawb nqa tus neeg siv tswvyim zoo li uas siv hauv computer operating systems. Yog hais tias koj paub nrog cov neeg siv / pawg hierarchy pom hauv Microsoft Windows NT thiab lub Windows 2000, koj yuav pom tau tias tus neeg siv / lub luag haujlwm pabcuam los ntawm SQL neeg rau zaub mov thiab Oracle yog qhov zoo sib xws.

Nws yog mas pom zoo kom koj tsim ib tus neeg siv database tus account rau txhua tus neeg uas yuav nkag tau koj cov database. Nws yog technically tau sib koom ntawm cov neeg siv los sis tsuas siv ib tus account neeg siv rau txhua hom neeg siv uas yuav tsum tau siv koj cov database, tab sis kuv xav thuam qhov kev xyaum no rau ob lub hauv paus. Ua ntej, nws yuav tshem tawm cov kev lav phij xauj ntawm tus kheej-yog tias tus neeg siv hloov kho rau koj tus database (lauj lem hais tias muab nws tus kheej nce $ 5,000), koj yuav tsis muaj peev xwm nrhiav nws rov qab rau ib tus neeg los ntawm kev siv cov ntawv tshawb xyuas. Txuas ntxiv, yog tias ib tug neeg siv tawm tawm koj lub koom haum thiab koj xav tshem nws nkag los ntawm tus database, koj yuav raug yuam kom hloov tus password uas tag nrho cov neeg siv khi.

Cov hau kev tsim cov neeg siv thev nyiaj sib txawv ntawm platform rau platform thiab koj yuav tau tuaj nrog koj cov ntaub ntawv DBMS rau cov txheej txheem khiav. Microsoft SQL Server neeg siv yuav tsum tshawb xyuas kev siv cov sp_adduser stored procedure. Oracle database cov thawj xibfwb yuav pom tias qhov TSEEM CEEB THAWJ ua haujlwm pab tau. Koj kuj tseem xav tshawb xyuas lwm cov tswv yim qhia tawm. Piv txwv, Microsoft SQL neeg rau zaub mov siv cov kev siv Windows NT Integrated Security. Raws li lub tswv yim no, cov neeg siv tau muab teev rau hauv cov ntaub ntawv los ntawm lawv cov neeg siv hauv Windows NT thiab tsis tas yuav nkag mus rau ib qho ntxiv neeg tus ID thiab lo lus zais nkag mus rau lub database. Qhov kev qhia no tsis tshua muaj neeg nyiam cov thawj xibfwb vim tias nws hloov lub nra ntawm kev tswj xyuas nyiaj txiag rau cov neeg khiav dej num hauv lub koomhaum thiab nws muab qhov yooj yim ntawm ib tus neeg siv los xaus.

Cov luag hauj lwm

Yog tias koj nyob hauv ib cheeb tsam nrog ib tus neeg tsawg, koj yuav pom tias tsim kom muaj neeg siv nyiaj thiab muab kev tso cai ncaj nraim rau lawv txaus rau koj cov kev xav tau. Txawm li cas los xij, yog tias koj muaj ntau tus neeg siv, koj feem ntau yuav poob siab los ntawm lub nra ntawm kev tswj nyiaj thiab kev tso cai. Yuav ua kom yooj yim no lub nra hnyav, cov khab nias tawm tswv yim txhawb qhov kev xav ntawm cov luag haujlwm. Database cwj pwm ua haujlwm zoo ib yam li Windows NT pawg. Cov neeg siv nyiaj tau muab tso rau cov luag hauj lwm (s) thiab cov kev tso cai raug muab tso rau lub luag hauj lwm raws li tag nrho es tsis yog tus neeg siv nyiaj. Piv txwv, peb muaj peev xwm tsim DBA lub luag haujlwm thiab tom qab ntawd ntxiv cov neeg siv nyiaj ntawm peb cov neeg ua haujlwm rau cov haujlwm no. Thaum peb tau ua li no lawm, peb tuaj yeem tso cai rau txhua tus neeg ua haujlwm tam sim no (thiab yav tom ntej) los ntawm kev tso cai rau lub luag haujlwm. Ib zaug ntxiv, cov txheej txheem tsim cov cwj pwm txawv ntawm qhov txawv ntawm lub platform mus rau qhov chaw. MS SQL Server neeg khiav dej num yuav tsum tshawb xyuas sp_addrole stored txheej txheem thaum Oracle DBAs yuav tsum siv cov CREATE ROLE syntax.

Cov Ntawv Tso Cai

Tam sim no hais tias peb tau ntxiv cov neeg siv rau peb database, nws yog lub sij hawm pib kev ruaj ntseg los ntawm kev ntxiv kev tso cai. Peb thawj kauj ruam yuav muab cov ntaub ntawv tso cai tsim nyog rau peb cov neeg siv. Peb mam li ua tiav qhov no los ntawm kev siv cov lus SQL SQL lus.

Ntawm no yog cov syntax ntawm nqe lus:

GRANT
[HAUV ]
RAU
[NROG TSEV KOM TSIM NYOG]

Tam sim no, cia peb saib cov kab lus ntawm kab no. Thawj kab, GRANT , tso cai rau peb kom qhia meej txog cov lus tso cai ntawm peb cov lus tso cai. Cov no tuaj yeem yog cov lus tso cai ntawm lub rooj sib tham (xws li xaiv, INSERT, Hloov tshiab thiab rho tawm) lossis cov ntaub ntawv tso cai (xws li CREATE TABLE, ALTER DATABASE thiab GRANT). Ntau tshaj ib qho kev tso cai tau muab tso rau hauv ib daim ntawv tso cai GRANT, tab sis cov lus tso cai ntawm cov cai thiab cov ntaub ntawv tso cai tsis pub koom ua ke rau hauv ib daim ntawv.

Qhov thib ob kab, HAUV , yog siv los qhia meej txog lub rooj rau cov lus tso cai rau sawv cev. Cov kab no rho tawm yog tias peb tau tso cai rau database-level permissions. Cov kab thib peb qhia txog tus neeg siv lossis lub luag haujlwm uas tau txais kev tso cai.

Thaum kawg, kab thib plaub, NROG GRANT OPTION, yog nyob ntawm koj xaiv. Yog tias cov kab no muaj nyob rau hauv nqe lus, tus neeg siv tau cuam tshuam los kuj tau tso cai rau tib cov cai no rau lwm cov neeg siv. Nco ntsoov tias NROG GRANT OPTION tsis tuaj yeem muab teev cia thaum tso cai rau lub luag haujlwm.

Piv txwv

Cia peb saib ob peb qhov qauv. Nyob rau hauv peb cov thawj scenario, peb nyuam qhuav tau ntiav ib pawg ntawm 42 cov ntaub ntawv nkag teb chaws uas yuav ntxiv thiab tswj cov ntaub ntawv qhua tuaj noj mov. Lawv yuav tsum muaj peev xwm nkag tau cov ntaub ntawv hauv Cov Neeg Tau Txais Cov Ntaub Ntawv, hloov cov ntaub ntawv no thiab ntxiv cov ntaub ntawv tshiab rau saum rooj. Lawv yuav tsum tsis muaj peev xwm rho tawm ib cov ntaub ntawv los ntawm lub database. Ua ntej, peb yuav tsum tsim cov neeg siv nyiaj rau txhua tus neeg teb xov tooj thiab tom qab ntawd ntxiv tag nrho rau lub luag haujlwm tshiab, DataEntry. Tom ntej no, peb yuav tsum siv cov lus nram qab no rau SQL los tso cai rau lawv tsim nyog:

GRANT SELECT, INSERT, UPDATE
ON Cov neeg muas zaub
MLOOG cov ntaub ntawv

Thiab yog txhua yam muaj rau nws! Tam sim no cia saib xyuas ib rooj plaub uas peb tau tso cai rau database-level permissions. Peb xav pub cov tswv cuab ntawm DBA lub luag haujlwm los ntxiv cov tshiab cov rooj rau peb cov ntaub ntawv. Tsis tas li ntawd xwb, peb xav kom lawv muaj peev xwm pub lwm tus neeg tso cai los ua tib yam. Ntawm no yog qhov SQL statement:

GRANT CREATE LUB ROOJ
DBA
NROG GRANT OPTION

Daim ntawv ceeb toom hais tias peb tau koom nrog NROG QHOV KEV PAB QHIA kom paub meej tias peb cov DBAs tso cai rau lwm tus siv.

Tshem Tso Cai

Thaum peb tau txais kev tso cai lawm, feem ntau qhia tau tias yuav tsum tau tshem tawm lawv thaum hnub tom qab. Tsi, SQL muab peb nrog REVOKE hais kom tshem tau cov ntawv tso cai yav dhau los. Ntawm no yog cov syntax:

REVOKE [QHOV CHAW XAIV KEV PAB]
ON
Ntawm

Koj yuav pom tias cov syntax ntawm cov lus txib no zoo ib yam li cov lus hais ntawm GRANT. Qhov txawv tsuas yog tias NROG LUS OPTION yog sau tseg rau ntawm qhov REVOKE hais kom ua qhov kawg ntawm qhov kev hais kom ua. Ua ib qho piv txwv, cia peb xav tias peb xav tshem tawm Mary lub tswv yim yav tas los tso cai rau tshem tawm cov ntaub ntawv los ntawm Cov Neeg Siv Khoom. Peb yuav siv cov lus txib nram qab no:

REVOKE DELETE
ON Cov neeg muas zaub
LOS NTAWM Maivliag

Thiab yog txhua yam muaj rau nws! Yog ib qho ntxiv kev txhawb zog los ntawm Microsoft SQL Office uas yog qhov tseem ceeb-qhov DENY hais kom ua. Cov lus txib no siv tau los txwv tsis pub muaj kev tso cai rau tus neeg siv tias lawv yuav tsis muaj los ntawm kev ua tswv cuab tam sim no los yog yav tom ntej. Ntawm no yog cov syntax:

DENY
ON
RAU

Piv txwv

Rov qab los rau peb yav dhau los piv txwv, cia peb xav tias Mary kuj yog ib tug tswv cuab ntawm cov Thawj Coj cov hauj lwm uas tau nkag mus rau Cov Neeg Muas. Daim ntawv REVOKE dhau los yuav tsis txaus los txwv nws nkag mus rau lub rooj. Nws yuav tshem tawm qhov kev tso cai muab rau nws los ntawm GRANT tsab ntawv ceeb toom rau nws tus account tus neeg siv, tab sis yuav tsis cuam tshuam cov cai tau txais los ntawm nws tus tswv cuab hauv Cov Thawj Coj. Txawm li cas los xij, yog tias peb siv DENY nqe lus nws yuav thaiv qhov qub txeeg qub teg ntawm qhov kev tso cai. Ntawm no yog qhov hais kom ua:

TSIS TXHOB RHO TAWM
ON Cov neeg muas zaub
Maiv Liag

DENY hais kom ua tau zoo tsim ib "tsis pom zoo" nyob rau hauv cov ntaub ntawv database access. Yog tias tom qab peb txiav txim siab los muab kev tso cai rau Mary tshem tawm cov kab ntawm cov neeg muas zaub, peb tsis tuaj yeem siv qhov kev txiav txim GRANT. Qhov kev hais kom ua tam sim ntawd yuav tsum tau kho tam sim ntawd los ntawm DENY uas twb muaj lawm. Es tsis txhob, peb yuav xub siv cov lus txib REVOKE kom tshem tawm qhov kev tso cai tsis pom zoo raws li hauv qab no:

REVOKE DELETE
ON Cov neeg muas zaub
LOS NTAWM Maivliag

Koj yuav pom tias cov lus txib no yog tib yam nkaus li qhov uas siv los tshem tawm txoj kev tso cai. Nco ntsoov tias DENY thiab GRANT commands ob leeg ua haujlwm zoo sib xws * mdash; lawv ob leeg tsim permissions (zoo los yog tsis zoo) nyob rau hauv cov ntaub ntawv database tswj kev tswj. Cov lus txib REVOKE tshem tawm tag nrho cov kev pom zoo thiab kev tsis pom zoo rau tus neeg siv khoom siv. Thaum tau muab cov lus txib no tawm lawm, Maivliag yuav tshem tawm cov kab ntawm lub rooj yog tias nws yog tus tswv cuab ntawm lub luag haujlwm uas tau tso cai. Xwb, qhov kev txiav txim GRANT yuav muab xa mus muab DELETE tso cai ncaj nraim rau nws tus account.

Thoob plaws hauv chav kawm ntawm qhov tshooj no, koj twb kawm tau zoo txog qhov kev tswj xyuas cov tswv yim tswj raws li Standard Query Language. Qhov kev qhia no yuav tsum muab koj lub tswv yim zoo, tab sis kuv xav kom koj siv koj cov ntaub ntawv DBMS los kawm txog cov kev ruaj ntseg zoo tshaj plaws los ntawm koj lub cev. Koj yuav pom tau tias ntau lub databases txhawb kev tshaj li kev tswj xyuas mechanisms, xws li granting permissions ntawm txhua kab.