12 Oracle Service Busのアクセス・セキュリティの定義

この章では、Service Busのインバウンド・セキュリティおよび管理セキュリティで使用されるユーザー、グループおよびロールを作成する方法について説明します。インバウンド・トランスポートレベルのセキュリティとメッセージレベルのセキュリティは、ユーザー、グループ、およびロールのデータを使用して、インバウンドのクライアント・リクエストを認証し、アクセス制御ポリシーを適用して、プロキシ・サービスとビジネス・サービスの使用が許可されている認証済ユーザーを判断します。管理セキュリティでは、ユーザー、グループおよびロールのデータを使用して、どの認証ユーザーに対して、Service Busのリソースの作成または変更や、Service Busのパフォーマンスのモニターを許可するかを決定します。

この章の内容は次のとおりです。

12.1 Oracle Service Busのアプリケーション・セキュリティの理解

認証と認可のために、Service Busは、Oracle Application Development Framework (ADF)セキュリティを使用します。これは、Oracle Platform Security Services (OPSS)に基づいて構築されています。

OPSSの詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』Oracle Platform Security Servicesの概要に関する項を参照してください。ADFセキュリティの詳細は、Oracle Application Development Frameworkの理解ADFセキュリティ・フレームワークに関する項を参照してください。

Service Busコンポーネントのセキュリティを構成し、各ユーザーに特定の権限を付与するために、ユーザー・アカウント、グループ、アプリケーション・ロールおよびポリシーを定義します。プロキシ・サービスの作成などの管理機能にユーザーがアクセスできるようにするには、事前定義済のアクセス権限を持つ、事前定義済のアプリケーション・ロールにユーザーを割り当てます。さらに、ユーザー・グループを作成して、そのグループを事前定義済のロールに割り当てることで、ユーザーのグループに同一のアクセス権を付与することもできます。アプリケーション・ロールのアクセス権は変更できませんが、ユーザーとグループに対して、デフォルトのロールとともに個別のアクセス権を付与することは可能です。

12.1.1 ユーザー

ユーザーは、Service Busで認証できる唯一のエンティティであり、人物またはソフトウェア・エンティティ(Webサービスのクライアントなど)になります。各ユーザーには、セキュリティ・レルム内でユニークなID (名前)を割り当てる必要があります。一般的に、作成するユーザーは次の2つのカテゴリのいずれかに分類されます。

  • クライアント・ユーザー。このユーザーは、プロキシ・サービスまたはビジネス・サービスにアクセスできます。多数のクライアント・ユーザーを作成する場合は、ユーザーをセキュリティ・グループに整理することを考慮してください。

  • 管理ユーザー。Oracle Service Busコンソールを使用して、プロキシ・サービスやビジネス・サービスなどのService Busリソースを作成、変更します。管理ユーザーは、ランタイム・コンポーネントのモニターと管理に、Fusion Middleware Controlも使用します。

    Service Busの管理機能には、ロール・ベースのセキュリティをお薦めします。ユーザーまたはグループに個別のアクセス権を直接付与することもできますが、管理権限はアプリケーション・ロールに割り当てることでのみ付与するようにしてください。

12.1.2 グループ

多数のユーザーの管理を効率化するためには、名前を付けたグループにユーザーを整理することができます。そのようにして、各ユーザーに一度に1つずつアクセス権を付与するかわりに、グループ内のすべてのユーザーに権限またはIDを付与します。カスタムのセキュリティ・グループを作成すると、管理機能(プロキシ・サービスの作成など)へのアクセス権を複数のユーザーに簡単に付与できるようになります。

管理セキュリティを構成する場合の最も簡単なシナリオでは、複数のグループを作成し、各グループにロールを通じて固有の権限のセットを割り当ててから、ユーザーを作成してグループに追加します。グループ内の各ユーザーは、例外なく自動的に対応するロールのメンバーになり、事前定義済のアクセス権をすべて持つようになります。

12.1.3 ロール

