SQL Server 2005: права доступа типа – Control


?????? ?? ?? ???


 


? SQL Server 2005 ???????? ???? ???????????? ????? ?????? ???? Control ? ??????? (???????, ???? ? ?.?.), ??????? ?????????? ???? ?? ?? ?????, ??? ? ? ???????????? ???????.


 


??????:


GRANT CONTROL


ON t_Table TO Uesr1


GO


 


Control ????? ????????? ???????????.


?????? ??????? ?????????????? ???? ??????? ? ??????? ?????????????? ?????? ????????, ?? ??????, ???? ? ?????????? ??? ????? ????? ???????? ? ?????????????? ????? Cascade.


 


????????:


1. ???????????? User1 ??? ????? ??????? ???? Select ? ??????? Table ???????????? User2;


2. ????? ???????????? User1 ?? ??????? ? ??????? Table ???? ???????? ? ?????????????? ????? Cascade;


3. ? ?????????? User2 ????? ??????? ???? ??????? ? ???????.


 


? Control ???????? ???????? ?????.


 


??????:


 


1.???????? ??????? ??? ????? ??????? ? ??????? ???? Control ???????????? User1 ? ?????????????? ????? GRANT OPTION;


2.???????????? User1 ??? ????? ??????? ???? Control ???????????? User2;


3.????? ???????????? User1 ?? ??????? ? ??????? ???? ???????? ? ?????????????? ????? Cascade;


4.???????????? User2 ??-???????? ????? ????? Control ?? ??????.


 


Grant Control on T


to usr1


WITH GRANT OPTION


go


 


Execute as user = ‘usr1’


go


 


Grant Control on T


to usr2


go


 


REVERT


go


 


Revoke Control on T


from usr1 Cascade


go


 


Usr2 ??-???????? ????? ????? Control ?? T


 


??? ?????? ??? ????????


???? ?????????, ????? ????? Control ???? ???????? ? ???? ?????????????, ??????? ?? ??? User1, User1 ?????? ???? ???? ?????? ? ?????? ?????????????? ???? ??????? ????????????:


 


Grant Control on T


to usr2


as usr1


go


Comments (1)

  1. Anonymous says:

    Cпасибо за интересное замечание,

    оно навело меня на определенные мысли:

    правильно ли будет сказать, что в общем случае, если user имеет effective permission CONTROL на объект, то разрешения на этот объект , данные им другим user’ам , будут фактически выданы от владельца этого объекта (то есть , в поле grantor будет указан owner этого объекта)???

    Если так, то почему, кстати??