次の方法で共有


Oracle データベース アダプターをセキュリティで保護するためのベスト プラクティス

このセクションでは、Microsoft BizTalk Adapter for Oracle Database を使用するアプリケーションを使用または開発するときに、機密データをより完全に保護するために従う必要があるベスト プラクティスについて説明します。

Oracle データベース アダプターと Oracle データベース間の接続に関するセキュリティのベスト プラクティス

  • Oracle データベース アダプターは、Oracle データベースとの間の通信をセキュリティで保護するためのサポートを提供しません。 アダプターと Oracle データベースの間で交換されるデータに対して適切なレベルのセキュリティを確保するためのメカニズムを提供する必要があります。

  • 接続 URI に Oracle データベースのユーザー名パスワード資格情報を指定しないでください。 Oracle Database アダプターに資格情報を提供する別の方法については、次のセクションを参照してください。

  • Oracle データベース アダプターを使用すると、Oracle データベースに接続するときに Windows 認証を使用して、Visual Studio または BizTalk Server を介してメタデータを生成し、操作を実行することもできます。 Windows 認証を使用する前に、「 Windows 認証を使用した Oracle データベースへの接続」に記載されている手順を実行する必要があります。

    詳細については、「 Oracle データベースとアダプターの間のセキュリティ」を参照してください

BizTalk Server で Oracle データベース アダプターを使用するためのセキュリティのベスト プラクティス

  • 接続 URI に Oracle データベースのユーザー名パスワード資格情報を指定しないでください。

  • アダプター サービスアドインを使用する場合は、[アダプターの構成] ダイアログ ボックスの [セキュリティ] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。

  • 送信ポートで Oracle データベース アダプターの BizTalk WCF-Custom アダプターを構成する場合は、[WCF カスタム トランスポートの構成] ダイアログ ボックスの [資格情報] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。

  • 受信場所で Oracle データベース アダプターの BizTalk WCF-Custom アダプターを構成する場合は、[WCF カスタム トランスポートの構成] ダイアログ ボックスの [その他] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。

  • Oracle データベース アダプターを使用すると、Oracle データベースに接続するときに Windows 認証を使用してメタデータを生成し、BizTalk Server 経由で操作を実行することもできます。 Windows 認証を使用する前に、「 Windows 認証を使用した Oracle データベースへの接続」に記載されている手順を実行する必要があります。

    詳細については、「 Oracle データベース アダプターと BizTalk Server を使用したセキュリティ」を参照してください。

プログラミング ソリューションを使用した Oracle データベース アダプターの使用に関するセキュリティのベスト プラクティス

  • 接続 URI で Oracle データベースのユーザー名パスワード資格情報を指定することが必要な場合があります。ただし、可能であれば、この操作は避ける必要があります。

  • Add Adapter Service Reference Visual Studio プラグインを使用する場合は、[アダプターの構成] ダイアログ ボックスの [セキュリティ] タブから Oracle データベースのユーザー名パスワード資格情報を入力します。

  • WCF チャネル モデル プログラミングでは、チャネル ファクトリの Credentials プロパティを使用して、Oracle データベースのユーザー名パスワード資格情報を設定します。

  • WCF サービス モデル プログラミングでは、WCF クライアントの ClientCredentials プロパティを使用して、Oracle データベースのユーザー名パスワード資格情報を設定します。

  • Oracle Database アダプターを使用するアプリケーションが、プロセス境界を越えて機密性の高いデータベース情報を含むメッセージを別のサービスまたはクライアントに送信する場合は、これらのメッセージに十分なセキュリティ対策が適用され、環境内で十分なデータ保護が提供されていることを確認します。

  • Oracle データベース アダプターを使用すると、Oracle データベースに接続するときに Windows 認証を使用してメタデータを生成し、Visual Studio を介して操作を実行することもできます。 Windows 認証を使用する前に、「 Windows 認証を使用した Oracle データベースへの接続」に記載されている手順を実行する必要があります。

    詳細については、「 Oracle Database アダプターを使用したセキュア プログラミング」を参照してください

IIS で Oracle データベース アダプターをホストするためのセキュリティのベスト プラクティス

Microsoft インターネット インフォメーション サービス (IIS) で Oracle データベース アダプターを Web サービスとしてホストすると、Oracle データベース アダプターによって表示される操作が 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 ドキュメントに記載されている推奨事項に従って、これらの機能を有効にすることで公開される潜在的なセキュリティの脅威を軽減します。 少なくとも、診断トレースとメッセージ ログ記録に関する次のベスト プラクティスを確認する必要があります。

  • 運用環境では「詳細」または「情報」トレースを有効にしないでください。 これにより、パフォーマンスが低下する可能性があります。 ただし、運用環境で "警告" と "エラー" トレースを有効にする必要があります。 トレースを有効にする場合は、データを保護するために適切なセキュリティ対策を講じなければなりません。 詳細については、WCF のドキュメントを参照してください。

  • ログ ファイルと構成ファイルがアクセス制御リスト (ACL) によって保護されていることを確認します。

    次の警告は、クライアント アプリケーションと Oracle データベース アダプターの間で交換されるメッセージに特に適用されます。

  • WCF 診断トレースでは、Oracle Database アダプターと交換されたメッセージのヘッダー (本文ではなく) をログに記録できます。 メッセージ アクションはメッセージ ヘッダー内にあるため、クライアントによって Oracle Database アダプターで呼び出された操作が表示されます。

  • WCF メッセージ ログが有効になっていて、 logMessagesAtServiceLeveltrueされている場合、アダプター クライアントと Oracle データベース アダプターの間で交換されたメッセージのメッセージ ヘッダー (ただし、メッセージ本文ではありません) がログに記録されます。 メッセージ アクションはメッセージ ヘッダー内にあるため、クライアントが Oracle Database アダプターで呼び出した操作が表示されます。 logEntireMessagetrue場合は、メッセージ本文がログに記録されます。 これにより、機密性の高いデータベース情報が表示される可能性があります。

    診断トレースを有効にしたときのセキュリティの向上の詳細については、「 セキュリティの懸念事項とトレースに関する便利なヒント」を参照してください。 メッセージ ログを有効にしたときのセキュリティの向上の詳細については、「メッセージ ログの セキュリティに関する懸念事項」を参照してください。

こちらもご覧ください

Oracle Database アプリケーションをセキュリティで保護する