Смекни!
smekni.com

Администрирование SQL Server 2000 (стр. 4 из 5)

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

Режим аутентификации SQL Server

Для установки соединения с сервером SQL Server 2000, находящемся в домене, с которым не установлены доверительные отношения, можно использовать аутен­тификацию SQL Server. Аутентификация SQL Server также используется, когда вообще нет возможности зарегистрироваться в домене. Например, при подклю­чении к SQL Server 2000 по Интернету.

При работе с аутентификацией SQL Server доступ также предоставляется на основе учетных записей. Но в этом случае используются учетные записи SQL Server, а не Windows NT.

Для аутентификации средствами SQL Server Server член стандартной роли сервера sysadmin или securityadmin должен создать и сконфигурировать для пользователя учетную запись, в которую входит имя учетной записи, уникальный идентификатор SQL Server и пароль. Вся эта информация будет храниться в сис­темной базе master. Создаваемая учетная запись не имеет отношения к учет­ным записям Windows NT.

В этом режиме при попытке пользователя получить доступ к SQL Server сервер сам проверяет правильность имени пользователя и пароль, сравнивая их с данными в системных таблицах. Если данные, введенные пользователем, со­впадают с данными SQL Server, пользователю разрешается доступ к серверу. В противном случае попытка доступа отклоняется и выдается сообщение об ошибке.

Аутентификация SQL Server может применяться в следующих случаях: для пользователей Novell NetWare, Unix и т. д.; при подключении к SQL Server 2000 через Интернет, когда регистрация в домене не выполняется; под управлением операционной системы Windows 98.

В большинстве случаев учетная запись в SQL Server создается с целью предоставления доступа. Но бывают ситуации, когда необходимо запретить доступ пользователю или группе. Например, при наличии сложной системы безопасности Windows NT доступ обычно предоставляется группе пользователей. Однако если в группе имеется человек, которому нельзя разрешать доступ к SQL Server, его необходимо убрать из этой группы. Но такой подход неудов­летворителен, если группа предназначена не только для объединения пользова­телей, имеющих доступ к SQL Server, но имеет еще и какие-то дополнительные функции. SQL Server разрешает создать учетную запись с целью запрещения доступа. Это гарантирует, что пользователь никаким образом не сможет устано­вить соединение с сервером. Создав группу Windows NT и запретив ей доступ к SQL Server, вы можете включать в нее пользователей, которым необходимо отказать в доступе.[13]

Компоненты структуры безопасности

Фундаментом системы безопасности SQL Server 2000 являются учетные записи (login), пользователи (user), роли (role) и группы (group).

Пользователь, подключающийся к SQL Server, должен идентифицировать себя, используя учетную запись. После того как клиент успешно прошел аутентификацию, он получает доступ к SQL Server. Для получения доступа к любой базе дан­ных учетная запись пользователя (login) отображается в пользователя данной базы данных (user). Объект «пользователь базы данных» применяется для предостав­ления доступа ко всем объектам базы данных: таблицам, представлениям, храни­мым процедурам и т. д. В пользователя базы данных может отображаться: учетная запись Windows NT; группа Windows NT; учетная запись SQL Server.

Подобное отображение учетной записи необходимо для каждой базы данных, доступ к которой хочет получить пользователь. Отображения сохраняются в сис­темной таблице sysusers, которая имеется в любой базе данных. Такой подход обеспечивает высокую степень безопасности, предохраняя от предоставления пользо­вателям, получившим доступ к SQL Server, автоматического доступа ко всем базам данных и их объектам. Пользователи баз данных, в свою очередь, могут объеди­няться в группы и роли для упрощения управлением системой безопасности.

В ситуации, когда учетная запись не отображается в пользователя базы дан­ных, клиент все же может получить доступ к базе данных под гостевым именем guest, если оно, разумеется, имеется в базе данных. Обычно пользователю guest предоставляется минимальный доступ только в режиме чтения. Но в некоторых ситуациях и этот доступ необходимо предотвратить.

