다음을 통해 공유


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

SQL Server msdb 데이터베이스 내에서 패키지를 암호화합니다. 이 옵션은 패키지가 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 = 기본값

설명

값을 DontSaveSensitive사용할 때 중요한 정보가 패키지에 포함된 경우 이 중요한 정보는 저장되지 않습니다. 이것은 기본값입니다.

모든 값에 대해 중요한 정보는 다음과 같이 정의됩니다.

  • 연결 문자열의 암호 부분입니다. 그러나 모든 항목을 암호화하는 옵션을 선택하면 전체 연결 문자열이 중요한 것으로 간주됩니다.

  • 특성으로 Sensitive 태그가 지정된 작업 생성 XML 노드입니다.

  • 특성으로 표시된 변수입니다 Sensitive .

구성 파일에 중요한 정보가 있는 경우 Microsoft SQL Server 저장하거나 ACL(액세스 제어 목록)을 사용하여 위치 또는 폴더를 보호해야 합니다. 자세한 내용은 패키지 구성 만들기를 참조하세요.

패키지 보호 수준을 설정하는 방법에 대한 자세한 내용은 패키지의 중요한 데이터에 대한 Access Control 참조하세요.

암호화는 두 가지 방법을 사용하여 수행됩니다. 암호화 API(Crypto API)의 일부인 Microsoft DPAPI(Data Protection API)는 보호 수준 및 EncryptSensitiveWithUserKey보호 수준에 EncryptAllWithUserKey 사용됩니다. 클래스는 TripleDES 및 .의 EncryptAllWithPasswordEncryptSensitiveWithPassword보호 수준에 사용됩니다.

자세한 내용은 .NET Framework 클래스 라이브러리의 TripleDES 클래스를 참조하세요.

적용 대상