証明書によるパッケージの署名
更新 : 2006 年 12 月 12 日
SQL Server 2005 Integration Services (SSIS) パッケージは、証明書を使用して署名でき、この署名がパッケージの読み込み前にランタイムによって必ず確認されるように構成できます。パッケージのプロパティである CheckSignatureOnLoad と CertificateObject を使用すると、証明書のチェックを行うかどうかを指定したり、パッケージに署名するときに使用された証明書を指定することができます。パッケージへの署名に使用する証明書は、コードの署名用に有効になっている必要があります。
Integration Services は、署名付きパッケージまたは署名がないパッケージを読み込む際の組織のポリシーを管理するために使用できるレジストリ値を提供します。このレジストリ値を使用して、署名付きパッケージの信頼できない署名を管理することもできます。パッケージの署名に使用される署名のステータスについて、BlockedSignatureStates レジストリ値では以下の定義が適用されます。
- 有効な署名とは、正常に読み取ることができる署名のことです。
- 無効な署名とは、暗号化解除済みのチェックサム (秘密キーによって暗号化されたパッケージ コードの一方向のハッシュ) が、Integration Services パッケージを読み込むプロセスの一部として計算された暗号化解除済みのチェックサムと一致しない署名のことです。
- 信頼できる署名とは、信頼されているルート証明機関により署名されたデジタル証明書を使用して作成される署名のことです。この設定で、署名者は、ユーザーの信頼できる発行元のリストに含まれている必要はありません。
- 信頼できない署名とは、信頼されているルート証明機関によって発行されたことを確認できない署名、または最新ではない署名のことです。
このレジストリ値を使用して、パッケージが署名されていない場合、または無効な署名や信頼できない署名が加えられている場合に、パッケージが読み込まれないようにするには、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS レジストリ キーに BlockedSignatureStates という DWORD 値を追加し、その値を 0、1、2、3 のいずれかに指定する必要があります。
次の表に、DWORD データの有効な値、およびそれらに関連付けられたポリシーを示します。
値 | 説明 |
---|---|
0 |
管理制限はありません。 |
1 |
署名が無効なパッケージをブロックします。 この設定では、署名がないパッケージはブロックしません。 |
2 |
署名が無効または信頼できないパッケージをブロックします。 この設定では、署名がないパッケージをブロックしませんが、自己生成された署名をブロックします。 |
3 |
署名が無効であるか署名が信頼できないパッケージ、および署名がないパッケージをブロックします。 この設定では、自己生成された署名もブロックします。 |
BlockedSignatureStates レジストリ値の型が DWORD の場合、0、1、2、3 のいずれでもないレジストリ値は、Integration Services によりレジストリ値 3 として扱われます。BlockedSignatureStates が DWORD に設定されていない場合、Integration Services はこのレジストリ値を値が 0 の DWORD として扱います。
メモ : |
---|
BlockedSignatureStates の推奨設定値は 3 です。この設定では、署名されていないパッケージまたは無効な署名や信頼できない署名に対する最大の保護が提供されます。ただし、推奨される設定がすべての状況に適しているとは限りません。デジタル アセットの署名方法の詳細については、MSDN ライブラリの「コード署名の概要」を参照してください。 |
パッケージに署名するには
参照
概念
Integration Services パッケージ
Integration Services のセキュリティに関する注意点
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 12 月 12 日 |
|
2006 年 4 月 14 日 |
|