BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

管理者ガイド

 Previous Next Contents PDF で侮ヲ  

システム管理操作の保護

各人のスキルを活かすために、多くの Web 開発チームでは、システム管理の責任が複数のロールに明確に割り当てられています。コンポーネントをデプロイするパーミッションは 1 人か 2 人のチーム メンバーにしか付与しないが、WebLogic Server コンフィグレーションを参照するパーミッションはチーム メンバー全員に付与する、というような設定がプロジェクトごとに行われます。 WebLogic Server では、このようなロールベースの開発がサポートされており、システム管理操作に対するアクセス特権が定義されたグローバル ロール (Anonymous、Admin、Deployer、Operator、Monitor) が用意されています。

以下の節では、セキュリティ ロールおよびシステム管理操作について説明します。

注意: 7.0 より前のリリースで使用されていた、WebLogic Server MBean を保護するためのアクセス制御リスト (ACL) に代わって、現在ではこのようなロールベースのパーミッションが使用されます。

 


各ロールで使用可能な操作

表 3-1 に、システム管理操作のアクセス特権を決定するために使用される 5 種類のグローバル ロールと、各ロールに付与されるパーミッションを示します。

表3-1 グローバル ロールとパーミッション

グローバル ロール

パーミッション

Anonymous

すべてのユーザ (everyone グループ) にこのグローバル ロールが付与される。

注意: このグローバル ロールは利便性のために用意されており、weblogic.xml および weblogic-ejb-jar.xml デプロイメント記述子で指定できる。

Admin

  • サーバのコンフィグレーションを参照する。暗号化された値や属性も参照できる。

  • サーバのコンフィグレーション全体を変更する。

  • エンタープライズ アプリケーション、起動クラスと停止クラス、Web アプリケーション、EJB、J2EE コネクタ、および Web サービス モジュールをデプロイする。

  • デフォルトでは、サーバを起動、再開、および停止する。

Deployer

  • サーバのコンフィグレーションを参照する。暗号化された属性は参照できない。

  • エンタープライズ アプリケーション、起動クラスと停止クラス、Web アプリケーション、EJB、J2EE コネクタ、および Web サービス モジュールをデプロイする。

Operator

  • サーバ コンフィグレーション (暗号化された属性は除く) を表示する。

  • デフォルトでは、サーバを起動、再開、および停止する。

Monitors

  • サーバのコンフィグレーションを参照する。暗号化された属性は参照できない。

注意: このセキュリティ ロールでは、WebLogic Server Administration Console、weblogic.Admin ユーティリティ、および MBean API への読み込み専用アクセスが可能。

どのロール メンバーシップのユーザも、暗号化される属性を暗号化していない状態で表示することはできません。

注意: WebLogic Server MBean を直接操作している際に、グローバル ロールやその特権に関して表 3-1 より詳しい情報が必要になった場合は、『WebLogic リソースのセキュリティ』の「保護されている MBean の属性および操作」を参照してください。

独自のセキュリティ ロール (グローバルまたはスコープ) を作成し、デフォルトのグローバル ロールに追加することもできます。詳細については、『WebLogic リソースのセキュリティ』の「Administration Console でのセキュリティ ロールの作成方法」を参照してください。

デフォルト グループの関連付け

デフォルトでは、WebLogic Server は 4 つのデフォルト グループに 4 つのグローバル ロールを付与します。 これらのグループのいずれかにユーザを追加すると、そのユーザにはグローバル ロールが自動的に付与されます。 このデフォルト グループの関連付けを表 3-2 に示します。

表3-2 デフォルト グループの関連付け

グループ

関連付けられたロール

Administrators

Admin

Deployers

Deployer

Operator

Operator

Monitors

Monitors

ユーザの作成とグループへの割り当てについては、『WebLogic リソースのセキュリティ』の「ユーザの作成」および「ユーザのグループへの追加」を参照してください。

 


保護されたユーザ インタフェース

WebLogic Server Administration Console、weblogic.Admin コマンド、および MBean API は、表 3-1表 3-2 で説明したデフォルト グローバル ロールとデフォルト グループに基づくデフォルト セキュリティ ポリシーを使用して保護されています。 したがって、Administration Console を使用するユーザは、いずれかのデフォルト グループに属しているか、いずれかのグローバル ロールが付与されている必要があります。 また、MBean との対話が必要となる管理操作は、『WebLogic リソースのセキュリティ』の「保護されている MBean の属性および操作」で説明する MBean による保護を使用して保護する必要があります。したがって、以下にあげる保護されたパブリック インタフェースとの対話では、両方のセキュリティ方式を満たしていなければなりません。

 


サーバ リソースの階層化されたセキュリティ方式

以下の節では、サーバ リソースの階層化されたセキュリティ方式について説明します。

