Защита объектов баз данных на SQL Server


В проектах Access 2010 существует две возможности защиты данных и других объектов (таблиц, представлений, хранимых процедур и схем данных), которые сохраняются на SQL Server.

  • Можно выполнить шифрование представлений, хранимых процедур и триггеров. После шифрования структуру представления невозможно изменить. Хотя представление по-прежнему можно будет использовать для .правки данных в источнике, Информацио о том, как зашифровать представление, можно найти в документации к SQL Server. Шифрование хранимой процедуры или триггера можно выполнить, отредактировав их и записав инструкцию Transact-SQL специального вида, например: CREATE PROCEDURE … WITH ENCRYPTION.
  • Можно использовать полный набор средств защиты, предоставляемых SQL Server, с помощью программы SQL Server Enterprise Manager. Описание этих средств защиты можно найти в документации SQL Server.

Если есть вероятность того, что структуру зашифрованного представления понадобится изменить в будущем, воспользуйтесь следующим советом. Сохраните инструкцию SQL, определяющую представление, в текстовом файле. Сохраните твердую копию в надежном месте. Зашифруйте представление. При необходимости изменить структуру зашифрованного представления:

  1. Удалите прежнее зашифрованное представление.
  2. Создайте новое представление с таким же именем, как у прежнего представления.
  3. Скопируйте в буфер обмена инструкцию SQL из текстового файла, в котором она была сохранена. Вставьте ее в область ввода инструкции SQL в окне Конструктора нового представления.
  4. Измените структуру представления.
  5. Сохраните измененную инструкцию SQL в текстовом файле. Поместите этот файл в надежном месте.
  6. Зашифруйте новое представление. 1

 

 

Управление учетными записями на SQL Server
В справке Access 2010 сказано, что в проекте Access можно выполнять задачи администрирования системы безопасности с помощью команды Access Безопасность базы данных (Database Security) в меню Сервис (Tools). Эта команда доступна только в том случае, если SQL Server установлен на том же самом компьютере, где хранится проект Access. С помощью этого средства можно добавлять, удалять и изменять учетные записи для регистрации на SQL Server, учетные записи пользователей базы данных и роли.
Замечание
Для новой версии ядра баз данных MSDE2000, меню Безопасность базы данных (Database Security) а также меню Репликация (Replication) недоступны. Так говорится в справке Access 2010. Однако нам не удалось получить названные меню даже в проекте Access 2010, подключенном к SQL Server 2000, установленом на том же компьютере. Используйте инструкции Transact-SQL или Enterprise Manager для защиты и репликации данных на SQL Server.
Существует две системы безопасности, применяемые для регистрации на SQL Server:

  • Встроенная система защиты SQL Server. Для регистрации на сервере требуется указать имя пользователя сервера и пароль.
  • Интегрированная система защиты с Windows NT, использующая учетные записи пользователей NT. В этом случае аутентификация пользователя производится в момент регистрации в сети на базе Windows NT. SQL Server принимает учетную запись Windows NT и не требует дополнительной регистрации пользователя.

Чтобы использовать встроенную систему защиты SQL Server:

  1. Так как по умолчанию эта возможность выключена, сначала выберите команду меню Вид, Свойства сервера (View, Server Properties) и в появившемся диалоговом окне установите флажок Учетная запись системного администратора (SA) (Enable system administrator (SA) user name). Нажмите кнопку ОК.
  2. Откройте окно свойств соединения с SQL Server Свойства подключения (Data Link Properties) с помощью команды меню Файл, Подключение (File, Connection).
  3. На вкладке Соединение (Connection) установите флажок Использовать имя пользователя и пароль (Use a specific username and password).
  4. Если при открытии проекта Access 2010 нужно каждый раз требовать ввод пароля регистрации пользователя, сбросьте флажок Сохранять пароль (Allow saving of password). Если ввод пароля при повторной регистрации на сервере не требуется, установите этот флажок.

С такой системой защиты вы сможете поменять пароль учетной записи SQL Server, использующейся для регистрации в проекте Access 2010, с помощью команды меню Access Сервис, Защита, Задать пароль для входа (Tools, Security, Set Login Password). He забудьте установленный пароль, чтобы не потерять доступ к проекту!
Чтобы использовать интегрированную с Windows NT систему защиты SQL Server:

  1. Откройте окно свойств соединения с SQL Server Свойства подключения (Data Link Properties).
  2. На вкладке Соединение (Connection) выберите переключатель Использовать интегрированную систему защиты с Windows NT (Use Windows NT Integrated Security).

В этом случае ввод пароля при регистрации на SQL Server требоваться не будет, поскольку будет действовать идентификация пользователя в сети Windows NT или Windows 2000.