Если в сети имеется небольшое количество пользователей, то достаточно легко предоставить до­ступ каждому пользователю персонально. Однако в больших сетях с сотнями пользователей по­добный подход займет много времени. Гораздо более удобным и эффективным является подход, когда доступ к SQL Server 2000 предоставляется целым группам пользователей. Как раз такой под­ход возможен при аутентификации средствами Windows NT/2000, когда на уровне домена создает­ся несколько групп, каждая из которых предназначена для решения специфических задач. На уровне SQL Server 2000 такой группе разрешается доступ к серверу, предоставляются необходимые права доступа к базам данных и их объектам. Достаточно включить учетную запись Windows NT в одну из групп, и пользователь получит все права доступа, предоставленные этой группе. Более того, одна и та же учетная запись может быть включена во множество групп Windows NT, что даст этой учет­ной записи возможность пользоваться правами доступа, предоставленными всем этим группам. Администратор SQL Server 2000 должен сам решить, как удобнее предоставлять доступ к серверу: персонально каждой учетной записи или группе в целом.[14]

Пользователи

После того как пользователь прошел аутентификацию и получил идентифика­тор учетной записи (login ID), он считается зарегистрированным и ему предо­ставляется доступ к серверу. Для каждой базы данных, к объектам которой пользователю необходимо получить доступ, учетная запись пользователя (login) ассоциируется с пользователем (user) конкретной базы данных. Пользователи выступают в качестве специальных объектов SQL Server, при помощи которых определяются все разрешения доступа и владения объектами в базе данных.

Имя пользователя может использоваться для предоставления доступа как конкретному человеку, так и целой группе людей (в зависимости от типа учетной записи).

При создании базы данных определяются два стандартных пользователя: dbо и guest.Если учетная запись (login) не связывается явно с пользователем (user), по­следнему предоставляется неявный доступ с использованием гостевого имени guest. То есть все учетные записи, получившие доступ к SQL Server 2000,

авто­матически отображаются в пользователей guest во всех базах данных. Если вы удалите из базы данных пользователя guest, то учетные записи, не имеющие явного отображения учетной записи в имя пользователя, не смогут получить доступа к базе данных. Тем не менее, guest не имеет автоматического доступа к объектам. Владелец объекта должен сам решать, разрешать пользователю guest этот доступ или нет. Обычно пользователю guest предоставляется минималь­ный доступ в режиме «только чтение».

Для обеспечения максимальной безопасности можно удалить пользователя guest из любой базы данных, кроме системных баз данных master и Tempdb. В первой из них guest используется для выполнения системных хранимых процедур обычными пользователями, тогда как во второй позво­ляет создавать любым пользователям временные объекты.

Владелец базы данных (DataBase Owner, DBO) — специальный пользователь, обладающий максимальными правами в базе данных. Любой член роли sysadmin автоматически отображается в пользователя dbo. Если пользователь, являющийся членом роли sys admin, создает какой-нибудь объект, то владельцем этого объекта назначается не данный пользователь, a dbo. Пользователь, который создает объект в базе данных, например таблицу, хра­нимую процедуру или представление, становится владельцем объекта. Владелец объекта (database object owner) имеет все права доступа к созданному им объек­ту. Чтобы пользователь мог создать объект, владелец базы данных (dbo) дол­жен предоставить пользователю соответствующие права. Полное имя создаваемого объекта включает в себя имя создавшего его пользователя

SQL Server позволяет передавать права владения от одного пользователя другому. Чтобы удалить владельца объекта из базы данных, сначала необходи­мо удалить все объекты, которые он создал, или передать права на их владение другому пользователю.

Заключение

SQL Server 2000 – эффективнейший программный продукт, использование которого позволяет вести огромную базу данных без каких либо ограничений, но без грамотного администрирования баз невозможно добиться корректной работы и информацией хранящейся в них. Поэтому при использовании SQL Server 2000 в повседневной работе предприятия, стоит уделить большое внимание именно администрированию баз данных.

Администрирование представляет собой практически главнейшую область работы с SQL Server 2000, и включает как разработку структуры баз данных, ее реализацию, проектирование систем безопасности, создание пользователей и т.д.

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