Общие сведения о безопасности (службы Integration Services)
Безопасность служб SQL Server Integration Services обеспечивается несколькими уровнями защиты, которые составляют насыщенную и гибкую среду безопасности. Эти уровни безопасности включают в себя использование электронных подписей, свойств уровня пакетов, ролей базы данных SQL Server и разрешений операционной системы. Большинство этих функций безопасности относятся к категории управления доступом и удостоверениями.
Функции управления удостоверениями
Применение функций управления удостоверениями в пакетах позволяет достичь следующей цели.
** Обеспечение открытия и запуск только пакетов из надежных источников**
Чтобы гарантировать открытие и выполнение только пакетов из надежных источников, необходимо сначала определить источник пакетов. Определить источник можно, подписывая пакеты с использованием сертификатов. Затем при открытии или запуске пакетов служб Integration Services может проверить наличие и правильность цифровой подписи. Дополнительные сведения см. в разделе Использование цифровых подписей с пакетами.
Функции управления доступом
Применение функций управления удостоверениями в пакетах позволяет достичь следующей цели.
** Обеспечение открытия и запуск пакетов только зарегистрированными пользователями**
Чтобы обеспечить открытие и запуск пакетов только зарегистрированными пользователями, необходимо управлять доступом к следующим данным.
Управлять доступом к содержимому пакетов, особенно конфиденциальным данным.
Управлять доступом к пакетам и конфигурациям пакетов, хранимым в SQL Server.
Управлять доступом к пакетам и связанным файлам, таким как файлы конфигурации, журналов и контрольных точек, хранимым в файловой системе.
Управлять доступом к службе Integration Services и сведениям о пакетах, отображаемых службой в среде Среда SQL Server Management Studio.
Управление доступом к содержимому пакетов
Чтобы помочь ограничить доступ к содержимому пакета, можно зашифровать пакеты, устанавливая свойство ProtectionLevel пакета. Это свойство можно установить на уровень защиты, необходимый пакету. Например, в среде групповой разработки пакет может быть зашифрован при помощи пароля, который известен членам группы, принимающим участие в его разработке.
При установке свойства ProtectionLevel пакета службы Integration Services автоматически определяют конфиденциальные свойства и обрабатывают их согласно определенному уровню защиты пакетов. Например, свойство ProtectionLevel пакета установлено на уровень, на котором конфиденциальные сведения шифруются с паролем. Для этого пакета службы Integration Services автоматически шифруют значения всех конфиденциальных свойств и не отображают соответствующие данные, если не указан верный пароль.
Обычно службы Integration Services определяют свойства как конфиденциальные, если эти свойства содержат такие сведения, как пароль или строка соединения, или если эти свойства соответствуют переменным или сформированным задачей XML-узлам. В службах Integration Services свойство рассматривается как конфиденциальное в зависимости от того, назначил ли свойство конфиденциальным разработчик компонента Integration Services, такого как диспетчер соединений или задача. Пользователи не могут добавлять или удалять свойства из списка свойств, считающихся конфиденциальными. Разработчики пользовательских задач, диспетчеров соединений или компонентов потоков данных могут указать свойства, которые службы Integration Services рассматривают как конфиденциальные.
Дополнительные сведения см. в разделе Установка уровня защиты пакетов.
Управление доступом к пакетам
Пакеты служб Integration Services могут быть сохранены в базе данных msdb экземпляра SQL Server или в файловой системе как XML-файлы с расширением DTSX. Дополнительные сведения см. в разделе Сохранение пакетов.
Сохранение пакетов в базе данных msdb
Сохранение пакетов в базе данных msdb способствует повышению безопасности на уровне сервера, базы данных и таблиц. В базе данных msdb пакеты служб Integration Services хранятся в таблице sysssispackages, а пакеты служб DTS SQL Server 2000 хранятся в таблице sysdtspackages. Поскольку пакеты хранятся в таблицах sysssispackages и sysdtspackages в базе данных msdb, резервное копирование пакетов выполняется автоматически при резервном копировании базы данных msdb.
Пакеты SQL Server, сохраняемые в базе данных msdb, также могут быть защищены с помощью предопределенных ролей уровня базы данных Integration Services. Службы Integration Services включают в себя три предопределенных роли уровня базы данных для управления доступом к пакетам: db_ssisadmin, db_ssisltduser и db_ssisoperator. Роль с правом чтения и правом записи может быть определена для каждого пакета. Для использования в пакетах служб Integration Services или SQL Server 2000 можно также определить пользовательские роли уровня базы данных. Роли могут быть реализованы только в пакетах, которые хранятся в базе данных msdb экземпляра SQL Server. Дополнительные сведения см. в разделе Использование ролей служб Integration Services.
Важно! |
---|
Важные сведения о способах выполнения пакетов служб DTS см. в разделе Защита пакетов служб DTS, сохраненных в SQL Server. |
Сохранение пакетов в файловой системе
Если пакеты хранится в файловой системе вместо базы данных msdb, убедитесь в безопасности файлов пакетов и папок, содержащих файлы пакетов.
Управление доступом к файлам, используемым пакетами
Пакеты, настроенные для использования конфигураций, контрольных точек и журналов, создают данные, которые хранятся вне пакетов. Эти данные могут быть конфиденциальными и должны быть защищены. Файлы контрольных точек могут быть сохранены только в файловой системе, а конфигурации и протоколы — либо в файловой системе, либо в таблицах базы данных SQL Server. Сохраненные в SQL Server конфигурации и протоколы защищены системой безопасности SQL Server, но данные, записанные в файловую систему, требуют дополнительной защиты.
Дополнительные сведения см. в разделе Управление доступом к файлам, используемым пакетами.
Безопасное сохранение конфигураций пакетов
Конфигурации пакетов могут быть сохранены в таблице базы данных SQL Server или в файловой системе.
Конфигурации могут быть сохранены в любой базе данных SQL Server, а не только в базе данных msdb. Таким образом, можно указать базу данных, которая используется в качестве репозитория для конфигураций пакетов. Также можно задать название таблицы, которая будет хранить конфигурацию, и службы Integration Services автоматически создадут таблицу с правильной структурой. Сохранение конфигурации в таблице позволяет обеспечить безопасность на уровне сервера, базы данных и таблиц. Кроме того, происходит автоматическое резервное копирование конфигурации, сохраненной в SQL Server, при создании резервной копии базы данных.
Если конфигурация хранится в файловой системе вместо базы данных SQL Server, убедитесь в безопасности папок, содержащих файлы конфигурации пакетов.
Дополнительные сведения о конфигурациях см. в разделе Конфигурации пакета служб SSIS.
Управление доступом к службе Integration Services
Для перечисления сохраненных пакетов среда Среда SQL Server Management Studio использует службу SQL Server. Чтобы запретить неавторизованным пользователям просмотр сведений о пакетах, сохраненных на локальных и удаленных компьютерах, и тем самым овладеть личными сведениями, нужно ограничить доступ к компьютерам, на которых выполняется служба SQL Server.
Дополнительные сведения см. в разделе Управление доступом к службе Integration Services.
|