サーバ リソースのセキュリティ ポリシー

他のタイプの WebLogic リソースと同様、サーバ リソースも WebLogic Server Administration Console を使用してセキュリティ ポリシーで保護されています。

より具体的にいえば、すべてのサーバ リソースは、Admin および Operator デフォルト グローバル セキュリティ ロールに基づくデフォルト セキュリティ ポリシーを継承します。 各ロールで使用可能な操作 で説明したように、Admin および Operator グローバル ロールには、管理者が Administration Console や weblogic.Admin などの管理インタフェースと対話するのに必要な特定の特権が付与されています。 これらのデフォルト グローバル ロールは、デフォルト グループに基づいています (デフォルト グループの関連付けを参照してください)。 したがって、サーバ リソースにアクセスする必要のある管理者は、Administrators または Operators デフォルト グループのどちらかに属している必要があります。

注意: WebLogic Server では、4 つのデフォルト グループに 4 つのグローバル ロールを付与しているため、ユーザをこれらのグループのいずれかに追加するとグローバル ロールも自動的に付与されます。

警告: 制限を強化するためにサーバ リソースのデフォルト セキュリティ ポリシーを変更しないでください。 既存のセキュリティ ロールの中には、削除すると WebLogic Server の機能に悪影響を与えるものがあります。 ただし、新しいセキュリティ ポリシーを追加するなどして、デフォルト セキュリティ ポリシーをより包括的にすることはできます。

MBean による保護

それぞれのタイプの WebLogic リソース (サーバ リソースを含む) は、weblogic.security.spi.Resource インタフェース (サーバ リソースの場合は weblogic.security.service.ServerResource クラス) の独自の実装を使用して操作セットをエクスポーズします。 したがって、ServerResource クラスは、サーバ リソースのセキュリティ ポリシーで説明したセキュリティ ポリシーによって実際に保護されたエンティティです。

WebLogic Server では、サーバ リソースのコンフィグレーションを複数の MBean を使用してエクスポーズします。 したがって、ServerResource クラスが保護するアクションは、基底となる MBean の属性および操作に対応します。 たとえば、Resource インタフェースの start() メソッドは、ServerRuntime MBean の start 操作に直接マップされています。

サーバ リソースのコンフィグレーションをエクスポーズする MBean は、4 つのデフォルト グローバル ロールのいずれかを使用して保護されます。 この保護は、サーバ リソースのセキュリティ ポリシーとは別に行われるもので、現時点では WebLogic Security サービスの変更不能な部分となっています。 したがって、サーバ リソースを保護するために独自のグローバル ロールを作成することはできますが、サーバのコンフィグレーションを表示したり変更したりできるのは、いずれかのデフォルト グローバル ロールを付与されたユーザのみです。

WebLogic Security サービスによる階層化された保護の検証

管理者がサーバ リソースとの対話を試行すると、WebLogic Security サービスは以下を行います。

したがって、要求した処理を正常に実行するには、ユーザが両方のセキュリティ方式の要件を満たしている必要があります。 図 3-1 に、サーバ リソースのセキュリティ ポリシーが、基底となる MBean でのセキュリティ ロール ベースの保護とどのように相互作用するかを示します。

図3-1 サーバ リソースの階層化された保護


 

MBean による保護によって付与される特権は変更できないため、一貫性のあるセキュリティ ポリシーを維持する必要があります。 詳細については、一貫性のあるセキュリティ方式の維持を参照してください。

この例では、サーバ リソースが階層化されたセキュリティ方式によってどのように保護されるかを示します。

ユーザ名 JDoe の管理者が、myserver というサーバを起動したいとします。 この管理ユーザ (JDoe) は、デフォルト グループ Administrators のメンバーです。デフォルトでは、Admin グローバル セキュリティ ロールが付与されています。 このユーザ対グループ、グループ対セキュリティ ロールのコンフィグレーションは、前述したように WebLogic Server Administration Console を使用して設定されています。

パート 1 : MBean による保護

サーバを起動するにはさまざまな MBean との対話が必要であり、しかも MBean による保護は WebLogic Security サービスの変更不能な部分であるため、このような操作を行うユーザには Admin または Operator デフォルト グローバル ロールが付与されている必要があります。 たとえば、Server MBean および ServerRuntime MBean (start 操作を持つ MBean) へのアクセスは、上記のデフォルト セキュリティ ロールが付与されたユーザにしか許可されていません。 管理ユーザ JDoe はデフォルト グループ Administrators のメンバーであり、Admin グローバル セキュリティ ロールも付与されているため、サーバ リソースの階層化されたセキュリティ方式の 1 つ目の要件は満たしています。

パート 2 : サーバ リソースのセキュリティ ポリシー

