Установка уровня защиты пакетов
Уровень защиты пакета служб SQL Server 2005 Integration Services (SSIS) задается, когда начинается его разработка в среде Business Intelligence Development Studio. Позже, когда пакет развернут, импортирован или экспортирован из служб Integration Services в службы SQL Server Management Studio либо скопирован из среды Business Intelligence Development Studio в SQL Server, хранилище пакетов служб SSIS или службу файловой системы, можно изменить уровень защиты пакета. Например, если пользователь создает и сохраняет пакеты на своем компьютере с одним из параметров ключевых пользовательских уровней защиты, возможно, ему захочется изменить уровень защиты, предоставляя пакет другим пользователям, так как иначе они попросту не смогут открыть пакет.
Следующая таблица описывает уровни защиты, предоставляемые службами Integration Services. Значения в скобках — это значения из DTSProtectionLevel. Эти значения отображаются в окне «Свойства», которое используется для задания настроек свойств объекта пакета при работе с пакетами в среде Business Intelligence Development Studio.
Уровень защиты | Описание |
---|---|
Не сохранять конфиденциальные данные (DontSaveSensitive). |
Подавляет конфиденциальные сведения в пакете при сохранении. Этот уровень защиты не шифрует, а предотвращает сохранение в пакете свойств, помеченных как конфиденциальные, и таким образом делает конфиденциальные данные недоступными для других пользователей. Если другой пользователь откроет пакет, конфиденциальная информация будет заменена пробелами и пользователь сам будет должен задать эти конфиденциальные сведения. |
Шифровать все данные паролем (EncryptAllWithPassword). |
Шифрует весь пакет с использованием пароля. Пакет шифруется с использованием пароля, который пользователь предоставляет при создании или экспорте пакета. Чтобы открыть пакет в конструкторе служб SSIS или запустить пакет с использованием программы командной строки dtexec, пользователь должен предоставить пароль пакета. Без пароля пользователь не может получить доступ к пакету или запустить его. |
Шифровать все данные пользовательским ключом (EncryptAllWithUserKey). |
Шифрует весь пакет пользовательским ключом, основанным на профиле пользователя. Только тот же пользователь, использующий тот же профиль, сможет загрузить пакет. Пакет шифруется с использованием ключа, основанного на профиле пользователя, создавшего или экспортировавшего пакет. Только пользователь, создавший или экспортировавший пакет, сможет открыть пакет в конструкторе служб SSIS или запустить пакет с помощью программы командной строки dtexec. |
Шифровать конфиденциальные данные паролем (EncryptSensitiveWithPassword). |
Шифрует только конфиденциальные сведения в пакете с использованием пароля. Для шифрования используется DPAPI. Конфиденциальные данные сохраняются как часть пакета, но эти данные шифруются с использованием пароля, предоставляемого текущим пользователем при создании или экспорте пакета. Чтобы открыть пакет в конструкторе служб SSIS, пользователь должен предоставить пароль пакета. Если пароль не предоставлен, пакет открывается без конфиденциальных данных и текущий пользователь должен ввести новые значения для конфиденциальных данных. Если пользователь пытается выполнить пакет без предоставления пароля, выполнения не происходит. Дополнительные сведения о паролях и выполнении из командной строки см. в разделе Программа dtexec. |
Шифровать конфиденциальные данные пользовательским ключом (EncryptSensitiveWithUserKey). |
Шифрует только конфиденциальные данные в пакете с использованием ключей текущего пользователя. Только тот же пользователь, использующий тот же профиль, сможет загрузить пакет. Если другой пользователь откроет пакет, конфиденциальная информация будет заменена пробелами и пользователь сам должен задать эти конфиденциальные данные. Если пользователь пытается выполнить пакет, запуска не происходит. Для шифрования используется DPAPI. |
Шифровать в зависимости от хранилища на сервере (ServerStorage). |
Защищает весь пакет, используя роли базы данных SQL Server. Этот параметр поддерживается только в случае, когда пакет сохраняется в базе данных SQL Server msdb. Он не поддерживается, когда пакет сохраняется в файловой системе из Business Intelligence Development Studio. |
Уровни защиты пакета, шифрующие пакеты с паролями, требуют введения пароля. Если пользователь изменяет уровень защиты с уровня, не использующего пароль, на уровень, его использующий, пользователю будет предложено ввести пароль.
Шифрование, используемое уровнями защиты пакетов, выполняется при помощи API-интерфейса DPAPI (Microsoft Data Protection API), являющегося частью шифровального API-интерфейса (Cryptography API).
Службы Integration Services используют алгоритм шифрования Triple DES с длиной ключа 192 бита, доступный из .NET Framework Class Library (FCL), для уровней защиты, использующих пароли.
Для уровней защиты с ключом пользователя службы Integration Services используют стандарты DPAPI. Дополнительные сведения о DPAPI см. в библиотеке MSDN по адресу https://msdn.microsoft.com/library.
При использовании уровня защиты Не сохранять конфиденциальные данные (DontSaveSensitive) конфиденциальная информация в пакете не сохраняется.
Для всех значений конфиденциальные данные определяются следующим образом.
- Часть строки соединения, содержащая пароль. Однако, если выбран параметр, который шифрует все, строка соединения целиком будет рассматриваться как конфиденциальная.
- Сформированные задачей XML-узлы, помеченные как конфиденциальные. Пометки XML-узлов управляются службами Integration Services и не могут изменяться пользователями.
- Любая переменная помечается как конфиденциальная. Пометки переменных управляются службами Integration Services.
Пакеты, сохраняемые в базе данных msdb, также могут быть защищены с использованием фиксированных ролей уровня базы данных. Службы Integration Services включают в себя три фиксированные роли уровня базы данных для назначения разрешений пакетам: db_dtsadmin, db_dtsltduser и db_dtsoperator. Дополнительные сведения см. в разделах Роли служб Integration Services и Роли уровня базы данных.
См. также
Задачи
Импорт и экспорт пакетов
Как импортировать пакеты при помощи службы Integration Services
Как экспортировать пакет с помощью служб Integration Services
Основные понятия
Пакеты служб Integration Services
Вопросы безопасности для служб Integration Services