Oracle Database アダプターをセキュリティで保護するためのベスト プラクティス
このセクションでは、Microsoft BizTalk Adapter for Oracle Database を使用するアプリケーションを使用または開発するときに、機密データをより完全に保護するために従う必要があるベスト プラクティスについて説明します。
Oracle データベース アダプターと Oracle データベース間の接続に関するセキュリティのベスト プラクティス
Oracle Database アダプターは、Oracle データベースとの間の通信をセキュリティで保護するためのサポートを提供しません。 アダプターと Oracle データベースの間で交換されるデータに対して適切なレベルのセキュリティを確保するためのメカニズムを提供する必要があります。
接続 URI に Oracle データベースのユーザー名パスワード資格情報を指定しないでください。 Oracle Database アダプターに資格情報を提供する別の方法については、次のセクションを参照してください。
Oracle Database アダプターを使用すると、Oracle データベースに接続するときに Windows 認証を使用してメタデータを生成し、Visual Studio またはBizTalk Serverを介して操作を実行することもできます。 Windows 認証を使用する前に、「 Windows 認証を使用した Oracle データベースへの接続」に記載されている手順を実行する必要があります。
詳細については、「 Oracle Database とアダプターの間のセキュリティ」を参照してください。
BizTalk Serverを使用した Oracle データベース アダプターの使用に関するセキュリティのベスト プラクティス
接続 URI に Oracle データベースのユーザー名パスワード資格情報を指定しないでください。
アダプター サービス アドインを使用する場合は、[アダプターの構成] ダイアログ ボックスの [セキュリティ] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。
送信ポートで Oracle データベース アダプターの BizTalk WCF-Custom アダプターを構成する場合は、[WCF カスタム トランスポートの構成] ダイアログ ボックスの [資格情報] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。
受信場所で Oracle データベース アダプターの BizTalk WCF-Custom アダプターを構成する場合は、[WCF カスタム トランスポートの構成] ダイアログ ボックスの [その他] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。
Oracle Database アダプターを使用すると、Oracle データベースに接続するときに Windows 認証を使用してメタデータを生成し、BizTalk Serverを介して操作を実行することもできます。 Windows 認証を使用する前に、「 Windows 認証を使用した Oracle データベースへの接続」に記載されている手順を実行する必要があります。
詳細については、「Oracle Database アダプターを使用したセキュリティ」および「BizTalk Server」を参照してください。
プログラミング ソリューションを使用した Oracle データベース アダプターの使用に関するセキュリティのベスト プラクティス
接続 URI で Oracle データベースのユーザー名パスワード資格情報を指定することが必要な場合があります。ただし、可能な場合は、これを行わないようにする必要があります。
[アダプター サービス参照の追加] Visual Studio プラグインを使用する場合は、[アダプターの構成] ダイアログ ボックスの [セキュリティ] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。
WCF チャネル モデル プログラミングでは、チャネル ファクトリの Credentials プロパティを使用して、Oracle データベースのユーザー名パスワード資格情報を設定します。
WCF サービス モデル プログラミングでは、WCF クライアントの ClientCredentials プロパティを使用して、Oracle データベースのユーザー名パスワード資格情報を設定します。
Oracle Database アダプターを使用するアプリケーションが、プロセス境界を越えて機密性の高いデータベース情報を含むメッセージを別のサービスまたはクライアントに送信する場合は、環境内で十分なデータ保護を提供するために、これらのメッセージに十分なセキュリティ対策が適用されていることを確認します。
Oracle Database アダプターを使用すると、Oracle データベースに接続するときに Windows 認証を使用してメタデータを生成し、Visual Studio を介して操作を実行することもできます。 Windows 認証を使用する前に、「 Windows 認証を使用した Oracle データベースへの接続」に記載されている手順を実行する必要があります。
詳細については、「 Oracle Database アダプターを使用したセキュリティで保護されたプログラミング」を参照してください。
IIS で Oracle データベース アダプターをホストするためのセキュリティのベスト プラクティス
Microsoft インターネット インフォメーション サービス (IIS) で Oracle Database アダプターを Web サービスとしてホストすると、Oracle Database アダプターによって表示される操作が Web クライアントに公開されます。 これらの操作には、インターネット経由での機密データの交換が含まれる可能性があるため、このデータが可能な限り安全であることを確認するための対策を講じておく必要があります。
WCF には、HTTP トランスポート用の 2 つの標準バインディングが用意されています。 BasicHttpBinding は、セキュリティ メカニズムのない基本的な HTTP トランスポートを提供します。 WSHttpBinding では、トランスポート レベルとメッセージ レベルの両方のセキュリティ メカニズムがサポートされています。
HTTPS 接続経由で BasicHttpBinding を 使用するか、 WSHttpBinding を 使用してデータを保護できます。 WCF LOB アダプター SDK には、LOB 成果物の WCF サービスを生成するための WCF LOB アダプター サービス開発ウィザードが含まれています。 このウィザードでは、 BasicHttpBinding の使用のみがサポートされています。
また、カスタム HTTP バインディングを開発して、環境で提供される追加のセキュリティ メカニズムを活用することもできます。 WCF が提供するセキュリティ機能の詳細については、「 サービスとクライアントのセキュリティ保護」を参照してください。
WCF 診断トレースとメッセージ ログのセキュリティに関するベスト プラクティス
WCF では、診断トレースとメッセージ ログがサポートされます。 診断トレースとメッセージ ログは、構成ファイルを使用するか、Windows Management Instrumentation (WMI) を使用して構成します。 設定した構成オプションに応じて、WCF 診断トレースまたはメッセージ ログは機密情報をログ ファイルに出力できます。この場合、承認されていないユーザーが監視に公開する可能性があります。
WCF ドキュメントに記載されている推奨事項に従って、これらの機能を有効にすることで公開される潜在的なセキュリティの脅威を軽減します。 少なくとも、診断トレースとメッセージ ログに関する次のベスト プラクティスを確認する必要があります。
運用環境で "verbose" または "information" トレースを有効にしないでください。 これにより、パフォーマンスが低下する可能性があります。 ただし、運用環境で "警告" と "エラー" トレースを有効にする必要があります。 トレースを有効にする場合は、データを保護するために適切なセキュリティ対策を講じなければなりません。 詳細については、WCF のドキュメントを参照してください。
ログ ファイルと構成ファイルがアクセス制御リスト (ACL) によって保護されていることを確認します。
次の警告は、クライアント アプリケーションと Oracle Database アダプターの間で交換されるメッセージに特に適用されます。
WCF 診断トレースでは、Oracle Database アダプターと交換されたメッセージのヘッダー (本文ではなく) をログに記録できます。 メッセージ アクションはメッセージ ヘッダー内にあるため、クライアントによって Oracle Database アダプターで呼び出された操作が表示されます。
WCF メッセージ ログが有効で、 が の場合、
true
アダプター クライアントとlogMessagesAtServiceLevel
Oracle データベース アダプターの間で交換されたメッセージのメッセージ ヘッダー (メッセージ本文ではない) がログに記録されます。 メッセージ アクションはメッセージ ヘッダー内にあるため、クライアントが Oracle Database アダプターで呼び出した操作が表示されます。 もtrue
の場合logEntireMessage
、メッセージ本文がログに記録されます。 これにより、機密性の高いデータベース情報が表示される可能性があります。診断トレースを有効にするときのセキュリティの向上の詳細については、「 セキュリティに関する懸念事項とトレースに役立つヒント」を参照してください。 メッセージ ログを有効にするときのセキュリティの向上の詳細については、「メッセージ ログの セキュリティに関する懸念事項」を参照してください。