Све релационо системи за управљање базама података пружају неку врсту унутрашњих сигурносних механизама дизајнираних да минимизирају претње губитком података, оштећењем података или крађом података. Они се крећу од једноставне заштите лозинком коју нуди Мицрософт Аццесс до сложене структуре корисника / улоге подржане напредним релационим базама података попут Орацле иМицрософт СКЛ Сервер. Неки сигурносни механизми су заједнички свим базама података које примењујуСтруктурирани језик упита.
Безбедност на нивоу корисника
Серверске базе података подржавају а корисник концепт сличан оном који се користи у рачунарским оперативним системима. Ако сте упознати са хијерархијом корисника / групе која се налази у Мицрософт Виндовс НТ и Виндовс 2000, открићете да су групе корисника / улога које подржавају СКЛ Сервер и Орацле сличне.
Направите појединачне корисничке налоге базе података за сваку особу која има приступ вашој бази података.
Избегавајте давање генеричких рачуна којима може да приступа неколико различитих људи. Прво, ова пракса елиминише индивидуалну одговорност - ако корисник изврши промену у вашој бази података (рецимо по дајући себи повишицу од 5.000 УСД), нећете моћи да је вратите одређеној особи помоћу ревизије трупци. Друго, ако одређени корисник напусти вашу организацију и желите да уклоните његов приступ из базе података, морате променити лозинку на коју се сви корисници ослањају.
Методе за креирање корисничких рачуна разликују се од платформе до платформе и за тачан поступак мораћете да погледате документацију специфичну за ДБМС. Корисници Мицрософт СКЛ Сервера треба да испитају употребу сп_аддусер похрањени поступак. Администратори Орацле базе података ће пронаћи НАПРАВИ КОРИСНИКА наредба корисна. Такође ћете можда желети да истражите алтернативне шеме за потврду идентитета. На пример, Мицрософт СКЛ Сервер подржава употребу интегрисане безбедности Виндовс НТ. Према овој шеми, корисници су идентификовани у бази података помоћу њихових Виндовс НТ корисничких налога и није им потребно да уносе додатни кориснички ИД и лозинку за приступ бази података. Овај приступ је популаран међу администраторима база података јер пребацује терет рачуна управљање особљем мрежне администрације и пружа лакоћу јединствене пријаве на крајњи корисник.
Безбедност на нивоу улоге
Ако се налазите у окружењу са малим бројем корисника, вероватно ћете открити да је стварање корисничких налога и додељивање дозвола директно њима довољно за ваше потребе. Међутим, ако имате велики број корисника, бићете презадовољни одржавањем налога и одговарајућим дозволама. Да би се олакшао овај терет, подржавају релационе базе података улоге. Улоге базе података функционишу слично Виндовс НТ групама. Кориснички налози се додељују улогама, а затим се дозволе додељују улози у целини, а не појединачним корисничким налозима. На пример, можете створити ДБА улогу, а затим јој додати корисничке налоге административног особља. После тога можете доделити одређену дозволу свим садашњим (и будућим) администраторима једноставним додељивањем дозволе улози. Још једном, процедуре за креирање улога разликују се од платформе до платформе. Администратори МС СКЛ Сервера треба да истраже сп_аддроле похрањену процедуру док би Орацле ДБА требало да користе СТВОРИ УЛОГУ синтакса.
Давање дозвола
Сада када смо додали кориснике у нашу базу података, време је да започнемо јачање безбедности додавањем дозвола. Наш први корак биће пружање одговарајућих дозвола за базе података нашим корисницима. То ћемо постићи употребом СКЛ ГРАНТ наредбе.
Ево синтаксе изјаве:
ОДОБРИТИ.
[НА.
ДО.
[СА ДОДАТНОМ ОПЦИЈОМ]
Сада, погледајмо ову изјаву ред по ред. Прва линија, ОДОБРИТИ , омогућава нам да одредимо одређене дозволе табеле које додељујемо. То могу бити дозволе на нивоу табеле (као што су СЕЛЕЦТ, ИНСЕРТ, УПДАТЕ и ДЕЛЕТЕ) или дозволе базе података (попут ЦРЕАТЕ ТАБЛЕ, АЛТЕР ДАТАБАСЕ и ГРАНТ). У једној наредби ГРАНТ може се доделити више дозвола, али дозволе на нивоу табеле и дозволе на нивоу базе података не могу се комбиновати у једној изјави.
Друга линија, НА
Коначно, четврти ред, СА ДОДАТНОМ ОПЦИЈОМ, није обавезно. Ако је овај ред укључен у изјаву, погођени корисник такође сме да додели те исте дозволе другим корисницима. Имајте на уму да се опција ВИТХ ГРАНТ ОПТИОН не може навести када су дозволе додијељене улози.
Примери грантова за базу података
Погледајмо неколико примера. У нашем првом сценарију недавно смо ангажовали групу од 42 оператора за унос података који ће додавати и одржавати евиденцију купаца. Морају приступити информацијама у табели Купци, изменити их и додати нове записе у табелу. Не би требало да буду у могућности да у потпуности избришу запис из базе података.
Прво, требали бисмо створити корисничке налоге за сваког оператора, а затим их све додати у нову улогу, Унос података. Даље, требало би да користимо следећу СКЛ наредбу да бисмо им доделили одговарајуће дозволе:
ДОДАТИ ОДАБИР, УМЕТНИ, АЖУРИРАЊЕ
ОН Купци.
ТО ДатаЕнтри.
Сада ћемо испитати случај када додељујемо дозволе на нивоу базе података. Желимо да омогућимо члановима ДБА улоге да додају нове табеле у нашу базу података. Даље, желимо да они могу да дозволе другим корисницима да учине исто. Ево СКЛ изјаве:
ДОДАТИ СТВАРАЊЕ ТАБЕЛЕ.
ТО ДБА.
СА ДОДАТНОМ ОПЦИЈОМ.
Приметите да смо укључили линију ВИТХ ГРАНТ ОПТИОН како бисмо осигурали да наши ДБА могу доделити ову дозволу другим корисницима.
Уклањање дозвола
СКЛ укључује наредбу РЕВОКЕ за уклањање претходно додељених дозвола. Ево синтаксе:
ОПОЗИВИ [ДОДАТНУ ОПЦИЈУ ЗА]
НА.
ОД.
Приметићете да је синтакса ове наредбе слична синтакси наредбе ГРАНТ. Једина разлика је у томе што је ВИТХ ГРАНТ ОПТИОН наведена на наредбеној линији РЕВОКЕ, а не на крају наредбе. Као пример, замислимо да желимо да опозовемо Маријино претходно одобрење за уклањање записа из базе података о купцима. Користили бисмо следећу команду:
ОЗОВИ ДЕЛЕТЕ.
ОН Купци.
ОД Марије.
Постоји још један додатни механизам који подржава Мицрософт СКЛ Сервер, а вреди помена - наредба ДЕНИ. Ова наредба се може користити за изричито ускраћивање дозволе кориснику коју би иначе могао имати путем тренутног или будућег чланства у улози. Ево синтаксе:
НЕГИРАТИ.
НА.
ДО.