ГЛАВА 1
Технологии администрирования баз данных
1.4
Права на доступ к базе данных
Факт ус­та­нов­ле­ния со­еди­нения с сер­ве­ром еще не да­ет пользо­вате­лю пра­ва осу­щест­влять ма­нипу­ляции с объек­та­ми сер­ве­ра.
Для каж­дой БД SQL Server хра­нит не­зави­симый на­бор пользо­вате­лей и групп, в ко­торые они вхо­дят. По умол­ча­нию в каж­дой ба­зе су­щес­тву­ет пользо­ватель dbo — вла­делец БД, и груп­па public, к ко­торой при­над­ле­жат все име­на пользо­вате­лей этой ба­зы. Каж­дое имя пользо­вате­ля мо­жет до­пол­ни­тельно при­над­ле­жать еще и к дру­гим груп­пам. Вы­деля­ют­ся фик­си­рован­ные ро­ли БД, об­ла­да­ющие стан­дар­тным на­бором прав. Мо­гут быть соз­да­ны до­пол­ни­тельные груп­пы и им наз­на­чены пра­ва. На­бор фик­си­рован­ных ро­лей БД при­веден в табл. 1.2.
Таблица 1.2. Стандартные роли пользователей баз данных
Каж­дой ро­ли и (или) каж­до­му пользо­вате­лю БД мо­гут быть наз­на­чены пра­ва на лю­бой из объек­тов БД (чте­ние, за­пись, из­ме­нение, уда­ление дан­ных, вы­пол­не­ние ссы­лоч­ной це­лос­тнос­ти и вы­пол­не­ние про­цедур). Ес­ли име­ет­ся нес­колько пользо­вате­лей с оди­нако­выми пра­вами, то их сле­ду­ет объеди­нять в груп­пы и наз­на­чать пра­ва этой груп­пе.
Что­бы кон­крет­ный пользо­ватель имел дос­туп к БД, его учет­ная за­пись дол­жна быть ас­со­ци­иро­вана с ка­ким-ли­бо пользо­вате­лем в этой БД. Од­на учет­ная за­пись мо­жет со­от­ветс­тво­вать в раз­ных БД раз­ным пользо­вате­лям. В од­ной БД од­на учет­ная за­пись мо­жет со­от­ветс­тво­вать только од­но­му пользо­вате­лю. Один пользо­ватель БД мо­жет со­от­ветс­тво­вать не бо­лее чем од­ной учет­ной за­писи.
Ес­ли учет­ная за­пись не со­пос­тавле­на ни­како­му пользо­вате­лю БД, дос­туп к объек­там БД мож­но по­лучить, ес­ли в ней соз­дан спе­ци­альный пользо­ватель — Guest. Под этим име­нем дос­туп к объек­там БД по­луча­ют те, чья учет­ная за­пись не со­пос­тавле­на кон­крет­но­му пользо­вате­лю.
Учет­ные за­писи, вхо­дящие в сер­верную роль sysadmin, всег­да со­пос­тавля­ют­ся с пользо­вате­лем dbo да­же в том слу­чае, ес­ли ба­зу соз­да­вал ка­кой-ли­бо дру­гой пользо­ватель сер­ве­ра. Кро­ме то­го, пользо­вате­лям, при­меня­ющим Windows Authentication, мо­гут быть пре­дос­тавле­ны пра­ва на объек­ты БД нап­ря­мую, без пред­ва­рительно­го со­пос­тавле­ния с пользо­вате­лем БД. Од­на­ко де­лать это­го не ре­комен­ду­ет­ся.
В табл. 1.3 при­веде­ны ко­ман­ды, пред­став­ле­ния и фун­кции, пред­назна­чен­ные для ра­боты с ро­лями уров­ня БД.
Таблица 1.3. Средства для работы с ролями базы данных
Пос­мотреть те­кущее сос­то­яние ро­лей БД мож­но, выб­рав в объек­тах БД Roles и щел­кнув на лю­бой ро­ли в пра­вом ок­не. В ре­зульта­те отоб­ра­зит­ся спи­сок пользо­вате­лей, ко­торые при­над­ле­жат к дан­ной ро­ли в кон­крет­ной БД (рис. 1.5).
Рис. 1.5. Список пользователей, имеющих конкретную роль в БД
Од­новре­мен­но в дан­ном ин­терфейсе мож­но до­бавить к ро­ли но­вого пользо­вате­ля. Од­на­ко не­об­хо­димо пом­нить, что этот пользо­ватель уже дол­жен иметь пра­во на под­клю­чение к сер­ве­ру БД, т. е. быть ле­гальным пользо­вате­лем сер­ве­ра MS SQL Server, на ко­тором раз­ме­щена БД, и быть пользо­вате­лем са­мой БД.
This site was made on Tilda — a website builder that helps to create a website without any code
Create a website