図 3-2 の [ポリシー文] リスト ボックスに示されているように、myserver のデフォルト セキュリティ ポリシー (表示するには、ナビゲーション ツリーの myserver を右クリックして [ポリシーの定義] を選択) に基づいて、サーバ リソースと対話するために必要な Admin または Operator グローバル ロールをユーザに付与できます。 管理ユーザ JDoe はデフォルト グループ Administrators のメンバーであり、Admin グローバル セキュリティ ロールも付与されているため、サーバ リソースの階層化されたセキュリティ方式の 2 つ目の要件も満たしています。

図3-2 myserver サーバのデフォルト セキュリティ ポリシー


 

注意: 管理ユーザ JDoeOperators グループのメンバーでもあり、したがって Operator デフォルト グローバル ロールが付与されています。この点からも、階層化されたセキュリティ方式の両方の要件を満たしています。

一貫性のあるセキュリティ方式の維持

WebLogic Server のデフォルトのコンフィグレーションでは、グループ、グローバル ロール、サーバ リソースのセキュリティ ポリシー、および MBean による保護が、相互に連携して一貫性のあるセキュリティ方式を確立しています。しかし、変更を行うことで、意図しないアクセス制限が発生する場合があります。 デフォルトのセキュリティ設定を変更する場合は、MBean による保護およびサーバ リソースのサーバ ポリシーの両方によるユーザの認証を妨げないよう注意してください。

たとえば、WebLogic Server Administration Console を使用してユーザを Operator グローバル ロールに追加する際、サーバ リソースに対して定義されたセキュリティ ポリシーの Operator グローバル ロールを使用し忘れると、そのユーザは起動および停止シーケンスで使用される MBean を呼び出すことはできても、サーバを起動したり停止したりするサーバ リソースの操作はできなくなります。 同様に、Administration Console を使用して サーバ リソースのセキュリティ ポリシーから Operator グローバル ロールを削除すると、Operator グローバル ロールでは MBean 操作を呼び出すことはできてもサーバ リソースを呼び出すことができなくなります。 これは、デフォルト グローバル ロールの MBean による保護が WebLogic Security サービスの一部であり、現時点では変更不能になっているためです。

MBean による保護をセキュリティ ポリシーと同期させるには、ポリシーの作成時または変更時に以下を考慮してください。

 


WebLogic Server の起動および停止に対するパーミッション

WebLogic Server で WebLogic Server インスタンス (サーバ) を起動および停止するには、weblogic.Server コマンドを使用する方法とノード マネージャを使用する方法があります。 weblogic.Server コマンドとノード マネージャでは基底のコンポーネントが異なるため、これら 2 つのコマンドでは異なる認可方法が使用されます。

以下の節では、サーバを起動および停止するためのパーミッションについて説明します。

weblogic.Server コマンドを使用したパーミッション

weblogic.Server コマンドは WebLogic Server インスタンスを起動するためのコマンドで、サーバ リソースのセキュリティ ポリシーによって保護されたメソッドを呼び出します。 このコマンドを使用するには、サーバ リソースのセキュリティ ポリシーの要件を満たす必要があります。

weblogic.Server 引数の中には MBean の属性を設定するものもあります。 ただし、これらの引数はサーバが実行中 (RUNNING) 状態になる前に MBean を変更するので、MBean による保護ではなく、サーバ リソースのセキュリティ ポリシーによって認可されます。 たとえば、Operator グローバル ロールに属するユーザは -Dweblogic.ListenPort 引数を使用してサーバのデフォルトのリスン ポートを変更できますが、WebLogic Server インスタンスが実行中状態になると、このユーザはリスン ポートの値を変更できません。

weblogic.Server の詳細については、weblogic.Server コマンドの使用を参照してください。

ノード マネージャを使用したパーミッション

ノード マネージャでは、リモート サーバの起動に MBean による保護とサーバ リソースのセキュリティ ポリシーの両方を使用します。

リモート WebLogic Server インスタンスのホスト マシン上でノード マネージャがコンフィグレーションされている場合、デフォルトでは Admin または Operator グローバル ロールに属するユーザはノード マネージャを使用してリモート サーバを起動できます。

ノード マネージャについては、『WebLogic Server ドメイン管理』の「ノード マネージャによるサーバの可用性の管理」を参照してください。

WebLogic Server インスタンスの停止

WebLogic Server インスタンスの停止においても、MBean による保護とサーバ リソースのセキュリティ ポリシーの両方が使用されます。 ユーザが停止コマンドを発行すると、サーバではまず、MBean による保護に基づいてそのユーザが Admin または Operator グローバル ロールのメンバーかどうかが判別されます。 続いて、MBean 操作を実行した後、サーバ リソースのセキュリティ ポリシーに基づいてそのユーザがサーバを停止する権限を持っているかどうかが判別されます。

 

Back to Top Previous Next