DTSProtectionLevel Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Контролирует обработку конфиденциальной информации в упаковке.
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
type DTSProtectionLevel =
Public Enum DTSProtectionLevel
- Наследование
-
DTSProtectionLevel
Поля
| Имя | Значение | Описание |
|---|---|---|
| DontSaveSensitive | 0 | Конфиденциальная информация не сохраняется в упаковке. Конфиденциальная информация удаляется и заменяется пустыми вариантами. |
| EncryptSensitiveWithUserKey | 1 | Шифрует чувствительные свойства только с помощью ключей, основанных на текущем пользователе. Загрузить пакет может только тот же пользователь, использующий тот же профиль. Если пакет открывает другой пользователь, конфиденциальная информация заменяется пустыми вариантами. Для шифрования используется DPAPI. |
| EncryptSensitiveWithPassword | 2 | Шифрует только конфиденциальную информацию, содержащуюся в пакете, с помощью пароля. Для шифрования используется DPAPI. |
| EncryptAllWithPassword | 3 | Шифрует весь пакет с помощью пароля. |
| EncryptAllWithUserKey | 4 | Шифрует весь пакет с помощью ключей, основанных на профиле пользователя. Загрузить пакет может только тот же пользователь, использующий тот же профиль. |
| ServerStorage | 5 | Шифрует пакет в базе данных msdb SQL Server. Эта опция поддерживается только при сохранении пакета на SQL Server. Он не поддерживается при сохранении пакета в файловой системе. Контроль доступа к тому, кто может расшифровать пакет, контролируется ролями баз данных SQL Server. Для получения дополнительной информации смотрите Database-Level Роли и системные пакеты (Transact-SQL). |
Примеры
Следующий пример загружает пакет, а затем получает несколько свойств пакета, включая ProtectionLevel назначенные пакету.
Class PackageTest
{
static void Main(string[] args)
{
// The variable pkg points to the location of the
// ExecuteProcess package sample
// installed with the samples.
string pkg = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx";
Application app = new Application();
Package p = app.LoadPackage(pkg, null);
// Once the package is loaded, this sample can
// query on several properties
long cc = p.CertificateContext;
string cfn = p.CheckpointFileName;
DTSProtectionLevel pl = p.ProtectionLevel;
DTSPackageType dpt = p.PackageType;
Console.WriteLine("CertificateContext = " + cc);
Console.WriteLine("CheckpointFileName = " + cfn);
Console.WriteLine("ProtectionLevel = " + pl);
Console.WriteLine("PackageType = " + dpt);
}
}
Class PackageTest
{
Shared Sub Main(ByVal args() As String)
' The variable pkg points to the location of the
' ExecuteProcess package sample
' installed with the samples.
Dim pkg As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"
Dim app As Application = New Application()
Dim p As Package = app.LoadPackage(pkg,Nothing)
' Once the package is loaded, this sample can
' query on several properties
Dim cc As Long = p.CertificateContext
Dim cfn As String = p.CheckpointFileName
Dim pl As DTSProtectionLevel = p.ProtectionLevel
Dim dpt As DTSPackageType = p.PackageType
Console.WriteLine("CertificateContext = " + cc)
Console.WriteLine("CheckpointFileName = " + cfn)
Console.WriteLine("ProtectionLevel = " + pl)
Console.WriteLine("PackageType = " + dpt)
End Sub
}
Пример вывода:
CertificateContext = 0
CheckpointFileName =
ProtectionLevel = EncryptSensitiveWithUserKey
PackageType = По умолчанию
Комментарии
При использовании значения DontSaveSensitive, если в пакете содержится конфиденциальная информация, эта чувствительная информация не сохраняется. Это значение по умолчанию.
Для всех значений чувствительная информация определяется как:
Паролевая часть строка подключения. Однако, если выбрать опцию, шифрующую всё, вся строка подключения будет считаться чувствительной.
XML-узлы, сгенерированные задачами, которые отмечены
Sensitiveатрибутом.Любая переменная, отмеченная атрибутом
Sensitive.
Если в конфигурационном файле есть конфиденциальная информация, лучше сохранить её на Microsoft SQL Server или использовать список контроля доступа (ACL) для защиты местоположения или папки. Дополнительные сведения см. в разделе Создание конфигурации пакетов.
Для получения дополнительной информации о настройках уровней защиты пакетов см. раздел контроль доступа for Sensitive Data in Packages.
Шифрование осуществляется двумя методами. Microsoft Data Protection API (DPAPI), являющийся частью Cryptography API (Crypto API), используется для уровней EncryptAllWithUserKey защиты и EncryptSensitiveWithUserKey. Класс TripleDES используется для уровней защиты и EncryptAllWithPasswordEncryptSensitiveWithPassword.
Для получения дополнительной информации см. Класс TripleDES в библиотеке классов .NET Framework.