ПостгреСКЛ додели све привилегије на шеми кориснику

Postgreskl Dodeli Sve Privilegije Na Semi Korisniku



Базе података су кључне, а посао је администратора да контролише које различите улоге корисници могу да обављају у датој бази података. Као део ауторизације, администратор може дефинисати корисничке ентитете унутар базе података и доделити или опозвати различите привилегије улогама.

На тај начин постижете контролу над тим ко може да приступи бази података и које привилегије има ако може да приступи бази података. На пример, можете опозвати измену базе података или доделити све привилегије на шеми кориснику или корисницима у датој табели. Овај водич описује како да користите ПостгреСКЛ да кориснику доделите све привилегије на шеми.







Како доделити привилегије корисницима на ПостгреСКЛ-у

Када креирате нову улогу, они подразумевано добијају неке привилегије. Међутим, већина привилегија захтева да их администратор додели различитим корисницима како би регулисао приступ и контролу шеме. Можете доделити све привилегије одједном или засебно.



За овај водич, хајде да направимо нови улога назван линукхинт1 .



$ судо -иу постгрес
# креирај улогу линукхинт1 лозинку за пријаву 'линукхинт';


Имајте на уму да смо пријављени као постгрес, подразумевана улога креирана када инсталирате ПостгреСКЛ.






Са креираном улогом (корисником), можемо навести доступне улоге помоћу следеће команде:

# \ из


Доступне улоге ће бити приказане у облику табеле.




Постгрес је подразумевана улога и има већину већ додељених привилегија. Међутим, нова улога, линукхинт1, нема привилегије док ми то не одобримо.

1. Додељивање посебне привилегије кориснику

Креирана улога не може да мења шему осим ако то не дозволите. Хајде да то проверимо тако што ћемо прво креирати табелу као подразумевану улогу, постгрес.

# креирајте имена табела ( м_ид инт се увек генерише као идентитет, фнаме вацхар ( 100 ) није нулл, лнаме варцхар ( 100 ) није нулл, старост инт ) ;



Можете навести доступне односе, као што је приказано у наставку:


Затим отворите нову шкољку и пријавите се на ПостгреСКЛ користећи другу улогу, линукхинт1, коју смо раније креирали користећи следећу команду:

$ пскл -ИН линукхинт1 постгрес



Тхе одређује да је улога коришћење Постгрес базе података.

Покушајте да прочитате садржај табеле коју смо направили користећи СЕЛЕЦТ команда.

# СЕЛЕЦТ * ИЗ имена;


Враћа а дозвола одбијена грешка која спречава корисника да приступи табели.


У том случају, морамо да доделимо привилегије улоге да бирамо/прегледамо податке из дате табеле користећи следећу синтаксу:

# ГРАНТ привилеге_наме ОН табле_наме ТО роле_наме;


Да бисте доделили привилегије, користите Постгрес сесију.


Када се одобри, покушајте да поново покренете претходну команду.


То је то. Успели сте да доделите привилегију избора одређеном кориснику.

2. Додељивање свих привилегија на шеми кориснику

До сада смо успели да доделимо само једну привилегију на шему кориснику. Па, то није довољно. Корисник не може да мења шему осим ако јој не доделите све привилегије, као што су уметање и ажурирање.

Постоје различити начини да се то постигне. Прво, хајде доделите кориснику све привилегије за дату табелу користећи следећу синтаксу:

# ГРАНТ АЛЛ ОН табле_наме ТО роле_наме;



Корисник може да комуницира са одређеном табелом и да је мења. Међутим, не могу да раде са другим табелама у шеми.

До доделити све привилегије за све табеле у одређеној шеми , користите следећу синтаксу:

# ГРАНТ АЛЛ НА СВИМ ТАБЛИЦАМА У ШЕМИ сцхема_наме ТО роле_наме;



На крају, можете доделити одређене привилегије, као што је уметање или избор свих табела на шеми датој улози .

# ГРАНТ привилеге_наме НА СВИМ ТАБЛИЦАМА У ШЕМИ сцхема_наме ТО роле_наме;



Улога може да изабере податке у свим табелама у наведеној шеми. Тако дефинишете које привилегије ћете доделити на шеми различитим корисницима.

Закључак

ПостгреСКЛ је моћан ДБМС. Има различите функције, укључујући омогућавање администратору да додели различите привилегије корисницима. Додељивање свих привилегија на шеми корисницима значи допуштање кориснику да мења и комуницира са свим табелама у наведеној шеми. Видели смо како да применимо то и друге начине давања привилегија на шеми улогама користећи наредбу ГРАНТ у ПостгреСКЛ-у.