Oracle® Fusion Middleware Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発 11gリリース1 (10.3.6) B61630-05 |
|
![]() 前 |
![]() 次 |
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。サーバーおよびリソースの構成に関する情報が含まれます。それらは、ドメインの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サーバー |
JVM自体のモニター情報を保持する、JDKから提供されるMBean。この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サーバーへのリモート・アクセスを有効にできます。『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://download.oracle.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
属性を参照してください。
必要に応じて、WebLogic Server管理コンソールまたはWLSTのいずれかでPlatformMBeanServerEnabled
属性値をfalse
に設定し、WebLogic Serverを構成して個別のMBeanサーバーを作成したり、プラットフォームMBeanサーバーのかわりに作成したサーバーを使用できます。コンソールを使用して、「ドメイン」 > 「構成」 > 「一般」ページ > 「詳細」オプションに移動し、「プラットフォーム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ロールおよびポリシーによるリソースの保護』の一貫性のあるセキュリティ方式の維持に関する項を参照してください。