Compartilhar via


DTSProtectionLevel Enumeração

Definição

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.

Aplica-se a