DTSProtectionLevel Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Управляет обработкой конфиденциальных данных в пакете.
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
type DTSProtectionLevel =
Public Enum DTSProtectionLevel
- Наследование
-
DTSProtectionLevel
Поля
DontSaveSensitive | 0 | Конфиденциальные данные не сохраняются в пакете. Конфиденциальные данные удаляются и заменяются пробелами. |
EncryptAllWithPassword | 3 | Шифрует весь пакет с использованием пароля. |
EncryptAllWithUserKey | 4 | Шифрует весь пакет с использованием ключей, зависящих от профиля пользователя. Только тот же пользователь, использующий тот же профиль, может загрузить пакет. |
EncryptSensitiveWithPassword | 2 | Шифрует только конфиденциальные данные, содержащиеся в пакете, с использованием пароля. Для шифрования используется DPAPI. |
EncryptSensitiveWithUserKey | 1 | Шифрует только конфиденциальные свойства с использованием ключей, зависящих от текущего пользователя. Только тот же пользователь, использующий тот же профиль, может загрузить пакет. Если другой пользователь откроет пакет, конфиденциальные данные будут заменены пробелами. Для шифрования используется DPAPI. |
ServerStorage | 5 | Шифрует пакет в базе данных msdb SQL Server. Этот параметр поддерживается только в том случае, если пакет сохраняется в SQL Server. Он не поддерживается, когда пакет сохраняется в файловой системе. Управление доступом пользователей, которые могут расшифровать пакет, контролируется ролями базы данных SQL Server. Дополнительные сведения см. в статьях Роли уровня базы данных и sysssispackages (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 = Default
Комментарии
При использовании значения DontSaveSensitive, если конфиденциальная информация содержится в пакете, эта конфиденциальная информация не сохраняется. Это значение по умолчанию.
Для всех значений конфиденциальная информация определяется следующим образом:
Часть пароля строки подключения. Однако при выборе параметра, который шифрует все, вся строка подключения будет считаться конфиденциальной.
Созданные задачей УЗЛЫ XML, помеченные атрибутом
Sensitive
.Любая переменная, помеченная атрибутом
Sensitive
.
Если у вас есть конфиденциальная информация в файле конфигурации, ее следует сохранить в Microsoft SQL Server или использовать список управления доступом (ACL) для защиты расположения или папки. Дополнительные сведения см. в разделе Создание конфигурации пакетов.
Дополнительные сведения о настройке уровней защиты пакетов см. в разделе контроль доступа для конфиденциальных данных в пакетах.
Шифрование выполняется с помощью двух методов. API защиты данных Майкрософт (DPAPI), который является частью API шифрования (API шифрования), используется для уровней EncryptAllWithUserKey защиты и EncryptSensitiveWithUserKey. Класс TripleDES
используется для уровней EncryptAllWithPassword защиты и EncryptSensitiveWithPassword.
Дополнительные сведения см. в разделе "Класс TripleDES" в библиотеке классов платформа .NET Framework.