ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server ロールおよびポリシーによるリソースの保護
11g リリース 1 (10.3.1)
B55556-01


目次
目次

戻る
戻る
次へ
次へ

5 セキュリティ ポリシー

セキュリティ ポリシーとは、WebLogic Server リソースに誰がアクセスできるのかを指定するものです。「Admin ロールのユーザにアクセスを許可する」といった簡単なポリシーや、「Admin ロールのユーザに 8 時から 5 時の間だけアクセスを許可する」といった複雑なポリシーを作成することができます。

この章では、セキュリティ ポリシーの特長と機能について説明します。

セキュリティ ポリシーによる複数のリソースの保護については、「ポリシーを使用して複数のリソースの保護」を参照してください。

セキュリティ ポリシーの格納および使用の前提条件

Web アプリケーション リソースおよび EJB リソース以外のすべてのリソースに対するセキュリティ ポリシーは、常にデフォルトの (アクティブな) セキュリティ レルムにコンフィグレーションされた認可プロバイダのセキュリティ プロバイダ データベースに保持されます。WebLogic Server が提供するセキュリティ レルムによって、ポリシーが組み込み LDAP サーバに格納されます。

Web アプリケーション リソースおよび EJB リソースのポリシーの場所は、以下のように場合によって変わります。

Web アプリケーションおよび EJB リソースの保護のオプション」を参照してください。

セキュリティ ポリシーに追加する各ユーザやグループは、アクティブなセキュリティ レルムにコンフィグレーションされた認証プロバイダのセキュリティ プロバイダ データベースに定義されている必要があります。追加する各ロールは、アクティブなセキュリティ レルムにコンフィグレーションされたロール マッピング プロバイダのセキュリティ プロバイダ データベースに定義されている必要があります。WebLogic Server のセキュリティ レルムは、WebLogic 認証プロバイダおよび WebLogic XACML ロール マッピング プロバイダを使用するようにコンフィグレーションされています。これらのプロバイダでは、ユーザ、グループ、およびロールを組み込み LDAP サーバに格納します。

WebLogic 認証、認可およびロール マッピング プロバイダの詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Security の紹介』の「WebLogic セキュリティ プロバイダ」を参照してください。

デフォルトのルート レベルのセキュリティ ポリシー

ルート レベルのポリシーは、特定のリソース タイプの全インスタンスで継承されます。表 5-1 で、WebLogic Server に設定されたセキュリティ レルムに定義されているデフォルトのルート レベルのポリシーについて説明します。ここに示すポリシーで指定されているロールとグループについては、「 ユーザ、グループ、セキュリティ ロール」を参照してください。


注意 :

ルート レベルのポリシーには Administration Console でアクセスできます。『Oracle Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「ルート レベルのポリシーの作成」を参照してください。

表 5-1 WebLogic リソースのデフォルト セキュリティ ポリシー

WebLogic リソース セキュリティ ポリシー

管理リソース

デフォルト グローバル ロール : Admin

アプリケーション リソース

なし

EIS (リソース アダプタ) リソース

デフォルト グループ : Everyone

EJB リソース

デフォルト グループ : Everyone

COM リソース

なし

JDBC リソース

デフォルト グループ : Everyone

JNDI リソース

デフォルト グループ : Everyone

JMS リソース

デフォルト グループ : Everyone

サーバ リソース

デフォルト グローバル ロール :

  • Admin

  • Operator

ワーク コンテキスト

デフォルト グループ : Everyone

URL リソース

デフォルト グループ : Everyone

Web サービス リソース

デフォルト グループ : Everyone



警告 :

管理リソースとサーバ リソースのデフォルトのルート レベルのポリシーを変更して制約をさらに厳しくすることがないようにしてください。既存のセキュリティ ロールの一部を削除すると、WebLogic Server の動作に悪影響を与えることがあります。ただし、必要に応じて、デフォルト セキュリティ ポリシーにより多くを含めることはできます (たとえば、新しいセキュリティ ロールを追加するなど)。「一貫性のあるセキュリティ方式の維持」を参照してください。

セキュリティ ポリシー条件

