この章では、Service Busのインバウンド・セキュリティおよび管理セキュリティで使用されるユーザー、グループおよびロールを作成する方法について説明します。インバウンド・トランスポートレベルのセキュリティとメッセージレベルのセキュリティは、ユーザー、グループ、およびロールのデータを使用して、インバウンドのクライアント・リクエストを認証し、アクセス制御ポリシーを適用して、プロキシ・サービスとビジネス・サービスの使用が許可されている認証済ユーザーを判断します。管理セキュリティでは、ユーザー、グループおよびロールのデータを使用して、どの認証ユーザーに対して、Service Busのリソースの作成または変更や、Service Busのパフォーマンスのモニターを許可するかを決定します。
この章の内容は次のとおりです。
認証と認可のために、Service Busは、Oracle Application Development Framework (ADF)セキュリティを使用します。これは、Oracle Platform Security Services (OPSS)に基づいて構築されています。OPSSの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』を参照してください。ADFセキュリティの詳細は、Oracle Application Development Frameworkの理解のADFセキュリティ・フレームワークに関する項を参照してください。
Service Busコンポーネントのセキュリティを構成し、各ユーザーに特定の権限を付与するために、ユーザー・アカウント、グループ、アプリケーション・ロールおよびポリシーを定義します。プロキシ・サービスの作成などの管理機能にユーザーがアクセスできるようにするには、事前定義済のアクセス権限を持つ、事前定義済のアプリケーション・ロールにユーザーを割り当てます。さらに、ユーザー・グループを作成して、そのグループを事前定義済のロールに割り当てることで、ユーザーのグループに同一のアクセス権を付与することもできます。アプリケーション・ロールのアクセス権は変更できませんが、ユーザーとグループに対して、デフォルトのロールとともに個別のアクセス権を付与することは可能です。
ユーザーは、Service Busで認証できる唯一のエンティティであり、人物またはソフトウェア・エンティティ(Webサービスのクライアントなど)になります。各ユーザーには、セキュリティ・レルム内でユニークなID (名前)を割り当てる必要があります。一般的に、作成するユーザーは次の2つのカテゴリのいずれかに分類されます。
クライアント・ユーザー。このユーザーは、プロキシ・サービスまたはビジネス・サービスにアクセスできます。多数のクライアント・ユーザーを作成する場合は、ユーザーをセキュリティ・グループに整理することを考慮してください。
管理ユーザー。Oracle Service Busコンソールを使用して、プロキシ・サービスやビジネス・サービスなどのService Busリソースを作成、変更します。管理ユーザーは、ランタイム・コンポーネントのモニターと管理に、Fusion Middleware Controlも使用します。
Service Busの管理機能には、ロール・ベースのセキュリティをお薦めします。ユーザーまたはグループに個別のアクセス権を直接付与することもできますが、管理権限はアプリケーション・ロールに割り当てることでのみ付与するようにしてください。
多数のユーザーの管理を効率化するためには、名前を付けたグループにユーザーを整理することができます。そのようにして、各ユーザーに一度に1つずつアクセス権を付与するかわりに、グループ内のすべてのユーザーに権限またはIDを付与します。カスタムのセキュリティ・グループを作成すると、管理機能(プロキシ・サービスの作成など)へのアクセス権を複数のユーザーに簡単に付与できるようになります。
管理セキュリティを構成する場合の最も簡単なシナリオでは、複数のグループを作成し、各グループにロールを通じて固有の権限のセットを割り当ててから、ユーザーを作成してグループに追加します。グループ内の各ユーザーは、例外なく自動的に対応するロールのメンバーになり、事前定義済のアクセス権をすべて持つようになります。
Service Busには、デフォルトのロールがいくつか用意されており、それぞれのロールには、特定のアクセス権のセットが含まれています。ユーザーが実行できるタスクは、割り当てられているロールによって決まります。Oracle Service BusコンソールおよびFusion Middleware Controlでは、リソースとサービスを保護するために、ユーザーまたはグループにロールを割り当てることができます。これにより、ユーザー・アクセスは、割り当てるロールで許可されているアクションに限定されます。また、ロールの権限に応じて、特定のロールで使用できるユーザー・インタフェースを制限することもできます。
各ロールで付与される権限の詳細は、「Oracle Service Busでのロール・ベースのアクセス」を参照してください。
ユーザーまたはグループを複数のロールに関連付けることもできます。たとえば、MyCustomersEastとMyCustomersWestという名前の2つのグループを作成します。PrivilegedCustomerという名前のセキュリティ・ロールを作成し、米国の東部標準時の午前8時から午後8時の間にMyCustomersWestグループがこのロールに入り、米国の東部標準時の午後8時から午前8時の間にMyCustomersEastグループがこのロールに入るようにする条件を作成します。次に、プロキシ・サービスのアクセス制御ポリシーを作成して、PrivilegedCustomerロールにサービスへのアクセス権を与えます。所属しているグループがMyCustomersEastであるかMyCustomersWestであるかに応じて、各ユーザーがアクセス権を持つ時間帯が変わることになります。
Service Busには、8つのデフォルト・アプリケーション・ロールが用意されており、各ロールにより、特定のユーザーのカテゴリに共通する特定のアクセス権のセットが提供されます。次に、これらのロールの一覧と説明を示します。
MiddlewareAdministratorロールは、管理セキュリティ・ロールで、Service Busのすべてのリソースとサービスへの完全なアクセス権が付与されています。これには、サービス・アカウントおよびサービス・キー・プロバイダに含まれるユーザー名、パスワード、資格証明エイリアスのバインディングの作成、編集、または削除の機能が含まれます。このロールで作成できるユーザー名とパスワードは、アウトバウンド認証のためにサービス・アカウントによってのみ使用されます。Service Busリソースへのアクセスを認可するためには使用されません。
Developerロールは、開発環境とテスト環境でのみ使用することを目的としていて、本番環境を対象にしていません。MiddlewareAdministratorと同様に、Developerには、Oracle Service BusコンソールとFusion Middleware ControlのService Bus機能への完全なアクセス権が付与されています。ただし、MiddlewareAdministratorとは異なり、Developerがユーザーやアプリケーション・ロールを追加、編集または削除することや、別のユーザーの所有するセッションを表示することはできません。このロールは、アクティブ化を表示できます。共有開発環境では、Developerは、JDeveloperからサーバーへのパブリッシュを実行できません。そのかわりに、Oracle Service Busコンソールにプロジェクトをエクスポートして、リソースをアクティブ化できます。
Composerロールには、Fusion Middleware Controlのモニター機能と管理機能に対する完全なアクセス権が付与されています。ただし、リソースのインポート機能とエクスポート機能へのアクセス権を除きます。このロールには、Oracle Service Busコンソールへの表示専用アクセス権が付与されています。将来のリリースでは、このロールの担当範囲が拡大される予定です。
Deployerロールには、Fusion Middleware ControlとOracle Service Busコンソールのモニター機能と管理機能への完全なアクセス権が付与されています。ただし、セキュリティ・ポリシーの更新機能とリシーケンス・エラーの解決機能へのアクセス権を除きます。このロールが割り当てられたユーザーは、通常、アプリケーションのデプロイとアップグレードを担当します。
Testerロールには、Oracle Service Busコンソールのリソースと、Fusion Middleware Controlのモニター機能および管理機能への読取り専用アクセス権が付与されています。このロールには、Oracle Service BusコンソールとFusion Middleware Controlの両方からテスト・コンソールへの完全なアクセス権が付与されています。このロールが割り当てられたユーザーは通常、本番前のシステムに対して、コマンドライン・クライアント、Fusion Middleware Controlおよびカスタム・インタフェースを組み合せた統合テストを実行します。
MiddlewareOperatorロールには、特定のモニター・タスクとセッション管理へのアクセス権と、すべてのService Busリソースへの読取りアクセス権が付与されています。さらに、このロールには、アラート・ルールとアラート宛先を作成、表示、編集および削除するためのアクセス権と、操作設定を表示および編集するためのアクセス権が付与されています。このロールには、すべてのセッションの表示、リソースのインポートまたはエクスポート、セキュリティ・ポリシーの変更、またはテスト・コンソールの起動を実行するためのアクセス権はありません。このロールが割り当てられたユーザーは、Service Busリソースに対する日常業務の実行と、操作の継続性の確保を担当します。
ApplicationOperatorロールには、Oracle Service BusコンソールとFusion Middleware Controlに対する読取り専用アクセス権が付与されています。また、「グループの再配列」タブへの完全なアクセス権が付与されています。アプリケーション・オペレータは、フォルトに関する通知を受信し、適切な対応(フォルトのリカバリ、メッセージのスキップ、またはトランザクションの中止)を実行できます。
Service Busのロールには、Service Busのリソースのみを変更する権限が付与されています。Oracle WebLogic ServerまたはOracle WebLogic Server上の他のリソースを変更する権限は付与されていません。Oracle WebLogic Serverのリソースを変更する許可を付与するには、Oracle WebLogic Serverのセキュリティ・ロールのいずれかにユーザーを追加します。Service Busの各ドメインでは、少なくとも1人のユーザーがAdministratorロールに追加されていることを確認してください。
セキュリティ・ロールの詳細は、『Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』のユーザー、グループおよびセキュリティ・ロールに関する項を参照してください。
リリース11gのService Busには、管理権限を付与する4つの事前定義済セキュリティ・ロールが用意されていました。これらのロールは、後方互換性を維持するために、現在のリリースにも用意されています。
IntegrationAdmin (12cの「Administrator」に類似)
IntegrationDeployer (12cの「Deployer」に類似)
IntegrationMonitor (12cの「Monitor」に類似)
IntegrationOperator (12cの「Operator」に類似)
Service Busには、後方互換性を維持するためのデフォルトのセキュリティ・グループも用意されています。これらのグループは、それぞれ、管理権限が付与されていた従来のセキュリティ・ロールのいずれかに含まれます。表11-1に、従来のグループとそのグループのロールを示します。
表11-1 Oracle Service Bus 11gのグループ
グループ | ロール |
---|---|
IntegrationAdministrators |
IntegrationAdmin |
IntegrationDeployers |
IntegrationDeployer |
IntegrationOperators |
IntegrationOperator |
IntegrationMonitors |
IntegrationMonitor |
アクセス制御ポリシーは、ユーザー、グループ、またはロールがプロキシ・サービスにアクセスできるようにするための条件を指定します。たとえば、あるプロキシ・サービスへのアクセスを、GoldCustomerロールのユーザーには常時許可して、SilverCustomerロールのユーザーには平日の午後12時以降にのみ許可するというポリシーを作成できます。
すべてのプロキシ・サービスに対して、トランスポート・レベルのポリシーを作成することができます。トランスポート・レベルのポリシーでは、クライアントがプロキシ・サービスとの接続を確立しようとしたときにセキュリティ・チェックが適用されます。トランスポート・レベルのポリシーのリストに入っているユーザーからのリクエストだけが続行を許可されます。
メッセージ・レベルのアクセス制御ポリシーでは、メッセージ・レベル・セキュリティを持つプロキシ・サービスをクライアントが呼び出そうとしたときに、セキュリティ・チェックが適用されます。次のような場合はメッセージ・レベルのアクセス制御ポリシーを作成できます。
Webサービス・セキュリティのアクティブな仲介であるプロキシ・サービスの場合
メッセージ・レベルのカスタム認証を使用するプロキシ・サービスの場合
メッセージ・レベルのポリシーのリストに入っているユーザーだけが、その操作を呼び出せます。
ユーザー、グループおよびロールは、Service Busのセッションでは制御されないセキュリティ・プロバイダに保持されます。そのため、このデータは、WebLogic Service管理コンソールまたはFusion Middleware Controlを使用することでセッションの内外から作成または変更できます。データに対する追加や変更は、即座に有効になり、すべてのセッションで使用できるようになります。データを追加または変更したときのセッションを破棄した場合でも、セキュリティ・データは破棄 されません 。
アクセス制御ポリシーは認可プロバイダに保持されます。また、Service Busリポジトリには、これらへの参照があります。アクセス制御ポリシーは、設計セッションの外部ではなく内部で管理されます。変更がセッション内で行われるため、他のリソースと同じように変更をコミットまたは破棄できます。
一貫した管理には、Service Busセッション外(認可プロバイダMBeansまたはサード・パーティの認可プロバイダ・ツールを使用)でアクセス制御リスト(ACL)を完全に管理するか、Service Busセッション内でACLを完全に管理します。2つの方法を組み合せると、ポリシー表示の一貫性が失われる場合があります。
ユーザー、グループ、ロールはセキュリティ・プロバイダ・ストアにあるため、構成をエクスポートするときにこれらのオブジェクトをエクスポートすることはできません。エクスポートされた構成をインポートする場合や、WebLogic Serverツール(使用できる場合)を使用して構成をエクスポートおよびインポートする場合は、これらのオブジェクトを再度作成する必要があります。
Fusion Middleware Controlを使用すると、ユーザーおよびグループを作成および変更し、それらのユーザーまたはグループにロールを割り当てることができます。複数のユーザーに同一の権限を付与する場合は、個別のユーザーにロールを直接割り当てるか、カスタムのグループにユーザーを割り当てます。ユーザーおよびグループ・データに対する変更内容は即座に反映され、すべてのセッションで利用できるようになります。
また、WebLogic Server管理コンソールを使用して、ユーザーとグループを作成し、ユーザーをグループに追加することもできます。ただし、アプリケーション・ロールはFusion Middleware Controlを使用して割り当てます。このドキュメントでは、Fusion Middleware Controlを使用する場合について説明します。WebLogic Server管理コンソールのセキュリティの詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーとグループの管理に関する項を参照してください。
個別のユーザーに権限を付与するには:
ユーザー・グループ内のユーザーに権限を付与するには:
Service Busのグループは、Fusion Middleware Controlを使用して作成します。すべてのService Busのグループは、Monitors親グループに追加する必要があります。
注意:
グループ名の大文字と小文字は区別されませんが、一意の名前にする必要があります。ユーザー名には、「< > \ , = / ( ) + ? [ ]」のいずれの文字も使用できません。
ユーザー名の最初の文字に、ポンド記号(#)または二重引用符(")を使用してはいけません。これらの無効な文字を含むユーザーを作成すると、WebLogicドメインが破損する場合があります。
Service Busのグループを作成するには:
グループの作成が完了すると、Fusion Middleware Controlを使用してグループをアプリケーション・ロールに割り当てることで、グループのユーザーに付与するService Busの権限を定義できます。グループをロールに割り当てることで一括して権限を付与することも、権限を個別にグループに付与することもできます。
アプリケーション・ロールにグループを割り当てるには:
管理者権限を持つユーザーとして、Fusion Middleware Controlにログインします。
ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。
「Service Bus」メニューで、「セキュリティ」→「アプリケーション・ロール」を選択します。
「アプリケーション・ロール」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。
「検索」アイコン(青色の矢印)をクリックして、Service Busのアプリケーション・ロールを表示します。
ロールの表で、グループに割り当てるロールを選択し、「編集」をクリックします。
各ロールで付与される権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。
「アプリケーション・ロールの編集」ページに示される「メンバー」表の上部で、「追加」をクリックします。
「プリンシパルの追加」ダイアログで、次の操作を実行します。
「タイプ」フィールドで、「グループ」を選択します。
必要に応じて、グループのプリンシパルまたは表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。
「検索」をクリックします。
検索結果のリストで、ロールを割り当てるグループの名前をクリックして、「OK」をクリックします。
「アプリケーション・ロールの編集」ページで、「OK」をクリックします。
権限はグループに個別に付与できますが、この方法はお薦めしません。可能であれば、「アプリケーション・ロールへのグループの割当て」の説明に従って、グループをロールに割り当てることで権限を付与します。
個別の権限をグループに付与するには:
管理権限があるユーザーとして、Fusion Middleware Controlにログインします。
ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。
「Service Bus」メニューで、「セキュリティ」→「アプリケーション・ポリシー」を選択します。
「アプリケーション・ポリシー」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。
「作成」ボタンが有効になります。
表の上にある「作成」をクリックします。
「アプリケーション権限の作成」ページの「権限受領者」セクションで、「追加」をクリックします。
「プリンシパルの追加」ダイアログで、次の操作を実行します。
「タイプ」フィールドで、「グループ」を選択します。
必要に応じて、グループのプリンシパルまたは表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。
「検索」をクリックします。
検索結果のリストで、ロールに割り当てるグループの名前をクリックして、「OK」をクリックします。
「アプリケーション権限の作成」ウィンドウの「権限」セクションで、「追加」をクリックします。
「権限の追加」ダイアログで、次の操作を実行します。
Javaクラス単位で検索するには、「権限」を選択し、「権限クラス」フィールドでoracle.soa.osb.console.common.permissions.OSBPermission
を選択します。
リソース単位で検索するには、「リソース・タイプ」を選択し、「リソース・タイプ」フィールドでOSBPermissionを選択します。
必要に応じて、リソース名の全体または一部を入力します。
「検索」をクリックします。
検索結果のリストで、付与する権限の名前をクリックして、「続行」をクリックします。
Service Bus権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。
「権限アクション」フィールドでは、権限付与するアクションのみを選択します。Javaクラス単位で検索した場合は、カンマ区切りリストで権限アクションを入力します。たとえば、create,delete,edit
と入力します。
選択可能な権限は、前のページでの選択内容に応じて異なります。
「選択」をクリックします。
新しい権限が「権限」表に表示されます。
権限の付与が完了したら、「アプリケーション権限の作成」ウィンドウの「OK」をクリックします。
Service Busのグループは、Fusion Middleware Controlを使用して作成します。すべてのService Busユーザーは、Monitors親グループ、またはMonitors親グループのメンバーであるグループに追加する必要があります。
注意:
ユーザー名には、「; , + = \」のいずれの文字も使用してはいけません(二重のバックスラッシュは、smith\\
のように使用できます)。ユーザー名の最初の文字に、ポンド記号(#)または二重引用符(")を使用してはいけません。これらの無効な文字を含むユーザーを作成すると、WebLogicドメインが破損する場合があります。
Service Busユーザーを作成するには:
同一の権限を多数のユーザーに割り当てるためにグループを使用する場合は、ユーザーを適切なグループに追加して権限を付与します。このグループは、すでにMonitorsグループのメンバーであるため、これらのユーザーがMonitorsグループのメンバーである必要はありません。
Service Busユーザーをグループに追加するには:
WebLogic Server管理コンソールでユーザーを作成したら、そのユーザーをFusion Middleware Controlでアプリケーション・ロールに割り当ててアクセス権を付与します。権限は個別に付与できますが、この方法はお薦めしません。
ユーザーをアプリケーション・ロールに割り当てるには:
管理者権限を持つユーザーとして、Fusion Middleware Controlにログインします。
ユーザーをMonitorsグループに割り当てます(「ユーザーをグループに割り当ててアクセス権を付与する方法」を参照)。
ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。
「Service Bus」メニューで、「セキュリティ」→「アプリケーション・ロール」を選択します。
「アプリケーション・ロール」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。
「検索」アイコン(青色の矢印)をクリックして、Service Busのアプリケーション・ロールを表示します。
ロールの表で、ユーザーを追加するロールを選択し、「編集」をクリックします。
各ロールで付与される権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。
「アプリケーション・ロールの編集」ページに示される「メンバー」表の上部で、「追加」をクリックします。
「プリンシパルの追加」ダイアログで、次の操作を実行します。
「タイプ」フィールドで、「ユーザー」を選択します。
必要に応じて、ユーザーのプリンシパルおよび表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。
「検索」をクリックします。
検索結果のリストで、ロールに割り当てるユーザーの名前をクリックして、「OK」をクリックします。
「アプリケーション・ロールの編集」ページで、「OK」をクリックします。
権限はユーザーに個別に付与できますが、この方法はお薦めしません。可能であれば、「アプリケーション・ロールへのユーザーの割当て」の説明に従って、ユーザーをロールに割り当てることで権限を付与します。ロールまたは権限をユーザーに直接割り当てるときには、そのユーザーをMonitorsグループに追加する必要もあります。
ユーザーに個別に権限を付与するには:
管理権限があるユーザーとして、Fusion Middleware Controlにログインします。
ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。
「Service Bus」メニューで、「セキュリティ」→「アプリケーション・ポリシー」を選択します。
「アプリケーション・ポリシー」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。
「作成」ボタンが有効になります。
表の上にある「作成」をクリックします。
「アプリケーション権限の作成」ページの「権限受領者」セクションで、「追加」をクリックします。
「プリンシパルの追加」ダイアログで、次の操作を実行します。
「タイプ」フィールドで、「ユーザー」を選択します。
必要に応じて、ユーザーのプリンシパルまたは表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。
「検索」をクリックします。
検索結果のリストで、権限を付与するユーザーの名前をクリックして、「OK」をクリックします。
「アプリケーション権限の作成」ウィンドウの「権限」セクションで、「追加」をクリックします。
「権限の追加」ダイアログで、次の操作を実行します。
Javaクラス単位で検索するには、「権限」を選択し、「権限クラス」フィールドでoracle.soa.osb.console.common.permissions.OSBPermission
を選択します。
リソース単位で検索するには、「リソース・タイプ」を選択し、「リソース・タイプ」フィールドでOSBPermissionを選択します。
必要に応じて、リソース名の全体または一部を入力します。
「検索」をクリックします。
検索結果のリストで、付与する権限の名前をクリックして、「続行」をクリックします。
Service Bus権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。
「権限アクション」フィールドでは、権限付与するアクションのみを選択します。Javaクラス単位で検索した場合は、カンマ区切りリストで権限アクションを入力します。たとえば、create,delete,edit
と入力します。
選択可能な権限は、前のページでの選択内容に応じて異なります。
「選択」をクリックします。
新しい権限が「権限」表に表示されます。
権限の付与が完了したら、「アプリケーション権限の作成」ウィンドウの「OK」をクリックします。
Service Busインストールを本番用に準備する場合、セキュリティ要件に特に注意する必要があります。次に、本番環境におけるService Busの保護戦略として推奨されるガイドラインを示します。
『Oracle WebLogic Server本番環境の保護』に記載されたガイドラインを読んで、そのガイドラインに従います。
Service Bus管理者用のユーザー・アカウントを作成し、そのアカウントを自分で作成した1つ以上のグループに割り当てるか、アプリケーション・ロールに個別に割り当てます。
ファイル・システムで、Service Busの構成データを格納するディレクトリのアクセス制御を構成します。これは、ドメイン・ルートの下のconfig
ディレクトリになります。次に例を示します。
C:\oracle\user_projects\domains\servicebus_domain\config\osb
ファイル・システムで、FTP、SFTP、ファイル、および電子メールのトランスポートに使用するディレクトリのアクセス制御を構成します。
必要に応じて、Service Busインストールで使用するJMSリソースのアクセス制御を構成します。
Service Busには、Service Busに登録されたリソースを公開する際に使用するリソース・サーブレット(MW_HOME
/OSB_ORACLE_HOME
/lib/apps/sbresourceWar/sbresource.war
)が用意されています。Service Busに登録されるリソースは、次のとおりです。
WSDL (Service Busのリソースとして登録したWSDLファイル)
WADL (Service Busのリソースとして登録したWADLファイル)
スキーマ
MFL
WS-Policy
WSDL (プロキシ・サービスの解決済のポリシーとポート情報を持つ有効なWSDL。プロキシ・サービスがWSDLファイルを使用して作成されている場合に使用可能)。
ただし、このサーブレットは、メタデータへの匿名HTTPアクセスを提供しており、これが、一部の高セキュリティ環境では、セキュリティ・リスクと見なされる場合があります。
HTTPを介して匿名でService Busリソースにアクセスできないようにする場合は、sbresources.war
でセキュリティ・ロールを設定して、リソースへのアクセスを制御するか、リソースを完全にアンデプロイしてください。
注意:
SBリソースをアンデプロイすると、UDDIサブシステムを使用できなくなります。
『Oracle Service Busでのサービスの開発』のメッセージ・コンテキスト・モデルに関する項で説明しているように、メッセージ・コンテンツを処理する場合は、Service Busパイプラインがコンテンツをメモリーにロードするのではなく、ストリーミングするように指定できます。コンテンツ・ストリーミングを有効にするときは、メッセージ処理時の中間手順として、ストリーミングされたコンテンツをメモリーとディスク・ファイルのどちらにバッファ・リングするかを指定します。
一時ディスク・ファイルを使用する場合は、それらを保護する必要があります。Service Busドメインをロック・ダウンするには、Javaシステム・プロパティcom.bea.wli.sb.context.tmpdir
を設定して、一時ファイルが書き込まれる場所を指定します。このディレクトリが存在し、適切なアクセス権のセットがあることを確認してください。詳細は、『Oracle WebLogic Server本番環境の保護』のファイルのアクセス権限およびファイル・システムの推奨事項を参照してください。
本番環境では、管理者以外のユーザーはOracle Service Busコンソールにアクセスできない必要があります。サービス拒否攻撃では、1つのソースから大量のリクエストが発信されたり、リソース制約がある点に達するとサーバーへの新しい接続が確立されたりします。Oracle Service Busコンソールに対するサービス拒否攻撃からの保護に関する推奨事項を次に示します。
本番環境では、管理サーバー(Oracle Service Busコンソールが稼働するサーバー)は決して公開しないようにします。管理対象サーバーだけを、呼出し元からアクセスできるようにする必要があります。
Oracle Service Busコンソールのデフォルトのワーク・マネージャを使用するのではなく、別のワーク・マネージャを構成し、Oracle Service BusコンソールのWebアプリケーションにアクセスできるユーザー数のデフォルトの制限値(max-threads-constraint)を設定して使用します。
ワーク・マネージャの詳細は、『Oracle WebLogic Serverサーバー環境の管理』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する項を参照してください。