Вопросы безопасности для служб Integration Services

Безопасность SQL Server 2005 Integration Services (SSIS) обеспечивается несколькими уровнями защиты, которые составляют насыщенную и гибкую среду безопасности. Система безопасности служб Integration Services включает в себя использование свойств уровня пакетов, ролей базы данных SQL Server, разрешений операционной системы и электронных подписей.

SQL Server 2005 Integration Services (SSIS) обеспечивает безопасность клиента и сервера за счет следующих средств безопасности:

  • Настройка свойства ProtectionLevel пакета позволяет определить, должны ли конфиденциальные данные быть защищены кодированием или они должны удаляться перед сохранением.
  • Настройка свойств ProtectionLevel и PackagePassword пакета обеспечивает защиту путем шифрования всего или части пакета при помощи паролей или ключа пользователя.
  • Управление доступом к пакетам при помощи ролей уровня базы данных SQL Server.
  • Обеспечение безопасности операционной среды при помощи защиты местоположения файла и ограничения доступа к пакетам в среде SQL Server Management Studio.
  • Обеспечение целостности пакетов при помощи подписи пакетов сертификатами.

Конфиденциальные данные

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

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

Уровни защиты пакета

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

Дополнительные сведения см. в разделах Пакеты служб Integration Services и Установка свойств пакета.

Роли уровня базы данных

Для контроля доступа к пакетам службы Integration Services включают три фиксированных роли уровня базы данных db_dtsadmin, db_dtsltduser и db_dtsoperator. Роль с правом чтения и правом записи может быть определена для каждого пакета. Для использования в пакетах служб Integration Services можно также определить пользовательские роли уровня базы данных. Роли могут быть реализованы только в пакетах, которые хранятся в базе данных msdb экземпляра SQL Server.

Дополнительные сведения см. в разделе Роли служб Integration Services.

Хранение пакетов

Пакеты служб Integration Services могут быть сохранены в файловой системе как XML-файлы, файлы с расширением DTSX или в базе данных msdb экземпляра SQL Server 2005.

Сохранение пакета в msdb обеспечивает безопасность на уровнях сервера, базы данных и таблицы. Пакеты SQL Server 2005 хранятся в таблице sysdtspackages90, а пакеты SQL Server 2000 хранятся в таблице sysdtspackages. Кроме того, происходит автоматическое резервное копирование пакетов, сохраненных в sysdtspackages90 и sysdtspackages, при резервном копировании базы данных msdb. Пакеты SQL Server 2005, хранящиеся в таблице sysdtspackages90, также защищаются ролями уровня базы данных.

Если пакеты не хранятся в базе данных msdb, убедитесь в безопасности папок файловой системы, содержащих файлы пакета.

Дополнительные сведения см. в разделе Сохранение пакетов.

Хранение конфигурации пакетов

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

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

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

Дополнительные сведения см. в разделе Конфигурации пакета.

Папки служб Integration Services

Для перечисления запущенных пакетов среда SQL Server Management Studio использует службу SQL Server. Для предотвращения несанкционированного локального и удаленного перечисления хранящихся пакетов и доступа к личным данным необходимо ограничить доступ пользователей к компьютерам, на которых работает служба SQL Server. Дополнительные сведения см. в разделе Защита доступа к запущенным пакетам.

Файлы, используемые пакетами

Пакеты, настроенные на использование конфигураций, контрольных точек и журналов, создают данные, которые хранятся вне пакетов. Эти данные могут быть конфиденциальными и должны быть защищены. Файлы контрольных точек могут быть сохранены только в файловой системе, а конфигурации и протоколы — либо в файловой системе, либо в таблицах базы данных SQL Server. Сохраненные в SQL Server конфигурации и протоколы защищены системой безопасности SQL Server, но данные, записанные в файлах, требуют дополнительной защиты. Дополнительные сведения см. в разделе Защита файлов с помощью пакетов.

Цифровые подписи

Пакет можно подписать при помощи сертификата. Можно настроить проверку подписи во время загрузки пакета и выдачу предупреждения в случае, если пакет был изменен. Чтобы цифровая подпись пакета проверялась при каждой загрузке пакета, свойству CheckSignatureOnLoad пакета необходимо присвоить значение True. Дополнительные сведения см. в разделе Подписывание пакетов с помощью сертификатов.

См. также

Задачи

Настройка параметров брандмауэра Windows для доступа к службам Integration Services

Основные понятия

Службы SQL Server Integration Services

Справка и поддержка

Получение помощи по SQL Server 2005