Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

5.2.5. Серверные роли. Разрешения на уровне сервера

Серверные роли SQL Server 2005, sp_addsrvrolemember, применение серверных ролей, роли PUBLIC, SYSADMIN, SERVERADMIN, SECURITYADMIN, BULKADMIN, DBCREATOR, DISKADMIN, PROCESSADMIN, SETUPADMIN, эффективные разрешения

Вы обеспечили пользователям возможность входа на SQL Server 2005, создав для них логины. Но сам по себе вход на сервер ничего не дает: пользователю нужны также права на выполнение определенных действий. Обычно для этой цели создаются пользователи или роли баз данных и им предоставляются разрешения (как это сделать, будет рассмотрено в разд. 5.3). Однако есть и другой способ. Если вам нужно предоставить пользователю права на уровне всего сервера, а не отдельной базы данных, можно воспользоваться серверными ролями.

На графическом экране работа с ролями сервера производится или из свойств логина (вкладка Server Roles (Серверные роли)), или из свойств самой серверной роли (контейнер Server Roles в Management Studio). Из кода Transact-SQL для назначения логину серверной роли можно использовать хранимую процедуру sp_addsrvrolemember. Например, чтобы предоставить пользователю User4 права роли SYSADMIN, соответствующий код может быть таким:

EXEC sp_addsrvrolemember @loginame = 'user4', @rolename = 'sysadmin';

Сразу отметим несколько моментов, связанных с серверными ролями:

q      набор серверных ролей является фиксированным. Вы не можете создавать свои серверные роли (в отличие от ролей базы данных);

q      для предоставления прав на уровне всего сервера необязательно использовать серверные роли. Вы вполне можете предоставить эти права напрямую логину (при помощи вкладки Permissions (Разрешения) свойств SQL Server). По умолчанию каждый логин обладает на уровне всего сервера двумя правами: CONNECT SQL (т. е. подключаться к серверу, это право предоставляется логину напрямую) и VIEW ANY DATABASE (т. е. просматривать список баз данных, это право пользователь получает через серверную роль PUBLIC);

q      серверные роли используются только в специальных случаях. Для большинства пользователей настраивать их не нужно.

Серверных ролей не так много, поэтому приведем их полный список с комментариями:

q      PUBLIC — эту роль вы не найдете в списке серверных ролей. Тем не менее, она существует и активно используется. Права этой роли автоматически получают все, кто подключился к SQL Server, и лишить пользователя членства в этой роли нельзя. Обычно эта роль используется для предоставления разрешений всем пользователям данного сервера;

q      SYSADMIN — логин, которому назначена эта роль, получает полные права на весь SQL Server (и возможность передавать эти права другим пользователям). С точки зрения серверных разрешений, это соответствует праву CONTROL SERVER с параметром WITH GRANT (т. е. с возможностью передачи);

q      SERVERADMIN — эта роль для оператора, которые обслуживает сервер. Можно изменять любые настройки работы сервера и отключать сервер, но получать доступ к данным и изменять разрешения нельзя;

q      SECURITYADMIN — эта роль для того, кто выдает разрешения пользователям, не вмешиваясь в работу сервера. Он может создавать логины для обычных пользователей, изменять их пароли, предоставлять разрешения в базах данных. Однако предоставить кому-либо административные права или изменять учетную запись администратора эта роли не позволяет;

q      BULKADMIN — роль для сотрудников, которые выполняют массовые загрузки данных в таблицы SQL Server;

q      DBCREATOR — эта роль позволяет создавать базы данных на SQL Server (а тот, кто создал базу данных, автоматически становится ее владельцем). Обычно эта роль предоставляется учетным записям, используемым приложениями, которые хранят свои информацию на SQL Server;

q      DISKADMIN — эта роль позволяет выполнять любые операции с файлами баз данных на диске;

q      PROCESSADMIN — эта роль предназначена для выполнения единственной обязанности: закрытия пользовательских подключений к серверу (например, зависших);

q      SETUPADMIN — права этой роли позволяют подключать внешние сервера SQL Server (linked servers).

Дополнительные возможности работы с правами на уровне сервера доступны из свойств сервера на вкладке Permissions (рис. 5.4).

Рис. 5.4. Вкладка Permissions свойств SQL Server

На этой вкладке вы можете:

q      более точно настроить права для каждого логина (если набор серверных ролей вас не устраивает);

q      предоставить права всем пользователям сразу (при помощи специальной серверной роли PUBLIC);

q      посмотреть, кто предоставил данные права пользователю (значение в столбце Grantor);

q      посмотреть итоговые права для данного пользователя на уровне сервера. Для этой цели предназначена кнопка Effective Permissions (Действующие разрешения).

Еще одна возможность предоставить пользователю разрешения на объекты сервера — воспользоваться вкладкой Securables свойств логина. При помощи этой вкладки вы можете предоставить пользователю разрешения на:

q      объект сервера (то же самое, что и из свойств сервера);

q      объекты подключений по HTTP (HTTP Endpoints);

q      объекты других логинов.

Например, вы можете назначить пользователя, который сможет менять пароли для логинов SQL Server сотрудников своего отдела.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru