Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Артемов Д.В. -> "Microsoft SQL Server 2000" -> 90

Microsoft SQL Server 2000 - Артемов Д.В.

Артемов Д.В. Microsoft SQL Server 2000 — М.: Издательско-торговый дом «Русская Редакция», 2001. — 576 c.
ISBN 5-7502-0154-6
Скачать (прямая ссылка): artemov.pdf
Предыдущая << 1 .. 84 85 86 87 88 89 < 90 > 91 92 93 94 95 96 .. 187 >> Следующая


www.books-shop.com

Microsoft SQL Server 2000, Новейшие технологии

с пользовательским идентификатором. Теперь представим, что нам надо переместить БД с одного сервера на другой. Мы создаем на другом сервере соответствующий идентификатор пользователя

переносим БД и получаем целый ворох проблем, связанных с тем, что пользователь вроде бы есть, а вроде бы и нет. Подобная ситуация может возникнуть и при восстановлении страховочной копии на другом сервере. Дело в том, что БД хранит имя пользователя и связанный с ним идентификатор, но созданный раньше и на другом сервере. На текущем сервере тот же идентификатор пользователя имеет иной SID. В итоге пользователь опознается по имени, но не может быть правильно интерпретирован системой безопасности. Разрешить такого рода проблем может системная процедура

В числе параметров она принимает SID пользователя, учетное имя в БД и синхронизирует их идентификаторы безопасности.

ПРИМЕЧАНИЕ Если Вы ранее использовали SL)ID для поиска имени пользователя, рекомендуется заменить все эти ссылки новым идентификатором — SID. SUID поддерживается только в целях обратной совместимости и требует от сервера гораздо больше усилий при поиске. SUID может значительно замедлить исполнение Вашего кода.

Каждая роль может включать один или группу идентификаторов, можно также сгруппировать роли для создания точной схемы ответственности, необходимой в организации.

SA низведен до уровня обычного идентификатора и принадлежит роли sysadmin. Принадлежность к этой роли дает ему те же права, что и сейчас. Важно, что наличие идентификатора SA не означает абсолютной необходимости его применения в том же объеме, как в версии 6х. Вообще гораздо лучше создать идентификатор, соответствующий реальному человеку, и дать ему некий набор прав. Если не хотите иметь в системе пользователя с абсолютными правами, не применяйте роль sysadmin — дайте конкретным людям менее «мощные» роли.

Помимо стандартных ролей уровня сервера, для каждой создаваемой БД создается набор ролей, видимых в рамках этой базы. Ниже дан перечень стандартных ролей на уровне БД. В отличие от роли на уровне сервера Вы можете создать сколько угодно ролей БД. Добавив роли в базу Model, Вы сможете создавать новые роли одновременно с новыми БД.

www.books-shop.com

ГЛАВА 4: Управление системой безопасности

251

Дает право

... выполнять действия, позволенные членам любой другой роли БД и других работ по сопровождению и конфигурированию БД.

... добавлять в число пользователей БД группы Windows NT, пользователей Windows NT и пользователей SQL Server.

читать любую пользовательскую таблицу в БД.

... добавлять, модифицировать и удалять данные из любой пользовательской таблицы в БД.

добавлять, модифицировать и удалять объекты в БД.

управлять ролями и членами ролей SQL Server и правами на исполнение выражений и доступа к объектам БД. ... создавать резервные копии БД.

... модифицировать схемы БД, но не читать информацию в БД. Не имеет права модифицировать информацию в БД.

Помимо перечисленных в таблице стандартных ролей, есть еще роль Public. Ее обсудим подробнее.

РОЛЬ Public

Public — специальная роль на уровне БД, к которой приписаны все зарегистрированные в базе пользователи. Эта роль ассоциируется с набором прав, передаваемых по умолчанию любому пользователю БД. В состав Public нельзя принудительно включать пользователей, другие роли и группы, так как они и так автоматически попадают в нее. Public присутствует во всех пользовательских базах, а также в Master, Msdb, Tempdb, Model. Уничтожить эту роль нельзя.

Если пользователь подключается к серверу, то без назначения ему дополнительных прав, перечень допустимых действий (определяемых правами, назначенными для роли Public) весьма ограничен. Он мо-

www.books-shop.com

Роль

— владелец БД

dbaccessadmin — администратор прав доступа

db datareader — «читатель» db datawriter — «писатель»

— администратор

объектов БД

— администратор системы безопасности в рамках БД

dbbackupoperator — оператор, создающие резервные копии db_denydatareader

db_denydatawriter

Microsoft SQL Server 2000, Новейшие технологии

жет выполнять действия, не требующие прямого разрешения, вроде Print, просматривать системные таблицы и исполнять некоторые хранимые процедуры для получения информации из базы Master и пользовательских БД, к которым имеет доступ. Под именем guest такой пользователь может получить доступ к любой БД, где зарегистрировано учетное имя guest.

Есть также несколько неявных (Implicit) ролей, таких как владелец объекта (Object owner). Например, создатель таблицы приобретает на нее определенный набор прав. Поскольку эти права нигде специально не хранятся, мы говорим о неявной роли.

Прикладная роль

Каждое приложение может исполняться как в рамках стандартной роли или индивидуального учетного имени, так и в рамках прикладной роли (Application role). Стандартные роли не позволяют создать защищенной среды, которая иногда может требоваться конкретному приложению. Действительно, серверу безразлично, кто именно, приложение или человек, обращается к данным. Использование прикладной роли исключает неавторизованный доступ вне рамок этого приложения.
Предыдущая << 1 .. 84 85 86 87 88 89 < 90 > 91 92 93 94 95 96 .. 187 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100