DTSProtectionLevel Enumeration
パッケージ内の機密情報の扱いを制御します。
名前空間: Microsoft.SqlServer.Dts.Runtime
アセンブリ: Microsoft.SqlServer.ManagedDTS (microsoft.sqlserver.manageddts.dll 内)
構文
'宣言
Public Enumeration DTSProtectionLevel
public enum DTSProtectionLevel
public enum class DTSProtectionLevel
public enum DTSProtectionLevel
public enum DTSProtectionLevel
メンバ
メンバ名 | 説明 |
---|---|
DontSaveSensitive | 機密情報はパッケージに保存されていません。機密情報は、削除され空白に置き換えられます。 |
EncryptAllWithPassword | パスワードを使用してパッケージ全体を暗号化します。 |
EncryptAllWithUserKey | ユーザー プロファイルに基づくキーを使ってパッケージ全体を暗号化します。同じプロファイルを使用している同じユーザーのみがパッケージを読み込むことができます。 |
EncryptSensitiveWithPassword | パスワードを使用して、パッケージに含まれている機密情報のみを暗号化します。この暗号化には DPAPI が使用されます。 |
EncryptSensitiveWithUserKey | 現在のユーザーに基づくキーを使ってパッケージ全体を暗号化します。同じプロファイルを使用している同じユーザーのみがパッケージを読み込むことができます。別のユーザーがパッケージを開くと、機密情報が空白に置き換えられます。この暗号化には DPAPI が使用されます。 |
ServerStorage | SQL Servermsdb データベース内のパッケージを暗号化します。このオプションは、パッケージが SQL Server に保存されている場合にのみサポートされます。パッケージがファイル システムに保存されている場合はサポートされません。パッケージを暗号化解除できるユーザーについてのアクセス制御は、SQL Server のデータベース ロールによって制御されます。詳細については、「データベース レベルのロール」および「sysdtspackages90 (Transact-SQL)」を参照してください。 |
解説
値 DontSaveSensitive を使用すると、パッケージに機密情報が含まれている場合、この機密情報は保存されません。これは既定値です。
すべての値について、機密情報は次のように定義されます。
接続文字列のパスワード部分。ただし、すべてを暗号化するオプションを選択した場合、接続文字列全体が機密情報と見なされます。
タスクが生成した XML ノードのうち、Sensitive 属性がタグ付けされているもの。
Sensitive 属性が設定されているすべての変数。
構成ファイル中に機密情報がある場合は、Microsoft SQL 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\90\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\90\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
プラットフォーム
開発プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。
対象プラットフォーム
サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。