. Основные методы защиты данных. Управление пользователями
Основные методы защиты данных. Управление пользователями

Основные методы защиты данных. Управление пользователями

Стабильная система управления пользователями – обязательное условие безопасности данных , хранящихся в любой реляционной СУБД . В языке SQL не существует единственной стандартной команды, предназначенной для создания пользователей базы данных – каждая реализация делает это по-своему. В одних реализациях эти специальные команды имеют определенное сходство, в то время как в других их синтаксис имеет существенные отличия. Однако независимо от конкретной реализации все основные принципы одинаковы.

Управление пользователями в среде MS SQL Server

Рассмотрим вопрос создания пользователей в среде MS SQL Server .

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

В системе SQL - сервер организована двухуровневая настройка ограничения доступа к данным. На первом уровне необходимо создать так называемую учетную запись пользователя ( login ), что позволяет ему подключиться к самому серверу, но не дает автоматического доступа к базам данных. На втором уровне для каждой базы данных SQL -сервера на основании учетной записи необходимо создать запись пользователя . На основе прав , выданных пользователю как пользователю базы данных ( user ), его регистрационное имя ( login ) получает доступ к соответствующей базе данных. В разных базах данных login одного и того же пользователя может иметь одинаковые или разные имена user с разными правами доступа . Иначе говоря, с помощью учетной записи пользователя осуществляется подключение к SQL -серверу, после чего определяются его уровни доступа для каждой базы данных в отдельности.

В системе SQL-сервер существуют дополнительные объекты – роли , которые определяют уровень доступа к объектам SQL-сервера. Они разделены на две группы: назначаемые для учетных записей пользователя сервера и используемые для ограничения доступа к объектам базы данных.

Итак, на уровне сервера система безопасности оперирует следующими понятиями:

  • аутентификация ;
  • учетная запись ;
  • встроенные роли сервера.

На уровне базы данных применяются следующие понятия;

  • пользователь базы данных;
  • фиксированная роль базы данных;
  • пользовательская роль базы данных.
Режимы аутентификации

SQL Server предлагает два режима аутентификации пользователей :

  • режим аутентификации средствами Windows NT/2000;
  • смешанный режим аутентификации (Windows NT Authentication and SQL Server Authentication).
Администрирование системы безопасности

Для создания пользователя в среде MS SQL Server следует предпринять следующие шаги:

  1. Создать в базе данных учетную запись пользователя , указав для него пароль и принятое по умолчанию имя базы данных (процедура sp_addlogin ).
  2. Добавить этого пользователя во все необходимые базы данных (процедура sp_adduser ).
  3. Предоставить ему в каждой базе данных соответствующие привилегии (команда GRANT ) .

Создание новой учетной записи может быть произведено с помощью системной хранимой процедуры:

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

Отобразить учетную запись Windows NT в имя пользователя позволяет хранимая процедура:

Пользователь , который создает объект в базе данных (таблицу, хранимую процедуру, просмотр), становится его владельцем . Владелец объекта ( database object owner dbo) имеет все права доступа к созданному им объекту. Чтобы пользователь мог создать объект, владелец базы данных (dbo) должен предоставить ему соответствующие права . Полное имя создаваемого объекта включает в себя имя создавшего его пользователя .

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

SQL Server позволяет передавать права владения от одного пользователя другому с помощью процедуры:

Роль позволяет объединить в одну группу пользователей , выполняющих одинаковые функции.

В SQL Server реализовано два вида стандартных ролей : на уровне сервера и на уровне баз данных. При установке SQL Server создаются фиксированные роли сервера (например, sysadmin с правом выполнения любых функций SQL-сервера) и фиксированные роли базы данных (например, db_owner с правом полного доступа к базе данных или db_accessadmin с правом добавления и удаления пользователей ). Среди фиксированных ролей базы данных существует роль public, которая имеет специальное назначение, поскольку ее членами являются все пользователи , имеющие доступ к базе данных.

Можно включить любую учетную запись SQL Server (login) или учетную запись Windows NT в любую роль сервера.

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

В роль базы данных можно включить пользователей SQL Server, роли SQL Server, пользователей Windows NT.

Различные действия по отношению к роли осуществляются при помощи специальных процедур:

📎📎📎📎📎📎📎📎📎📎