Service Busには、デフォルトのロールがいくつか用意されており、それぞれのロールには、特定のアクセス権のセットが含まれています。ユーザーが実行できるタスクは、割り当てられているロールによって決まります。Oracle Service BusコンソールおよびFusion Middleware Controlでは、リソースとサービスを保護するために、ユーザーまたはグループにロールを割り当てることができます。これにより、ユーザー・アクセスは、割り当てるロールで許可されているアクションに限定されます。また、ロールの権限に応じて、特定のロールで使用できるユーザー・インタフェースを制限することもできます。

各ロールで付与される権限の詳細は、「Oracle Service Busでのロール・ベースのアクセス」を参照してください。

ユーザーまたはグループを複数のロールに関連付けることもできます。たとえば、MyCustomersEastとMyCustomersWestという名前の2つのグループを作成します。PrivilegedCustomerという名前のセキュリティ・ロールを作成し、米国の東部標準時の午前8時から午後8時の間にMyCustomersWestグループがこのロールに入り、米国の東部標準時の午後8時から午前8時の間にMyCustomersEastグループがこのロールに入るようにする条件を作成します。次に、プロキシ・サービスのアクセス制御ポリシーを作成して、PrivilegedCustomerロールにサービスへのアクセス権を与えます。所属しているグループがMyCustomersEastであるかMyCustomersWestであるかに応じて、各ユーザーがアクセス権を持つ時間帯が変わることになります。

12.1.3.1 Oracle Service Busのアプリケーション・ロール

Service Busには、8つのデフォルト・アプリケーション・ロールが用意されており、各ロールにより、特定のユーザーのカテゴリに共通する特定のアクセス権のセットが提供されます。次に、これらのロールの一覧と説明を示します。

12.1.3.1.1 MiddlewareAdministrator

MiddlewareAdministratorロールは、管理セキュリティ・ロールで、Service Busのすべてのリソースとサービスへの完全なアクセス権が付与されています。これには、サービス・アカウントおよびサービス・キー・プロバイダに含まれるユーザー名、パスワード、資格証明エイリアスのバインディングの作成、編集、または削除の機能が含まれます。このロールで作成できるユーザー名とパスワードは、アウトバウンド認証のためにサービス・アカウントによってのみ使用されます。Service Busリソースへのアクセスを認可するためには使用されません。

12.1.3.1.2 開発者

Developerロールは、開発環境とテスト環境でのみ使用することを目的としていて、本番環境を対象にしていません。MiddlewareAdministratorと同様に、Developerには、Oracle Service BusコンソールとFusion Middleware ControlService Bus機能への完全なアクセス権が付与されています。ただし、MiddlewareAdministratorとは異なり、Developerがユーザーやアプリケーション・ロールを追加、編集または削除することや、別のユーザーの所有するセッションを表示することはできません。このロールは、アクティブ化を表示できます。共有開発環境では、Developerは、JDeveloperからサーバーへのパブリッシュを実行できません。そのかわりに、Oracle Service Busコンソールにプロジェクトをエクスポートして、リソースをアクティブ化できます。

12.1.3.1.3 コンポーザ

Composerロールには、Fusion Middleware Controlのモニター機能と管理機能に対する完全なアクセス権が付与されています。ただし、リソースのインポート機能とエクスポート機能へのアクセス権を除きます。このロールには、Oracle Service Busコンソールへの表示専用アクセス権が付与されています。将来のリリースでは、このロールの担当範囲が拡大される予定です。

12.1.3.1.4 デプロイヤ

Deployerロールには、Fusion Middleware ControlOracle Service Busコンソールのモニター機能と管理機能への完全なアクセス権が付与されています。ただし、セキュリティ・ポリシーの更新機能とリシーケンス・エラーの解決機能へのアクセス権を除きます。このロールが割り当てられたユーザーは、通常、アプリケーションのデプロイとアップグレードを担当します。

12.1.3.1.5 テスト実施者

Testerロールには、Oracle Service Busコンソールのリソースと、Fusion Middleware Controlのモニター機能および管理機能への読取り専用アクセス権が付与されています。このロールには、Oracle Service BusコンソールとFusion Middleware Controlの両方からテスト・コンソールへの完全なアクセス権が付与されています。このロールが割り当てられたユーザーは通常、本番前のシステムに対して、コマンドライン・クライアント、Fusion Middleware Controlおよびカスタム・インタフェースを組み合せた統合テストを実行します。

12.1.3.1.6 MiddlewareOperator

MiddlewareOperatorロールには、特定のモニター・タスクとセッション管理へのアクセス権と、すべてのService Busリソースへの読取りアクセス権が付与されています。さらに、このロールには、アラート・ルールとアラート宛先を作成、表示、編集および削除するためのアクセス権と、操作設定を表示および編集するためのアクセス権が付与されています。このロールには、すべてのセッションの表示、リソースのインポートまたはエクスポート、セキュリティ・ポリシーの変更、またはテスト・コンソールの起動を実行するためのアクセス権はありません。このロールが割り当てられたユーザーは、Service Busリソースに対する日常業務の実行と、操作の継続性の確保を担当します。

12.1.3.1.7 ApplicationOperator

ApplicationOperatorロールには、Oracle Service BusコンソールとFusion Middleware Controlに対する読取り専用アクセス権が付与されています。また、「グループの再配列」タブへの完全なアクセス権が付与されています。アプリケーション・オペレータは、フォルトに関する通知を受信し、適切な対応(フォルトのリカバリ、メッセージのスキップ、またはトランザクションの中止)を実行できます。

12.1.3.1.8 モニター

Monitorロールは、Oracle Service BusコンソールとFusion Middleware Controlでリソースとサービスをモニターするユーザーに付与します。このロールが割り当てられたユーザーには、すべてのService Busリソースへの読取りアクセス権が付与されていて、サービス・レベル・アグリーメント(SLA)の違反とパイプラインからのアラートのモニターも実行できます。

12.1.3.2 WebLogic Serverのセキュリティ・ロール

Service Busのロールには、Service Busのリソースのみを変更する権限が付与されています。Oracle WebLogic ServerまたはOracle WebLogic Server上の他のリソースを変更する権限は付与されていません。Oracle WebLogic Serverのリソースを変更する許可を付与するには、Oracle WebLogic Serverのセキュリティ・ロールのいずれかにユーザーを追加します。Service Busの各ドメインでは、少なくとも1人のユーザーがAdministratorロールに追加されていることを確認してください。

セキュリティ・ロールの詳細は、『Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』ユーザー、グループおよびセキュリティ・ロールに関する項を参照してください。

12.1.3.3 旧リリースとの互換性

リリース11gService Busには、管理権限を付与する4つの事前定義済セキュリティ・ロールが用意されていました。これらのロールは、後方互換性を維持するために、現在のリリースにも用意されています。

  • IntegrationAdmin (12cの「Administrator」に類似)

  • IntegrationDeployer (12cの「Deployer」に類似)

  • IntegrationMonitor (12cの「Monitor」に類似)

  • IntegrationOperator (12cの「Operator」に類似)

Service Busには、後方互換性を維持するためのデフォルトのセキュリティ・グループも用意されています。これらのグループは、それぞれ、管理権限が付与されていた従来のセキュリティ・ロールのいずれかに含まれます。表12-1に、従来のグループとそのグループのロールを示します。

表12-1 Oracle Service Bus 11gのグループ

グループ ロール

IntegrationAdministrators

IntegrationAdmin

IntegrationDeployers

IntegrationDeployer

IntegrationOperators

IntegrationOperator

IntegrationMonitors

IntegrationMonitor

12.1.4 アクセス制御ポリシー

アクセス制御ポリシーは、ユーザー、グループ、またはロールがプロキシ・サービスにアクセスできるようにするための条件を指定します。たとえば、あるプロキシ・サービスへのアクセスを、GoldCustomerロールのユーザーには常時許可して、SilverCustomerロールのユーザーには平日の午後12時以降にのみ許可するというポリシーを作成できます。

すべてのプロキシ・サービスに対して、トランスポート・レベルのポリシーを作成することができます。トランスポート・レベルのポリシーでは、クライアントがプロキシ・サービスとの接続を確立しようとしたときにセキュリティ・チェックが適用されます。トランスポート・レベルのポリシーのリストに入っているユーザーからのリクエストだけが続行を許可されます。

メッセージ・レベルのアクセス制御ポリシーでは、メッセージ・レベル・セキュリティを持つプロキシ・サービスをクライアントが呼び出そうとしたときに、セキュリティ・チェックが適用されます。次のような場合はメッセージ・レベルのアクセス制御ポリシーを作成できます。

  • Webサービス・セキュリティのアクティブな仲介であるプロキシ・サービスの場合

  • メッセージ・レベルのカスタム認証を使用するプロキシ・サービスの場合

メッセージ・レベルのポリシーのリストに入っているユーザーだけが、その操作を呼び出せます。

12.1.5 セキュリティ構成データとセッション

ユーザー、グループおよびロールは、Service Busのセッションでは制御されないセキュリティ・プロバイダに保持されます。そのため、このデータは、WebLogic Service管理コンソールまたはFusion Middleware Controlを使用することでセッションの内外から作成または変更できます。データに対する追加や変更は、即座に有効になり、すべてのセッションで使用できるようになります。データを追加または変更したときのセッションを破棄した場合でも、セキュリティ・データは破棄 されません 。

アクセス制御ポリシーは認可プロバイダに保持されます。また、Service Busリポジトリには、これらへの参照があります。アクセス制御ポリシーは、設計セッションの外部ではなく内部で管理されます。変更がセッション内で行われるため、他のリソースと同じように変更をコミットまたは破棄できます。

一貫した管理には、Service Busセッション外(認可プロバイダMBeansまたはサード・パーティの認可プロバイダ・ツールを使用)でアクセス制御リスト(ACL)を完全に管理するか、Service Busセッション内でACLを完全に管理します。2つの方法を組み合せると、ポリシー表示の一貫性が失われる場合があります。

12.2 エクスポート時のセキュリティ構成

ユーザー、グループ、ロールはセキュリティ・プロバイダ・ストアにあるため、構成をエクスポートするときにこれらのオブジェクトをエクスポートすることはできません。

エクスポートされた構成をインポートする場合や、WebLogic Serverツール(使用できる場合)を使用して構成をエクスポートおよびインポートする場合は、これらのオブジェクトを再度作成する必要があります。

12.3 Oracle Service Bus管理セキュリティの構成

Fusion Middleware Controlを使用すると、ユーザーおよびグループを作成および変更し、それらのユーザーまたはグループにロールを割り当てることができます。

複数のユーザーに同一の権限を付与する場合は、個別のユーザーにロールを直接割り当てるか、カスタムのグループにユーザーを割り当てます。ユーザーおよびグループ・データに対する変更内容は即座に反映され、すべてのセッションで利用できるようになります。

また、WebLogic Server管理コンソールを使用して、ユーザーとグループを作成し、ユーザーをグループに追加することもできます。ただし、アプリケーション・ロールはFusion Middleware Controlを使用して割り当てます。このドキュメントでは、Fusion Middleware Controlを使用する場合について説明します。WebLogic Server管理コンソールのセキュリティの詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのユーザーとグループの管理に関する項を参照してください。

12.3.1 個別のユーザーに権限を付与する方法

個別のユーザーに権限を付与するには:

  1. Administratorアプリケーション・ロールに属するユーザー・アカウントで、Fusion Middleware Controlにログインします。
  2. ユーザーを作成し、そのユーザーをMonitorsグループに追加します。「Oracle Service Busユーザーの作成」および「ユーザーをグループに割り当ててアクセス権を付与する方法」を参照してください。
  3. 新しいユーザーを1つ以上のアプリケーション・ロールに割り当てます。「個別のユーザーへの権限の付与」を参照してください。
  4. 必要に応じて、個別の権限をユーザーに付与します(非推奨)。「個別のユーザーへの権限の付与」を参照してください。

12.3.2 ユーザー・グループ内のユーザーに権限を付与する方法

