DTSProtectionLevel Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Controla a manipulação de informações confidenciais no pacote.
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
type DTSProtectionLevel =
Public Enum DTSProtectionLevel
- Herança
-
DTSProtectionLevel
Campos
DontSaveSensitive | 0 | Informações confidenciais não são salvas no pacote. As informações confidenciais são removidas e substituídas por espaços em branco. |
EncryptAllWithPassword | 3 | Criptografa o pacote inteiro usando uma senha. |
EncryptAllWithUserKey | 4 | Criptografa o pacote inteiro usando chaves com base no perfil do usuário. Apenas o mesmo usuário usando o mesmo perfil pode carregar o pacote. |
EncryptSensitiveWithPassword | 2 | Criptografa apenas informações confidenciais contidas no pacote usando uma senha. O DPAPI é usado para essa criptografia. |
EncryptSensitiveWithUserKey | 1 | Criptografa as propriedades confidenciais somente usando chaves com base no usuário atual. Apenas o mesmo usuário usando o mesmo perfil pode carregar o pacote. Se outro usuário abrir o pacote, as informações confidenciais serão substituídas por espaços em branco. O DPAPI é usado para essa criptografia. |
ServerStorage | 5 | Criptografa o pacote em um banco de dados msdb SQL Server. Essa opção só tem suporte quando um pacote é salvo em SQL Server. Não há suporte para essa opção quando um pacote é salvo no Sistema de Arquivos. O controle de acesso de quem pode descriptografar o pacote é controlado por SQL Server funções de banco de dados. Para obter mais informações, consulte Funções de nível de banco de dados e sysssispackages (Transact-SQL). |
Exemplos
O exemplo a seguir carrega um pacote e recupera várias propriedades do pacote, incluindo a ProtectionLevel atribuída ao pacote.
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
}
Saída de exemplo:
CertificateContext = 0
CheckpointFileName =
ProtectionLevel = EncryptSensitiveWithUserKey
PackageType = Padrão
Comentários
Ao usar o valor DontSaveSensitive, se informações confidenciais estiverem contidas em um pacote, essas informações confidenciais não serão salvas. Esse é o valor padrão.
Para todos os valores, as informações confidenciais são definidas como:
A parte de senha de uma cadeia de conexão. No entanto, se você escolher uma opção que criptografa tudo, toda a cadeia de conexão será considerada confidencial.
Os nós XML gerados pela tarefa que são marcados com o
Sensitive
atributo.Qualquer variável marcada com o
Sensitive
atributo.
Se você tiver informações confidenciais em um arquivo de configuração, salve-o no Microsoft SQL Server ou use uma ACL (lista de controle de acesso) para proteger o local ou a pasta. Para obter mais informações, consulte Criar configurações de pacote.
Para obter mais informações sobre como definir níveis de proteção de pacote, consulte Controle de Acesso para dados confidenciais em pacotes.
A criptografia é feita usando dois métodos. A API de Proteção de Dados da Microsoft (DPAPI), que faz parte da API de Criptografia (API de Criptografia), é usada para os níveis de proteção de EncryptAllWithUserKey e EncryptSensitiveWithUserKey. A TripleDES
classe é usada para os níveis de proteção de EncryptAllWithPassword e EncryptSensitiveWithPassword.
Para obter mais informações, consulte Classe TripleDES na Biblioteca de Classes .NET Framework.