ポリシーには、あるリソースに対して誰がアクセスできるのかを決定するために 1 つまたは複数の条件が指定されます。もっとも基本的なポリシーには、セキュリティ ロールまたはプリンシパルの名前が指定されています。たとえば、グローバル ロール「Admin」のみが指定されているような形です。このポリシーは、WebLogic Security サービスによって実行時に「Admin ロールのユーザにアクセスを許可する」と解釈されます。さらに複雑な条件を作成することも可能で、そうした条件を論理演算子 AND や OR (非排他的な OR) で組み合わせることもできます。また、どの条件も否定が可能で、それによって特定の条件下におけるアクセスを禁止できます。

Administration Console には、WebLogic Server 認可プロバイダに組み込まれている以下の 3 種類のポリシー条件が表示されます。


注意 :

以下の節では、WebLogic 認可プロバイダまたは WebLogic XACML 認可プロバイダを使用するレルムで利用できる条件について説明します。お使いのセキュリティ レルムでサード パーティ製の認可プロバイダを使用する場合は、サード パーティのドキュメントでこの機能について参照してください。

基本的なポリシー条件

このリリースの WebLogic Server で使用できる基本的なポリシー条件は以下のとおりです。

  • [ユーザ] - 指定したユーザにリソースへのアクセスを許可します。たとえば、ユーザ John だけが Deposit EJB にアクセスできるという条件を作成できます。

  • [グループ] - 指定したグループ内のすべてのユーザやグループにリソースへのアクセスを許可します。ただし、[ユーザ] 条件や [ロール] 条件と [グループ] 条件が矛盾する場合を除きます。

  • [ロール] - 指定したロールに定義されたすべてのユーザやグループにリソースへのアクセスを許可します。ただし、[ユーザ] 条件や [グループ] 条件と [ロール] 条件が矛盾する場合を除きます。たとえば、「Admin」を指定した [ロール] 条件と「joe」を否定する [ユーザ] 条件を作成した場合、ユーザ joe が Admin ロールに定義されていても joe によるアクセスが否定されます。

  • [サーバが開発モードである] - リソースをホストするサーバが開発モードで動作している場合にアクセスを許可します。『Oracle WebLogic Server コンフィグレーション ウィザードを使用した WebLogic ドメインの作成』の「WebLogic ドメインの作成」を参照してください。

  • [全員に対してアクセスを許可] - すべてのユーザ、グループ、およびロールにアクセスを許可します。

  • [全員に対してアクセスを拒否] - すべてのユーザ、グループ、およびロールのアクセスを禁止します。

  • [要素に次のユーザの署名が必要] - (Web サービスを保護する場合にのみ使用) Web サービスのオペレーションを呼び出す SOAP リクエスト メッセージ内の要素を誰がデジタル署名したかに基づいてセキュリティ ポリシー条件を作成します。たとえば、getBalance オペレーションを、受信 SOAP リクエストの AccountNumber 要素が joe という名前のユーザによってデジタル署名された場合にのみ呼び出すことができるという条件を作成できます。

    [要素に次のユーザの署名が必要] 条件を作成するには、次の情報を提供します。

    • SOAP 要素にグループまたはユーザによる署名が必要かどうかを指定する。

      たとえば、要素に対してユーザによる署名が必要であると指定するには、user と入力します。

    • 要素に署名が必要なユーザまたはグループの名前。

    • デジタル署名が必要な SOAP メッセージ要素の名前。次の形式を使用します。

      {ネームスペース}LocalPart 
      

      LocalPart はデジタル署名が必要な SOAP メッセージの要素の名前で、「ネームスペース」はそのネームスペースです。これらの値を取得するには、Web サービスの WSDL を使用します。

      たとえば、

      {http://schemas.xmlsoap.org/soap/envelope/}AccountNumber 
      

      注意 :

      デジタル署名されるように Web サービスの WS-Policy 内にすでにコンフィグレーションされている要素のみを指定できます。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Web サービスのセキュリティ』の「メッセージレベルのセキュリティのコンフィグレーション」を参照してください。

日付と時刻のポリシー条件

任意の日付と時刻の条件を使用する場合、他のいずれかの条件を追加してさらにユーザを制限しない限り、セキュリティ ポリシーではすべてのユーザに対して指定した日付または時刻のアクセスが許可されます。このリリースの WebLogic Server で使用できる日付と時間のポリシー条件は以下のとおりです。

  • [指定した時間帯にアクセスが発生] - 指定した時間帯のアクセスを許可します。たとえば、ユーザに営業時間中のアクセスのみを許可する条件を作成できます。

  • [次の日時より後にアクセスが発生] - 指定した時間より後のアクセスを許可します。たとえば、営業開始後など、ユーザに特定の日時よりも後のアクセスを許可する条件を作成できます。

  • [次の日時より前にアクセスが発生] - 指定した時間より前のアクセスを許可します。たとえば、営業終了前など、ユーザに特定の日時よりも前のアクセスを許可する条件を作成できます。

  • [指定した曜日にアクセスが発生] - 指定した曜日のアクセスを許可します。たとえば、ユーザに平日のアクセスを許可する条件を作成できます。

  • [指定した日にアクセスが発生] - 月の特定の日付に発生したアクセスを許可します。たとえば、ユーザに毎月の 1 日にのみアクセスを許可する条件を作成できます。

  • [指定した日より後にアクセスが発生] - 月の特定の日付より後に発生したアクセスを許可します。たとえば、ユーザに毎月 15 日より後にアクセスを許可する条件を作成できます。

  • [指定した日より前にアクセスが発生] - 月の特定の日付より前に発生したアクセスを許可します。たとえば、ユーザに毎月 15 日になる前までアクセスを許可する条件を作成できます。

コンテキスト要素のポリシー条件

コンテキスト要素の条件を使用すると、HTTP サーブレット リクエスト属性、HTTP セッション属性、EJB メソッドのパラメータの値に基づいてセキュリティ ポリシーを作成できます。この情報は WebLogic Server によって ContextHandler オブジェクトから取得され、その値に基づいてポリシー条件を定義できます。こうした条件を使用する場合、使用しているコンテキストに属性またはパラメータと値のペアが確実に適用するようにするのはユーザの役目です。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server セキュリティ プロバイダの開発』の「ContextHandler と WebLogic リソース」を参照してください。

このリリースの WebLogic Server で使用できるコンテキスト要素のロール条件は以下のとおりです。

  • [コンテキスト要素が定義されている] - 指定した属性またはパラメータに基づいてアクセスを許可します。

  • [コンテキスト要素の値が数値定数と等しい] - 指定した属性またはパラメータの数値 (または double 型の数値を表す文字列) が、指定した double 型の数値と等しいことに基づいてアクセスを許可します。

  • [コンテキスト要素の値が数値定数より大きい] - 指定した属性またはパラメータの数値 (または double 型の数値を表す文字列) が、指定した double 型の数値よりも大きいことに基づいてアクセスを許可します。

  • [コンテキスト要素の値が数値定数より小さい] - 指定した属性またはパラメータの数値 (または double 型の数値を表す文字列) が、指定した double 型の数値よりも小さいことに基づいてアクセスを許可します。

  • [コンテキスト要素の値が文字列定数と等しい] - 指定した属性またはパラメータの文字列値が、指定した文字列と等しいことに基づいてアクセスを許可します。

保護されたパブリック インタフェース

Weblogic Server Administration Console、Weblogic Scripting Tool (WLST)、および MBean API は、デフォルト セキュリティ ポリシーによって保護されます。デフォルト セキュリティ ポリシーは、表 6-2 で説明したデフォルト グローバル ロールおよびデフォルト グループに基づきます。したがって、Administration Console を使用するためには、ユーザはデフォルト グループのいずれかに属しているか、グローバル ロールが付与されていなければなりません。また、MBean との対話が必要な管理操作は、「一貫性のあるセキュリティ方式の維持」で説明されている MBean の保護を使用して保護されます。したがって、以下の保護されているパブリック インタフェースとの対話では、通常、両方のセキュリティ方式を満たしている必要があります。

Administration Console でのセキュリティ ポリシーの管理


注意 :

この節では、WebLogic 認可プロバイダまたは WebLogic XACML 認可プロバイダを使用するセキュリティ レルムで利用可能な機能について説明します。お使いのセキュリティ レルムでサード パーティ製の認可プロバイダを使用する場合は、サード パーティのドキュメントでプロバイダ データベースへのポリシーの追加方法について参照してください。

WebLogic Administration Console を使用して、セキュリティ ポリシーの作成や変更のために WebLogic リソースにアクセスできます。詳細については、『Oracle Fusion Middleware Oracle WebLogic Server Administration Console ヘルプ』の「セキュリティ ポリシーの管理」を参照してください。