ユーザー・グループ内のユーザーに権限を付与するには:

  1. Administratorアプリケーション・ロールに属するユーザー・アカウントで、Fusion Middleware Controlにログインします。
  2. Service Busユーザーの割当て先にできるグループを作成し、そのグループをMonitors親グループのメンバーにします。「Oracle Service Busのグループの作成」を参照してください。
  3. ユーザーを作成して、そのユーザーを適切なグループに追加します。「Oracle Service Busユーザーの作成」および「ユーザーをグループに割り当ててアクセス権を付与する方法」を参照してください。
  4. 新しいグループを1つ以上のアプリケーション・ロールに割り当てます。「グループへの権限の付与」を参照してください。
  5. 必要に応じて、個別の権限をグループに付与します(非推奨)。「グループへの権限の付与」を参照してください。

12.3.3 Oracle Service Busのグループの作成

Service Busのグループは、Fusion Middleware Controlを使用して作成します。すべてのService Busのグループは、Monitors親グループに追加する必要があります。

注意:

グループ名の大文字と小文字は区別されませんが、一意の名前にする必要があります。ユーザー名には、「< > \ , = / ( ) + ? [ ]」のいずれの文字も使用できません。

ユーザー名の最初の文字に、ポンド記号(#)または二重引用符(")を使用してはいけません。これらの無効な文字を含むユーザーを作成すると、WebLogicドメインが破損する場合があります。

Service Busのグループを作成するには:

  1. 管理者権限のあるユーザー・アカウントで、Fusion Middleware Controlにログインします。
  2. ターゲットのナビゲータで、「WebLogicドメイン」を開き、ドメインの名前を右クリックします。
  3. 「セキュリティ」をポイントして、「ユーザーとグループ」を選択します。「グループ」タブをクリックします。
  4. 「グループ」表の上側で、「作成」をクリックします。
  5. 「新規グループの作成」ダイアログの「名前」フィールドに、グループの名前を入力します。
  6. 必要に応じて、「説明」フィールドに、グループの識別に役立つ簡単な説明を入力します。
  7. 「プロバイダ」ドロップダウン・リストで、そのグループの認証プロバイダを選択します。
  8. 「作成」をクリックします。

    「グループ」表に、グループの名前が表示されます。

  9. 「グループ」表で、今回追加したグループの名前をクリックして、「メンバーシップ」タブをクリックします。
  10. 使用可能な親グループ・リストで、Monitorsを選択し、右矢印をクリックして「選択済」リストに追加します。
  11. 「保存」をクリックします。
  12. アプリケーション・ロールをグループに割り当てる場合は、「グループへの権限の付与」に進みます。

12.3.4 グループへの権限の付与

グループの作成が完了すると、Fusion Middleware Controlを使用してグループをアプリケーション・ロールに割り当てることで、グループのユーザーに付与するService Busの権限を定義できます。グループをロールに割り当てることで一括して権限を付与することも、権限を個別にグループに付与することもできます。

12.3.4.1 アプリケーション・ロールへのグループの割当て

アプリケーション・ロールにグループを割り当てるには:

  1. 管理者権限を持つユーザーとして、Fusion Middleware Controlにログインします。

  2. ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。

  3. 「Service Bus」メニューで、「セキュリティ」「アプリケーション・ロール」を選択します。

  4. 「アプリケーション・ロール」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。

  5. 「検索」アイコン(青色の矢印)をクリックして、Service Busのアプリケーション・ロールを表示します。

  6. ロールの表で、グループに割り当てるロールを選択し、「編集」をクリックします。

    各ロールで付与される権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。

  7. 「アプリケーション・ロールの編集」ページに示される「メンバー」表の上部で、「追加」をクリックします。

  8. 「プリンシパルの追加」ダイアログで、次の操作を実行します。

    1. 「タイプ」フィールドで、「グループ」を選択します。

    2. 必要に応じて、グループのプリンシパルまたは表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。

    3. 「検索」をクリックします。

    4. 検索結果のリストで、ロールを割り当てるグループの名前をクリックして、「OK」をクリックします。

    5. 「アプリケーション・ロールの編集」ページで、「OK」をクリックします。

12.3.4.2 グループへの個別の権限の付与

権限はグループに個別に付与できますが、この方法はお薦めしません。可能であれば、「アプリケーション・ロールへのグループの割当て」の説明に従って、グループをロールに割り当てることで権限を付与します。

個別の権限をグループに付与するには:

  1. 管理者権限を持つユーザーとして、Fusion Middleware Controlにログインします。

  2. ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。

  3. 「Service Bus」メニューで、「セキュリティ」「アプリケーション・ポリシー」を選択します。

  4. 「アプリケーション・ポリシー」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。

    「作成」ボタンが有効になります。

  5. 表の上にある「作成」をクリックします。

  6. 「アプリケーション権限の作成」ページの「権限受領者」セクションで、「追加」をクリックします。

  7. 「プリンシパルの追加」ダイアログで、次の操作を実行します。

    1. 「タイプ」フィールドで、「グループ」を選択します。

    2. 必要に応じて、グループのプリンシパルまたは表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。

    3. 「検索」をクリックします。

    4. 検索結果のリストで、ロールに割り当てるグループの名前をクリックして、「OK」をクリックします。

  8. 「アプリケーション権限の作成」ウィンドウの「権限」セクションで、「追加」をクリックします。

  9. 「権限の追加」ダイアログで、次の操作を実行します。

    1. Javaクラス単位で検索するには、「権限」を選択し、「権限クラス」フィールドでoracle.soa.osb.console.common.permissions.OSBPermissionを選択します。

    2. リソース単位で検索するには、「リソース・タイプ」を選択し、「リソース・タイプ」フィールドでOSBPermissionを選択します。

    3. 必要に応じて、リソース名の全体または一部を入力します。

    4. 「検索」をクリックします。

    5. 検索結果のリストで、付与する権限の名前をクリックして、「続行」をクリックします。

      Service Bus権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。

    6. 「権限アクション」フィールドでは、権限付与するアクションのみを選択します。Javaクラス単位で検索した場合は、カンマ区切りリストで権限アクションを入力します。たとえば、create,delete,editと入力します。

      選択可能な権限は、前のページでの選択内容に応じて異なります。

    7. 「選択」をクリックします。

      新しい権限が「権限」表に表示されます。

  10. 権限の付与が完了したら、「アプリケーション権限の作成」ウィンドウの「OK」をクリックします。

12.3.5 Oracle Service Busユーザーの作成

Service Busのグループは、Fusion Middleware Controlを使用して作成します。すべてのService Busユーザーは、Monitors親グループ、またはMonitors親グループのメンバーであるグループに追加する必要があります。

注意:

ユーザー名には、「; , + = \」のいずれの文字も使用してはいけません(二重のバックスラッシュは、smith\\のように使用できます)。ユーザー名の最初の文字に、ポンド記号(#)または二重引用符(")を使用してはいけません。これらの無効な文字を含むユーザーを作成すると、WebLogicドメインが破損する場合があります。

Service Busユーザーを作成するには:

  1. 管理権限があるユーザーとして、Fusion Middleware Controlにログインします。
  2. ターゲットのナビゲータで、「WebLogicドメイン」を開き、ドメインの名前を右クリックします。
  3. 「セキュリティ」をポイントして、「ユーザーとグループ」を選択します。「ユーザー」タブをクリックします。
  4. 「ユーザー」表の上側で、「作成」をクリックします。
  5. 「新規ユーザーの作成」ダイアログの「名前」フィールドに、ユーザーのログインIDを入力します。
  6. 必要に応じて、「説明」フィールドに、ユーザーの識別に役立つ簡単な説明を入力します。
  7. 「プロバイダ」ドロップダウン・リストで、ユーザーの認証プロバイダを選択します。
  8. 「パスワード」フィールドに、ユーザーのパスワードを入力します。パスワードは、8文字以上にする必要があります。
  9. ユーザーのパスワードを「パスワードの確認」フィールドに再入力します。
  10. 「作成」をクリックして、変更内容を保存します。

    「ユーザー」表に、ユーザー名が表示されます。

  11. 次のいずれかを行います:

12.3.6 ユーザーをグループに割り当ててアクセス権を付与する方法

同一の権限を多数のユーザーに割り当てるためにグループを使用する場合は、ユーザーを適切なグループに追加して権限を付与します。このグループは、すでにMonitorsグループのメンバーであるため、これらのユーザーがMonitorsグループのメンバーである必要はありません。

Service Busユーザーをグループに追加するには:

  1. 管理権限があるユーザーとして、Fusion Middleware Controlにログインします。
  2. ターゲットのナビゲータで、「WebLogicドメイン」を開き、ドメインの名前を右クリックします。
  3. 「セキュリティ」をポイントして、「ユーザーとグループ」を選択します。「ユーザー」タブをクリックします。
  4. 「ユーザー」表で、今回追加したユーザーの名前をクリックして、「グループ」タブをクリックします。
  5. ユーザーを追加するグループを選択し、右矢印をクリックして「選択済」リストに追加します。
  6. グループの追加が完了したら、「保存」をクリックします。

12.3.7 個別のユーザーへの権限の付与

WebLogic Server管理コンソールでユーザーを作成したら、そのユーザーをFusion Middleware Controlでアプリケーション・ロールに割り当ててアクセス権を付与します。権限は個別に付与できますが、この方法はお薦めしません。

12.3.7.1 アプリケーション・ロールへのユーザーの割当て

ユーザーをアプリケーション・ロールに割り当てるには:

  1. 管理者権限を持つユーザーとして、Fusion Middleware Controlにログインします。

  2. ユーザーをMonitorsグループに割り当てます(「ユーザーをグループに割り当ててアクセス権を付与する方法」を参照)。

  3. ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。

  4. 「Service Bus」メニューで、「セキュリティ」「アプリケーション・ロール」を選択します。

  5. 「アプリケーション・ロール」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。

  6. 「検索」アイコン(青色の矢印)をクリックして、Service Busのアプリケーション・ロールを表示します。

  7. ロールの表で、ユーザーを追加するロールを選択し、「編集」をクリックします。

    各ロールで付与される権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。

  8. 「アプリケーション・ロールの編集」ページに示される「メンバー」表の上部で、「追加」をクリックします。

  9. 「プリンシパルの追加」ダイアログで、次の操作を実行します。

    1. 「タイプ」フィールドで、「ユーザー」を選択します。

    2. 必要に応じて、ユーザーのプリンシパルおよび表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。

    3. 「検索」をクリックします。

    4. 検索結果のリストで、ロールに割り当てるユーザーの名前をクリックして、「OK」をクリックします。

    5. 「アプリケーション・ロールの編集」ページで、「OK」をクリックします。

12.3.7.2 ユーザーへの個別の権限の付与

権限はユーザーに個別に付与できますが、この方法はお薦めしません。可能であれば、「アプリケーション・ロールへのユーザーの割当て」の説明に従って、ユーザーをロールに割り当てることで権限を付与します。ロールまたは権限をユーザーに直接割り当てるときには、そのユーザーをMonitorsグループに追加する必要もあります。

ユーザーに個別に権限を付与するには:

  1. 管理者権限を持つユーザーとして、Fusion Middleware Controlにログインします。

  2. ターゲットのナビゲータで、「SOA」を開き、「service-bus」をクリックします。

  3. 「Service Bus」メニューで、「セキュリティ」「アプリケーション・ポリシー」を選択します。

  4. 「アプリケーション・ポリシー」ページの「アプリケーション・ストライプ」フィールドで、Service_Bus_Consoleを選択します。

    「作成」ボタンが有効になります。

  5. 表の上にある「作成」をクリックします。

  6. 「アプリケーション権限の作成」ページの「権限受領者」セクションで、「追加」をクリックします。

  7. 「プリンシパルの追加」ダイアログで、次の操作を実行します。

    1. 「タイプ」フィールドで、「ユーザー」を選択します。

    2. 必要に応じて、ユーザーのプリンシパルまたは表示名の全体または一部を入力します。検索文字列には、名前の冒頭部分または名前の一部を指定できます。

    3. 「検索」をクリックします。

    4. 検索結果のリストで、権限を付与するユーザーの名前をクリックして、「OK」をクリックします。

  8. 「アプリケーション権限の作成」ウィンドウの「権限」セクションで、「追加」をクリックします。

  9. 「権限の追加」ダイアログで、次の操作を実行します。

    1. Javaクラス単位で検索するには、「権限」を選択し、「権限クラス」フィールドでoracle.soa.osb.console.common.permissions.OSBPermissionを選択します。

    2. リソース単位で検索するには、「リソース・タイプ」を選択し、「リソース・タイプ」フィールドでOSBPermissionを選択します。

    3. 必要に応じて、リソース名の全体または一部を入力します。

    4. 「検索」をクリックします。

    5. 検索結果のリストで、付与する権限の名前をクリックして、「続行」をクリックします。

      Service Bus権限の詳細は、「アプリケーション・セキュリティ・ロール」を参照してください。

    6. 「権限アクション」フィールドでは、権限付与するアクションのみを選択します。Javaクラス単位で検索した場合は、カンマ区切りリストで権限アクションを入力します。たとえば、create,delete,editと入力します。

      選択可能な権限は、前のページでの選択内容に応じて異なります。

    7. 「選択」をクリックします。

      新しい権限が「権限」表に表示されます。

  10. 権限の付与が完了したら、「アプリケーション権限の作成」ウィンドウの「OK」をクリックします。

12.4 本番環境でのOracle Service Busのセキュリティ

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リソースのアクセス制御を構成します。

12.4.1 Service Bus (SB)リソースのアンデプロイ

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サブシステムを使用できなくなります。

12.4.2 bodyコンテンツをストリーミングする場合の一時ファイルの保護

『Oracle Service Busでのサービスの開発』メッセージ・コンテキスト・モデルに関する項で説明しているように、メッセージ・コンテンツを処理する場合は、Service Busパイプラインがコンテンツをメモリーにロードするのではなく、ストリーミングするように指定できます。コンテンツ・ストリーミングを有効にするときは、メッセージ処理時の中間ステップとして、ストリーミングされたコンテンツをメモリーとディスク・ファイルのどちらにバッファ・リングするかを指定します。

一時ディスク・ファイルを使用する場合は、それらを保護する必要があります。Service Busドメインをロック・ダウンするには、Javaシステム・プロパティcom.bea.wli.sb.context.tmpdirを設定して、一時ファイルが書き込まれる場所を指定します。このディレクトリが存在し、適切なアクセス権のセットがあることを確認してください。詳細は、『Oracle WebLogic Server本番環境の保護』のファイルのアクセス権限およびファイル・システムの推奨事項を参照してください。

12.4.3 Oracle Service Busコンソールに対するサービス拒否攻撃からの保護

本番環境では、管理者以外のユーザーはOracle Service Busコンソールにアクセスできない必要があります。サービス拒否攻撃では、1つのソースから大量のリクエストが発信されたり、リソース制約がある点に達するとサーバーへの新しい接続が確立されたりします。Oracle Service Busコンソールに対するサービス拒否攻撃からの保護に関する推奨事項を次に示します。

  • 本番環境では、管理サーバー(Oracle Service Busコンソールが稼働するサーバー)は決して公開しないようにします。管理対象サーバーだけを、呼出し元からアクセスできるようにする必要があります。

  • Oracle Service Busコンソールのデフォルトのワーク・マネージャを使用するのではなく、別のワーク・マネージャを構成し、Oracle Service BusコンソールのWebアプリケーションにアクセスできるユーザー数のデフォルトの制限値(max-threads-constraint)を設定して使用します。

    ワーク・マネージャの詳細は、『Oracle WebLogic Serverサーバー環境の管理』ワーク・マネージャを使用したスケジューリング済作業の最適化に関する項を参照してください。