Oracle® Fusion Middleware Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発 11g リリース1(10.3.3) B61630-01 |
|
前 |
次 |
WebLogic Serverには、WebLogic Serverリソースを構成、モニター、および管理するための様々な独自のMBeanが用意されています。
以下の節では、WebLogic Serverが独自のMBeanを配布および管理する方法について説明します。
Oracle WebLogic Server MBeanリファレンスでは、すべてのWebLogic Server MBeanについて詳しく説明しています。
WebLogic Server管理ドメインは、1つ以上のサーバーと、それらのサーバー上で動作するように構成されたアプリケーションおよびリソースの集合です。各ドメインには、管理サーバーとして指定される特別なサーバー・インスタンスが含まれている必要があります。最も単純なドメインは、管理サーバーとしても、アプリケーションおよびリソースのホストとしても機能する1つのサーバー・インスタンスで構成されます。このドメイン構成は、開発環境でよく使用されます。通常、本番環境用のドメインには複数のサーバー・インスタンス(管理対象サーバー)が含まれ、それぞれを独立して動作させたり、クラスタと呼ばれるグループで動作させたりします。このような環境では、管理サーバーは本番アプリケーションをホストしません。ドメインの詳細は、Oracle WebLogic Serverドメイン構成についてのドキュメントのOracle WebLogic Serverドメインの理解に関する項を参照してください。
すべてのWebLogic Server MBeanは、そのMBeanがサーバーおよびリソースをモニターするか、または構成するかに基づいて、以下の一般的なタイプのいずれかに分けられます。
実行時MBean。サーバーとそのリソースの実行時状態に関する情報が含まれます。このタイプのMBeanにはサーバーまたはリソースの現在の状態に関するデータのみが含まれており、このデータは永続的に保持されるものではありません。サーバー・インスタンスを停止すると、実行時MBeanの実行時の統計とメトリックはすべて破棄されます。
構成MBean。サーバーおよびリソースの構成に関する情報が含まれます。このタイプのMBeanは、ドメインのXML構成ドキュメントに格納されている情報を表します。
システム・モジュールの構成MBean。JDBCデータ・ソースやJMSトピックなど、システム・レベルで指定されたサービスの構成に関する情報が含まれます。これらのサービスをシステム・レベルで指定するかわりに、モジュールとしてアプリケーションに含めることもできます。これらのアプリケーション・レベルのリソースは、親アプリケーションのライフサイクルおよびスコープを共有します。ただし、WebLogic Serverではアプリケーション・モジュール用のMBeanは提供されていません。『Oracle WebLogic Serverへのアプリケーションのデプロイ』のサポートされるデプロイメント・ユニットに関する項を参照してください。
実行時MBeanのライフサイクルは、その実行時MBeanが実行時データを公開するリソースのライフサイクルに従います。たとえば、サーバー・インスタンスの起動時に、サーバーはServerRuntimeMBean
をインスタンス化し、そこに現在の実行時データを格納します。各リソースは、自身の状態が変化するときに、実行時MBean内のデータを更新します。リソースは、停止時に実行時MBeanを破棄します。
構成MBeanのライフサイクルは、次のようになります。
ドメイン内の各サーバーには、ドメインの構成ドキュメント(config.xml
ファイルと補助ファイル)の独自のコピーがあります。各サーバーは、起動サイクル時に管理サーバーにアクセスして、そのサーバーが停止していた間に発生したすべての変更を反映するように構成ファイルを更新します。その後、サーバーは、構成ドキュメント内のデータを表す構成MBeanをインスタンス化します (図2-1を参照してください。)
注意: デフォルトでは、管理対象サーバーは、管理サーバーにアクセスして構成ファイルを更新できなくても起動します。このデフォルトの設定では、ドメイン内で実行される管理対象サーバー間で構成が一致していない状態になるおそれがあります。このデフォルトの変更については、『Oracle WebLogic Serverサーバーの起動と停止の管理』の管理サーバーにアクセスできない場合の管理対象サーバーの起動に関する項を参照してください。 |
構成MBeanを使用することで、ドメイン内の各サーバー・インスタンスは、ドメインの構成をメモリー内で表現したものを保持できます。
ドメインの構成に対する変更を制御するには、JMXクライアントにこれらの構成MBeanに対する読取り専用のアクセス権を付与します。
管理サーバーは、ドメインのconfig/pending
ディレクトリにドメインの構成ドキュメントの独立した編集可能なコピーを保持しており、これらの保留中のドキュメント内のデータを使用して、JMXクライアントが変更できる一連の構成MBeanをインスタンス化します。JMXクライアントは、これらの構成MBeanのいずれかを変更すると、保留中の構成ドキュメントにその変更を保存するように管理サーバーに指示します。クライアントはその後、ドメイン内のすべてのサーバー・インスタンスに対して読取り専用の構成ドキュメントと構成MBeanを更新するトランザクション・プロセスを開始します。
詳細は、Oracle WebLogic Serverドメイン構成についてのドキュメントの構成の変更の管理に関する項を参照してください。
構成MBeanは、それらをホストするサーバー・インスタンスが停止されるときに破棄されます。
JMX仕様では、MBeanをまとめるためのモデルを定めていません。ただし、WebLogic Serverドメインの構成は、XMLドキュメント内で指定されるため、WebLogic ServerはMBeanを、XMLドキュメント構造を反映した階層モデルにまとめます。
たとえば、ドメインの構成ドキュメントのルートは<domain>
であり、そのルートの下には、<server>
、<cluster>
などの子要素があります。各ドメインは、<domain>
ルート要素を表すDomainMBean
タイプの1つのMBeanを保持しています。DomainMBean
内では、JMX属性が、<server>
、<cluster>
などの子要素を表すMBeanへのアクセスを提供します。
以下の節では、基底のXML構成をモデル化するためにWebLogic Server MBeanで使用されるパターンについて説明します。
他のMBeanへのアクセスを提供するMBean属性は、以下のいずれかのタイプの関係を表現します。
包含関係。ドメインの構成ドキュメント内の対応するXML要素間の親子関係を反映します。
参照関係。兄弟などの、祖先でも子孫でもない関係を反映します。
例2-1のXML抜粋に、<domain>
と<server>
の間および<domain>
と<cluster>
の間の包含関係を示します。
例2-1 XML内の包含関係
<domain> <server> <name>MyServer</name> </server> <cluster> <name>MyCluster</name> </cluster> </domain>
この関係を反映するために、DomainMBean
にはServers
およびClusters
という2つの属性があります。Servers
属性の値は、ドメインで作成されたすべてのServerMBean
のオブジェクト名の配列(javax.management.ObjectName[]
)です。Clusters
属性の値は、すべてのClusterMBean
のオブジェクト名の配列です。
包含関係のもう一方の側面は、Java beanファクトリ・メソッドの設計パターンに従う一連のMBeanオペレーションで表現されます。親MBeanは、包含するMBean (子)ごとにcreate
Child
オペレーションおよびdestroy
Child
オペレーションを提供します。Child
はMBeanタイプの短縮名です。(短縮名とは、MBean
サフィックスの付かない、MBeanの未修飾のタイプ名。例: createServer
)。
注意: JMXクライアントは、WebLogic Server MBeanのインスタンスの作成および登録にjavax.management.MBeanServer.create() もregister() も使用できません。WebLogic ServerはMBean実装クラスを公開していないからです。
カスタムMBean (アプリケーションを管理するために作成するMBean)を作成および登録する場合には、独自の実装ファイルにアクセスできれば、標準の |
場合によっては、サーバー・インスタンス内の依存関係が原因で、MBeanのファクトリ・メソッドがパブリックではないこともあります。この場合は、親が子のライフサイクルを管理します。たとえば、各ServerMBean
には、そのサーバーのローカル・ログ・ファイルを構成するための唯一の子LogMBean
が必要です。LogMBean
のファクトリ・メソッドはパブリックではなく、ServerMBean
がLogMBean
のライフサイクルを管理します。
包含関係では、親MBean
にlookup
Child
オペレーションも含まれています。特定のサーバーまたはリソースの作成に使用された、ユーザーが入力した名前が分かっている場合は、親MBeanのlookupオペレーションを使用して、オブジェクト名を取得できます。たとえば、DomainMBean
には、サーバー・インスタンスの作成に使用された名前をパラメータとして取るlookupServers(String
name
)
というオペレーションが含まれています。サーバーにMS1
という名前を付けた場合、MS1
を含むString
オブジェクトをlookupServers
メソッドに渡せば、そのメソッドはMS1
のオブジェクト名を返します。
例2-2のXML抜粋に、<server>
と<cluster>
の間の参照関係を示します。
例2-2 XML内の参照関係
<domain> <server> <name>MyServer</name> <cluster>MyCluster</cluster> </server> <cluster> <name>MyCluster</name> </cluster> </domain>
サーバーがクラスタに論理的に属しているとき、ドメインの構成ファイル内の<server>
要素と<cluster>
要素は兄弟です。この関係を反映するために、ServerMBean
にはCluster
属性があります。この属性の値は、そのサーバーが属しているClusterMBean
のオブジェクト名(javax.management.ObjectName
)です。
参照関係にあるMBeanには、ファクトリ・メソッドは提供されません。
すべてのMBeanは、javax.management.ObjectName
型のオブジェクト名でMBeanサーバーに登録されなければなりません。WebLogic Serverでは、子MBeanのオブジェクト名にはその親MBeanのオブジェクト名の一部が含まれるという規約に従っています。
注意: WebLogic Serverのネーミング・ルールを理解していれば、オブジェクト名をよく見ることでデータ階層内でのMBeanインスタンスの場所が分かります。ただし、包含属性またはlookupオペレーションを使用してWebLogic Server MBeanのオブジェクト名を取得した場合は、JMXアプリケーションでオブジェクト名を作成したり解析したりする必要はありません。 |
WebLogic Serverのネーミング・ルールでは、MBeanオブジェクト名は次のようにエンコードされます。
com.bea:Name=name,Type=type[,TypeOfParentMBean=NameOfParentMBean] [,TypeOfParentMBean1=NameOfParentMBean1]...
説明:
com.bea:
は、JMXドメイン名。
WebLogic Server MBeanの場合、JMXドメインは常にcom.bea
です。アプリケーション用にカスタムMBeanを作成する場合は、独自のJMXドメイン名を付けてください。
Name=
name
,Type=
type
[,
TypeOfParentMBean
=NameOfParentMBean
]
[,
TypeOfParentMBean1
=NameOfParentMBean1
]...
は、一連のJMXキー・プロパティ。
キー・プロパティの順序は重要ではありませんが、名前の先頭にはcom.bea:
を指定する必要があります。
表2-1に、WebLogic ServerがMBeanオブジェクト名にエンコードするキー・プロパティを示します。
表2-1 WebLogic Server MBeanオブジェクト名のキー・プロパティ
キー・プロパティ | 指定する対象 |
---|---|
Name=name
|
MBeanが表すリソースを作成したときに指定した文字列。たとえば、サーバーの作成時には、MS1などのサーバー名を指定する必要があります。MS1を表す MBeanを作成する場合、この |
Type=type
|
構成MBeanおよび実行時MBeanの場合は、MBeanタイプの短縮名。短縮名は、 システム・レベルで指定されたサービスを管理するMBeanの場合は、 |
TypeOfParentMBean= NameOfParentMBean |
階層的なネームスペースを作成するために、WebLogic Server MBeanは、オブジェクト名の中でこの属性の1つまたは複数のインスタンスを使用します。階層のレベルによってスコープが示されます。たとえば、階層のドメイン・レベルにある 暗黙的なcreatorメソッドを持つWebLogic Server子MBeanは、親MBeanの medrec:Name=MedRecServer,Type=Log,Server=MedRecServer 親MBeanに同じタイプの複数の子がある場合、WebLogic Serverではこの規約に従うことができません。 一部のMBeanはこのキー・プロパティの複数のインスタンスを使用してユニークな識別子を指定します。たとえば、MedRecサンプル・アプリケーションの medrec:ApplicationRuntime=MedRecServer_MedRecEAR, Name=MedRecServer_MedRecEAR_Session EJB,ServerRuntime=MedRecServer,Type=EJBComponentRuntime
|
Location=servername
|
ドメイン実行時MBeanサーバーを使用して実行時MBeanまたは構成MBeanにアクセスする場合は、MBeanオブジェクト名に、そのMBeanが格納されているサーバー・インスタンスの名前を指定する
|
MBeanServerInvocationHandler
を使用してMBeanのプロキシを作成する場合、
Intf proxy = (Intf) MBeanServerInvocationHandler.newProxyInstance(mbs, name, Intf.class, false);
次のように、javax.management.MBeanServerInvocationHandler
のかわりにWLS拡張MBeanServerInvocationHandler
を含める必要があります。
import weblogic.management.jmx.MBeanServerInvocationHandler;
このため、返される例外が正しく処理されます。
MBeanサーバーは、すべてのJMXエージェントのコアとなるものであり、MBeanのコンテナとして機能します。
管理サーバーのJVMは、Oracleから提供される3種類のMBeanサーバーを保持しており、さらに必要に応じてJDK自体から提供されるプラットフォームMBeanサーバーを保持します。管理対象サーバーのJVMは、OracleのMBeanサーバーを1種類だけ保持しており、さらに必要に応じてプラットフォームMBeanサーバーを保持します。
表2-2に、各MBeanサーバーを示します。
表2-2 WebLogic ServerドメインのMBeanサーバー
MBeanサーバー | 作成、登録、およびアクセスを提供する対象 |
---|---|
ドメイン実行時MBeanサーバー |
ドメイン全体のサービス用のMBean。このMBeanサーバーは、管理対象サーバー上にあるMBeanへの単一のアクセス・ポイントとしても機能します。このMBeanサーバーに独自の(カスタム)MBeanを登録できます(『Oracle WebLogic Server JMXによる管理の容易なアプリケーションの開発』のドメイン実行時MBeanサーバーへのカスタムMBeanの登録に関する項を参照してください)。 オブジェクト名を作成してこのMBeanサーバーのWebLogic Server MBeanにアクセスするJMXクライアントでは、そのMBeanオブジェクト名に 管理サーバーのみが、このMBeanサーバーのインスタンスのホストとなります。 |
実行時MBeanサーバー |
特定のWebLogic Serverインスタンスのモニター、実行時制御、およびアクティブな構成を公開するMBean。このMBeanサーバーに独自の(カスタム)MBeanを登録できます(『Oracle WebLogic Server JMXによる管理の容易なアプリケーションの開発』のドメイン実行時MBeanサーバーへのカスタムMBeanの登録に関する項を参照してください)。 このリリースでは、WebLogic Server実行時MBeanサーバーはデフォルトでプラットフォームMBeanサーバーとして構成されています。ただし、別のMBeanサーバーを作成してプラットフォームMBeanサーバーのかわりに使用するようWebLogic Serverを構成できます。「プラットフォームMBeanサーバーの使用」を参照してください。 ドメイン内の各サーバーが、このMBeanサーバーのインスタンスのホストとなります。 |
編集MBeanサーバー |
保留中の構成MBeanと、WebLogic Serverドメインの構成を制御するオペレーション。変更のロック、保存、およびアクティブ化用の 管理サーバーのみが、このMBeanサーバーのインスタンスのホストとなります。 |
JVMのプラットフォームMBeanサーバー |
JDKによって提供されるMBean。JVM自体のモニター情報を格納します。このMBeanサーバーにカスタムMBeanを登録できます。 このリリースでは、WebLogic Serverはデフォルトで、JVMのプラットフォームMBeanサーバーを使用してWebLogic実行時MBeanを格納します。したがって、プラットフォームMBeanサーバーは1つのサーバー・インスタンス上にあるプラットフォームMXBean、WebLogic実行時MBean、およびWebLogic構成MBeanへのアクセスを提供します。「プラットフォームMBeanサーバーの使用」、および『Oracle WebLogic Server JMXによる管理の容易なアプリケーションの開発』のJVMプラットフォームMBeanサーバーへのMBeanの登録に関する項を参照してください。 |
JMXではローカルおよびリモートの両方からMBeanサーバーにアクセスできますが、JMXクライアントは2種類のアクセスに対して別々のAPIを使用し、WebLogic Server MBeanサーバーはローカル・クライアントとリモート・クライアントに対して別々の機能を公開しています。
WebLogic Server JVM内で実行されているJMXクライアントは、JNDIを介してそのサーバーの実行時MBeanサーバーまたはドメイン実行時MBeanサーバーに直接アクセスできます。そのためには認証が必要です。これは、ローカル・アクセスを許可する唯一のWebLogic Server MBeanサーバーです。ローカル・クライアントからアクセスされると、実行時MBeanサーバーまたはドメイン実行時MBeanサーバーは、そのjavax.management.MBeanServer
インタフェースを返します。クライアントは、このインタフェースを使用して、WebLogic Server MBeanにアクセスしたり、カスタムMBeanを作成および登録したり、カスタムMBeanにアクセスしたりできます。「実行時MBeanサーバーへのローカル接続の作成」と「ドメイン実行時MBeanサーバーへのローカル接続の作成」を参照してください。
JMXクライアントは、ローカルのJVMのプラットフォームMBeanサーバーにアクセスすることもできます。すべてのローカル・クライアントが、このMBeanサーバーのMBeanにアクセスできます。『Oracle WebLogic Server JMXによる管理の容易なアプリケーションの開発』のJVMプラットフォームMBeanサーバーへのMBeanの登録に関する項を参照してください。
リモートJMXクライアント(MBeanサーバーとは異なるJVM実行されているクライアント)は、javax.management.remote
APIを使用して、WebLogic MBeanサーバーにアクセスできます。そのためには、WebLogic Serverのセキュリティ・フレームワークを使用したクライアントの認証が必要です(「WebLogic Server MBeanのセキュリティ」を参照)。リモート・クライアントからアクセスされると、WebLogic Server MBeanサーバーは、そのjavax.management.MBeanServerConnection
インタフェースを返します。クライアントは、このインタフェースを使用してMBeanへのアクセスのみを行えます。リモート・クライアントは、カスタムMBeanを作成および登録できません。「MBeanサーバーへのリモート接続の作成」を参照してください。
プラットフォームMBeanサーバーへのリモート・アクセスを有効にできます。『Oracle WebLogic Server JMXによる管理の容易なアプリケーションの開発』のJVMプラットフォームMBeanサーバーへのMBeanの登録に関する項を参照してください。
このリリースのWebLogic Serverでは、WebLogic Server実行時MBeanサーバーは、対応するサーバー用のプラットフォームMXBeanを格納するようにデフォルトで構成されています。ドメイン実行時MBeanサーバーには、ドメイン内のすべてのサーバー用のプラットフォームMXBeanが格納されます。プラットフォームMXBeanのMBeanオブジェクト名は、JVMによって提供されるMBeanの名前と同じですが、プラットフォームMXBeanにはLocation=
servername
キー・プロパティが追加で指定されます。
例2-3のWLSTスクリプトは、プラットフォームMXBeanを使用して稼働中ドメインのリソースをモニターする方法を示しています。
例2-3 プラットフォームMXBeanの使用
"""
This WLST script demonstrates how to use the Platform MXBeans to monitor
the resources of a running WLS domain. It uses the domainCustom command
to retrieve the memory usage for 2 servers in the domain. For information
on the available platform MXBeans, refer to the following link:
http://java.sun.com/javase/6/docs/api/java/lang/management/package-summary.html
"""
connect()
domainCustom()
cd ("java.lang")
# monitor heap and thread usage once a minute for 5 minutes
x = 0
while x < 5:
# Admin Server
cd ("java.lang:Location=AdminServer,type=Memory")
huAdmin = get("HeapMemoryUsage")
cd ("..")
cd ("java.lang:Location=AdminServer,type=Threading")
numThreadsAdmin = get("ThreadCount")
print "Admin server memory usage = ", huAdmin.get("max"), " number threads: ", numThreadsAdmin
cd ("..")
# m1 server
cd ("java.lang:Location=m1,type=Memory")
huM1 = get("HeapMemoryUsage")
cd ("..")
cd ("java.lang:Location=m1,type=Threading")
numThreadM1 = get("ThreadCount")
cd ("..")
print "M1 server memory usage = ", huM1.get("max"), " number threads: ", numThreadM1
Thread.sleep(60000)
x = x + 1
プラットフォームMBeanサーバーを実行時MBeanサーバーとして使用するかどうかは、JMX MBeanのPlatformMBeanServerUsed
属性によって制御されます。これまでのリリースでは、PlatformMBeanServerUsed
属性のデフォルト値はfalse
だったため、プラットフォームMBeanサーバーは明示的に有効化しないかぎり使用されませんでした。このリリースのWebLogic Serverでは、バージョン10.3.3.0以降のドメインに対するPlatformMBeanServerUsed
属性のデフォルト値はtrue
です。詳細は、PlatformMBeanServerEnabled
属性を参照してください。
必要に応じて、別のMBeanサーバーを作成してプラットフォームMBeanのかわりに使用するようにWebLogic Serverを構成できます。そのためには、WebLogic Server管理コンソールまたはWLSTを使用して、PlatformMBeanServerEnabled
属性の値をfalse
に設定します。コンソールを使用する場合は、「ドメイン」→「構成」→「一般」ページ→「詳細」のオプションに移動し、「プラットフォームMBeanサーバーの使用」
チェック・ボックスの選択を解除します。WLSTでは、編集セッションを開始してドメインのJMXディレクトリに移動し、cmo.setPlatformMBeanServerUsed(false)
を使用して値を変更してから、変更をアクティブ化します。
プラットフォームMBeanサーバーとプラットフォームMXBeanの詳細は、次のJAVA SDKドキュメントを参照してください。
WebLogic Serverでは、各MBeanサーバーにサービスMBeanが単純なオブジェクト名で登録されます。このMBeanの属性とオペレーションは、WebLogic Server MBean階層へのエントリ・ポイントとして機能します。JMXクライアントは、これらを使用して1つのオブジェクト名を入力するだけでMBeanサーバーのすべてのWebLogic Server MBeanに移動できます。表2-3を参照してください。
エントリ・ポイント(サービス) MBeanを使用しないJMXクライアントは、MBeanの属性を取得および設定したり、そのオペレーションを呼び出したりする場合にMBeanのオブジェクト名を正確に作成する必要があります。ユニークでなければならないため、オブジェクト名は通常長く、クライアントが作成するのは困難です。
表2-3 サービスMBean
MBeanサーバー | サービスMBean | JMXオブジェクト名 |
---|---|---|
ドメイン実行時MBeanサーバー |
アプリケーション・デプロイメント、JMSサーバー、JDBCデータ・ソースなど、ドメイン全体のサービス用のMBeanへのアクセスを提供します。ドメインにある全サーバーのすべての実行時MBeanとアクティブな構成MBeanの階層に対する単一のアクセス・ポイントにもなります。 Oracle WebLogic Server MBeanリファレンスのDomainRuntimeServiceMBeanに関する項を参照してください。 |
com.bea:Name=DomainRuntimeService,Type=weblogic. management.mbeanservers. domainruntime.DomainRuntimeServiceMBean |
実行時MBeanサーバー |
現在のサーバーの実行時MBeanとアクティブな構成MBeanへのアクセスを提供します。 Oracle WebLogic Server MBeanリファレンスのRuntimeServiceMBeanに関する項を参照してください。 |
com.bea:Name=RuntimeService, Type=weblogic.management. mbeanservers.runtime. RuntimeServiceMBean |
編集MBeanサーバー |
現在のWebLogic Serverドメインの構成を管理するためのエントリ・ポイントを提供します。 Oracle WebLogic Server MBeanリファレンスのEditServiceMBeanに関する項を参照してください。 |
com.bea:Name=EditService, Type=weblogic.management. mbeanservers.edit. EditServiceMBean |
WebLogic Server MBeanサーバーに接続するには、JMXクライアントで、WebLogic Serverドメインのセキュリティ・レルムに定義されているユーザーに資格証明を提供する必要があります。
MBeanサーバーに登録されているMBeanの保護を強化するために、WebLogic Serverではセキュリティ・ロールとセキュリティ・ポリシーが使用されます。セキュリティ・グループなどのセキュリティ・ロールによって、ユーザーにIDが付与されます。ただしグループとは違い、ロールのメンバーシップは実行時に評価される条件を基準とすることができます。セキュリティ・ポリシーは、リソースにアクセス可能なユーザー、グループ、またはロールを指定する、別の実行時条件です。WebLogic Server MBean用に、ロールおよびポリシーのデフォルト・セットが用意されています。(Oracle WebLogic Server MBeanリファレンスのMBeanのデフォルト・セキュリティ・ポリシーに関する項を参照してください。)
WebLogic Serverインスタンスの起動サイクルの間、サーバーでは、MBeanセキュリティ・ポリシーをメモリー内で表現したものであるweblogic.security.service.JMXResource
オブジェクトの集合が作成されます。JMXクライアントがMBean属性の取得や設定、またはオペレーションの呼出しを試行すると、MBeanサーバーはそのユーザーに十分な許可が与えられているかどうかセキュリティ・レルムに問い合せます。セキュリティ・レルムでは、ユーザーが属しているロールが最初に判別されます。(ロールの割当ては実行時に判別されます。)次に、デフォルトのポリシーおよび作成済のその他のポリシーが使用され、そのロールがアクセスを許可されているかどうかが判別されます。
デフォルトのアクセス許可は、WebLogic Server管理コンソールを使用して変更できます。たとえば、特定のアプリケーション用のロールを作成して、そのアプリケーションに関連付けられているMBeanインスタンスに特定のロールのみがアクセスできるようにすることが可能です。Oracle WebLogic Server管理コンソール・ヘルプのJMXポリシーの構成に関する項を参照してください。
特に重要なデータやアクションを表すMBeanの属性と操作の場合、WebLogic Serverでは、そうしたデータまたはアクションにアクセスできるユーザーを制限するための追加のセキュリティ・リソース・オブジェクトが用意されています。たとえば、ServerLifeCycleRuntimeMBean
のshutdown()
オペレーションはJMXResource
オブジェクトとweblogic.security.service.ServerResource
オブジェクトによって保護されます。複数のリソースによって保護される属性および操作の完全なリストについては、『Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』の管理リソースに関する項およびサーバー・リソースに関する項を参照してください。
これらの属性および操作に対するセキュリティ・ポリシーおよびロールのデフォルト構成が連携することによって、一貫性のあるセキュリティ方式が作成されます。しかし、変更を行った結果、意図しないアクセス制限が発生する場合があります。『Oracle WebLogic Serverロールおよびポリシーによるリソースの保護』の一貫性のあるセキュリティ方式の維持に関する項を参照してください。