DTSProtectionLevel 列挙体

パッケージ内の機密情報の扱いを制御します。

名前空間:  Microsoft.SqlServer.Dts.Runtime
アセンブリ:  Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS.dll)

構文

'宣言
Public Enumeration DTSProtectionLevel
'使用
Dim instance As DTSProtectionLevel
public enum DTSProtectionLevel
public enum class DTSProtectionLevel
type DTSProtectionLevel
public enum DTSProtectionLevel

メンバー

メンバー名 説明
DontSaveSensitive 機密情報はパッケージに保存されていません。機密情報は、削除され空白に置き換えられます。
EncryptSensitiveWithUserKey 現在のユーザーに基づくキーを使ってパッケージ全体を暗号化します。同じプロファイルを使用している同じユーザーだけがパッケージを読み込むことができます。別のユーザーがパッケージを開くと、機密情報が空白に置き換えられます。暗号化処理には、DPAPI が使用されます。
EncryptSensitiveWithPassword パスワードを使用して、パッケージに含まれている機密情報のみを暗号化します。暗号化処理には、DPAPI が使用されます。
EncryptAllWithPassword パスワードを使用してパッケージ全体を暗号化します。
EncryptAllWithUserKey ユーザー プロファイルに基づくキーを使ってパッケージ全体を暗号化します。同じプロファイルを使用している同じユーザーだけがパッケージを読み込むことができます。
ServerStorage SQL Servermsdb データベース内のパッケージを暗号化します。このオプションは、パッケージが SQL Server に保存されている場合にのみサポートされます。パッケージがファイル システムに保存されている場合はサポートされません。パッケージを暗号化解除できるユーザーについてのアクセス制御は、SQL Server のデータベース ロールによって制御されます。詳細については、「データベース レベルのロール」および「sysssispackages (Transact-SQL)」を参照してください。

説明

値 DontSaveSensitive を使用すると、パッケージに機密情報が含まれている場合、この機密情報は保存されません。これは既定値です。

すべての値について、機密情報は次のように定義されます。

  • 接続文字列のパスワード部分。ただし、すべてを暗号化するオプションを選択した場合、接続文字列全体が機密情報と見なされます。

  • タスクが生成した XML ノードのうち、Sensitive 属性がタグ付けされているもの。

  • Sensitive 属性が設定されているすべての変数。

構成ファイル中に機密情報がある場合は、MicrosoftSQL Server に保存するか、アクセス制御リスト (ACL) を使用して格納場所またはフォルダを保護する必要があります。詳細については、「パッケージの構成の作成」を参照してください。

パッケージ保護レベルの設定の詳細については、「パッケージの保護レベルの設定」を参照してください。

暗号化を行うには、2 つの方法があります。Cryptography API (Crypto API) の一部である Microsoft Data Protection API (DPAPI) は、保護レベル EncryptAllWithUserKey および EncryptSensitiveWithUserKey に対して使用します。TripleDES クラスは、保護レベル EncryptAllWithPassword および EncryptSensitiveWithPassword に対して使用します。

詳細については、.NET Framework クラス ライブラリの「TripleDES クラス」を参照してください。

使用例

次の例では、パッケージを読み込み、パッケージに割り当てられた 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