Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL2008_Administration.doc
Скачиваний:
91
Добавлен:
08.11.2018
Размер:
3.38 Mб
Скачать

9.27. Безопасность пакетов ssis

Пакеты SSIS необходимо защищать:

  • Так как пакеты SSIS являются файлами в формате XML, в которых вся информация хранится в открытом виде (например, имя пользователя и пароль для подключения к источнику данных).

  • Так как большинство пакетов предназначено для загрузки и выгрузки данных, последствия незапланированного запуска пакета могут оказаться очень серьезными.

  • Так как часто пакеты являются частью большого приложения с использованием SQL Server 2008, и разработчики не хотят, чтобы код их пакетов был скопирован или изменен.

Для защиты пакетов существует несколько возможностей:

  1. Настройка уровня защиты пакета (protection level).

  2. Использование ролей базы данных msdb

  3. Применение цифровых подписей для пакетов

9.27.1 Настройка уровня защиты пакета

Для настройки уровня защиты пакета необходимо:

  1. Щелкнуть правой кнопкой мыши по пустому пространству на вкладке Control Flow и в контекстном меню выбрать Properties.

  2. В группе Security свойств пакета находится свойство ProtectionLevel. Для него можно выбрать следующие значения:

    1. EncryptSensitiveWithUserKey (это значение выбирается по умолчанию) — вся секретная информация будет шифроваться ключом пользователя;

    2. DontSaveSensitive — вся секретная информация не будет сохраняться в пакете. Любому пользователю (в том числе автору пакета) придется при следующем открытии пакета вводить ее повторно;

    3. EncryptSensitiveWithPassword — вся секретная информация будет защищена паролем. Этот пароль потребуется указать при открытии пакета или запуске его на выполнения;

    4. EncryptAllWithPassword — весь пакет будет зашифрован при помощи пароля. Пароль потребуется не только для просмотра и редактирования пакета, но и для его запуска на выполнение;

    5. EncryptAllWithUserKey — весь пакет будет зашифрован при помощи пользовательского ключа, который хранится в профиле пользователя;

    6. ServerStorage — шифроваться ничего в пакете не будет. Вместо этого для защиты пакета будут использоваться роли базы данных MSDB. Этот вариант используется, когда пакет хранится в таблице sysdtspackages90 в базе данных MSDB.

9.27.2 Использование ролей базы данных msdb.

Эта возможность может применяться только к тем пакетам, которые хранятся в базе данных MSDB. Защиту ролями можно сочетать с защитой при помощи пользовательских ключей и паролей, а можно сделать единственной для пакета. В базе данных MSDB предусмотрено три специальных роли SSIS:

  • db_dtsadmin — члены этой роли получают административные права на пакеты DTS. Права этой роли автоматически получает пользователь с правами роли sysadmin для SQL Server;

  • db_dtsuser — члены этой роли могут создавать пакеты (то есть импортировать их в базу данных MSDB), изменять, удалять и запускать на выполнение свои пакеты, то есть те пакеты, владельцем которых они являются. Прав на пакеты других пользователей они не получают;

  • db_dtsoperator — члены этой роли могут просматривать любые пакеты, экспортировать их, запускать их на удаление и планировать к исполнению средствами SQL Server Agent. Однако изменять пакеты они не могут.

Для предоставления какому-либо пользователю или группе пользователей специального набора прав достаточно открыть Integration Services в окне Object Explorer в SQL Server Management Studio, щелкнуть правой кнопкой мыши по объекту пакета и в контекстном меню выбрать Package Roles (Роли пакета).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]