JMX によるカスタム管理ユーティリティの開発

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

JMX を使用したセキュリティ レルムの管理

セキュリティ レルムは、WebLogic リソースを保護する複数のメカニズムで構成されています。各セキュリティ レルムは、コンフィグレーションされた一連のセキュリティ プロバイダから成ります。セキュリティ プロバイダは、セキュリティの特定の側面を扱うモジュール形式のコンポーネントです。レルム内のプロバイダを使用する JMX クライアントを作成して、ユーザやグループなどのセキュリティ データを追加または削除できます。プロバイダを追加または削除したり、レルム コンフィグレーションにその他の変更を加えたりするクライアントを作成することもできます。

以下の節では、JMX を使用したセキュリティ レルムの管理について説明します。

WebLogic セキュリティの詳細については、『WebLogic Security について』を参照してください。

 


セキュリティ MBean の階層について

他のサブシステムと同様に、WebLogic Server セキュリティ フレームワークでは MBean を 1 つの階層にまとめます。JMX クライアントは JMX オブジェクト名を作成せずに、その階層内を移動できます。ただし、セキュリティ レルムで使用できる MBean タイプは、レルムにインストールされたセキュリティ プロバイダによって異なり、各セキュリティ プロバイダで利用できるサービスは、プロバイダの作成方法によって異なります。

セキュリティ レルム階層のルートは RealmMBean です。ルートには、そのレルムでコンフィグレーションされたすべてのプロバイダが含まれています。たとえば、Authorizers 属性には、レルムでコンフィグレーションされているすべての認可プロバイダが含まれています。WebLogic Server にはデフォルトのセキュリティ プロバイダが用意されているので、RealmMBean Authorizers 属性にはデフォルトで DefaultAuthorizerMBean が含まれています。ただし、これらのデフォルト プロバイダを削除し、任意の数の独自のプロバイダまたはサードパーティのプロバイダで置き換えることができます。デフォルト セキュリティ プロバイダの詳細については、『WebLogic Server のセキュリティ』の「WebLogic セキュリティ プロバイダのコンフィグレーション」および「認証プロバイダのコンフィグレーション」を参照してください。

基本プロバイダ タイプと mix-in インタフェース

各セキュリティ プロバイダでは基本プロバイダ タイプを拡張する必要があります。たとえば、DefaultAuthorizerMBeanAuthorizerMBean を拡張しており、カスタムまたはサードパーティの認可プロバイダも AuthorizerMBean を拡張します。JMX クライアントが RealmMBean Authorizers 属性の値を取得する場合、MBean サーバは AuthorizerMBean を拡張しているレルム内のすべての MBean を返します。JMX クライアントはプロバイダのリストを反復処理して、Name 属性の値や他の条件に基づいてプロバイダを選択できます。

省略可能な mix-in インタフェースを拡張して、基本プロバイダ タイプの機能を強化することができます。たとえば、認証プロバイダで UserEditorMBean を拡張すると、プロバイダはレルムにユーザを追加できるようになります。

セキュリティ MBean

WebLogic Server のセキュリティ MBean はセキュリティ レルム内のセキュリティ プロバイダをコンフィグレーションします。以下の表では、さまざまなセキュリティ プロバイダをコンフィグレーションする MBean について説明します。

WebLogic セキュリティ プロバイダのコンフィグレーションの詳細については、『WebLogic Server のセキュリティ』の「WebLogic セキュリティ プロバイダのコンフィグレーション」および「認証プロバイダのコンフィグレーション」を参照してください。図 6-1 では、コンフィグレーション MBean 階層内の MBean の位置を示します。

表 6-1 認証セキュリティ プロバイダの MBean
MBean
コンフィグレーションする対象
AuthenticationProviderMBean
認証プロバイダを管理するすべての MBean 実装の基本 MBean。認証プロバイダで WebLogic Security SSPI を使用してログイン サービスを提供する場合、その MBean は weblogic.management.security.authentication.Authenticator を拡張する必要がある。認証プロバイダで WebLogic Security SPI を使用して ID アサーション サービスを提供する場合、その MBean は weblogic.management.security.authentication.IdentityAsserter を拡張する必要がある。
『WebLogic Server MBean リファレンス』の「AuthenticationProviderMBean」を参照。
AuthenticatorMBean
ログイン サービスを備えたすべての認証プロバイダが拡張する必要のある SSPI MBean。この MBean には、ログイン シーケンスにおける認証プロバイダの位置付け (REQUIRED、REQUISITE、SUFFICENT、または OPTIONAL) を決定する ControlFlag がある。
『WebLogic Server MBean リファレンス』の「AuthenticatorMBean」を参照。
IdentityAsserterMBean
すべての ID アサーション プロバイダが拡張する必要のある SSPI MBean。この MBean を利用すると、ID アサーション プロバイダは、ID アサーションが可能なトークン タイプを指定できるようになる。
『WebLogic Server MBean リファレンス』の「IdentityAsserterMBean」を参照。
ServletAuthenticationFilterMBean
すべてのサーブレット認証フィルタが拡張する必要のある SSPI MBean。この MBean は単なるマーカ インタフェース。メソッドは持たない。
『WebLogic Server MBean リファレンス』の「ServletAuthenticationFilterMBean」を参照。

.

表 6-2 他のセキュリティ プロバイダの MBean
MBean
コンフィグレーションする対象
AdjudicatorMBean
すべての裁決プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「AdjudicatorMBean」を参照。
DefaultAdjudicatorMBean
WebLogic 裁決プロバイダのコンフィグレーション属性。
『WebLogic Server MBean リファレンス』の「DefaultAdjudicatorMBean」を参照。
AuditorMBean
すべての監査プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「AuditorMBean」を参照。
DefaultAuditorMBean
WebLogic 監査プロバイダのコンフィグレーション属性。
『WebLogic Server MBean リファレンス』の「DefaultAuditorMBean」を参照。
AuthorizerMBean
すべての認可プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「AuthorizerMBean」を参照。
DeployableAuthorizerMBean
Web アプリケーションまたは EJB のデプロイ時に作成されたポリシーを格納できる、すべての認可プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「DeployableAuthorizerMBean」を参照。
DefaultAuthorizerMBean
WebLogic 認可プロバイダのコンフィグレーション属性。
『WebLogic Server MBean リファレンス』の「DefaultAuthorizerMBean」を参照。
CredentialMapperMBean
すべての資格マッピング プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「CredentialMapperMBean」を参照。
DeployableCredentialMapperMBean
コンポーネントのデプロイ時に作成された資格マップを格納できる、すべての資格マッピング プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「DeployableCredentialMapperMBean」を参照。
DefaultCredentialMapperMBean
WebLogic 資格マッピング プロバイダ (ユーザ名/パスワード資格マッピング プロバイダ) のコンフィグレーション属性。
『WebLogic Server MBean リファレンス』の「DefaultCredentialMapperMBean」を参照。
PKICredentialMapperMBean
PKI 資格マッピング プロバイダ (キー ペア資格マッピング プロバイダ) のコンフィグレーション属性。
『WebLogic Server MBean リファレンス』の「PKICredentialMapperMBean」を参照。
SAMLCredentialMapperMBean
SAML 資格マッピング プロバイダ (Security Assertion Markup Language 資格マッピング プロバイダ) のコンフィグレーション属性。
『WebLogic Server MBean リファレンス』の「SAMLCredentialMapperMBean」を参照。
CertPathProviderMBean
すべての証明書パス プロバイダの基本 MBean。
『WebLogic Server MBean リファレンス』の「CertPathProviderMBean」を参照。
CertPathBuilderMBean
CertPathBuilder を備えたすべての証明書パス プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「CertPathBuilderMBean」を参照。
CertPathValidatorMBean
CertPathValidator サービスを備えたすべての証明書パス プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「CertPathValidatorMBean」を参照。
CertificateRegistryMBean
証明書レジストリをコンフィグレーションおよび管理する。これはビルダであり、検証プロバイダでもある。目的の証明書、目的の証明書のサブジェクト DN、発行者 DN とシリアル番号、およびサブジェクト キー識別子に基づいたビルドをサポートする。
『WebLogic Server MBean リファレンス』の「CertificateRegistryMBean」を参照。
WebLogicCertPathProviderMBean
CertPathBuilder を備えたすべての証明書パス プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「WebLogicCertPathProviderMBean」を参照。
RoleMapperMBean
ロール マッピング プロバイダの基本 MBean。デプロイできないモジュールのロール マッピング プロバイダは、この MBean を直接拡張する必要がある。デプロイできるモジュールのロール マッピング プロバイダは DeployableRoleMapperMBean を拡張する必要がある。
『WebLogic Server MBean リファレンス』の「RoleMapperMBean」を参照。
DeployableRoleMapperMBean
Web アプリケーションまたは EJB のデプロイ時に作成されたロールを格納できる、すべてのロール マッピング プロバイダが拡張する必要のある SSPI MBean。
『WebLogic Server MBean リファレンス』の「DeployableRoleMapperMBean」を参照。
DefaultRoleMapperMBean
WebLogic ロール マッピング プロバイダのコンフィグレーション属性。
『WebLogic Server MBean リファレンス』の「DefaultRoleMapperMBean」を参照。

.

表 6-3 セキュリティ プロバイダの MBean mix-in インタフェース
MBean
コンフィグレーションする対象
ContextHandlerMBean
ContextHandler がサポートする一連の属性を提供する。監査プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「ContextHandlerMBean」を参照。
GroupEditorMBean
グループを作成、編集、および削除するための一連のメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「GroupEditorMBean」を参照。
GroupMemberListerMBean
グループのメンバーをリストするためのメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「GroupMemberListerMBean」を参照。
GroupMembershipHierarchyCacheMBean
グループ メンバシップ階層のキャッシュをサポートするのに必要なコンフィグレーション属性を提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「GroupMembershipHierarchyCacheMBean」を参照。
GroupReaderMBean
グループに関するデータを読み込むための一連のメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「GroupReaderMBean」を参照。
MemberGroupListerMBean
メンバーを含むグループをリストするためのメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「MemberGroupListerMBean」を参照。
UserEditorMBean
ユーザを作成、編集、および削除するための一連のメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「UserEditorMBean」を参照。
UserLockoutManagerMBean
ユーザ アカウントに対するロックアウトをリストおよび管理する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「UserLockoutManagerMBean」を参照。
UserPasswordEditorMBean
ユーザのパスワードを変更するための 2 つのメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「UserPasswordEditorMBean」を参照。
UserReaderMBean
ユーザに関するデータを読み込むための一連のメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「UserReaderMBean」を参照。
UserRemoverMBean
ユーザを削除するためのメソッドを提供する。認証プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「UserRemoverMBean」を参照。
RoleEditorMBean
ロールを作成、編集、および削除するための一連のメソッドを提供する。ロール マッピング プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「RoleEditorMBean」を参照。
RoleListerMBean
ロールに関するデータをリストするための一連のメソッドを提供する。ロール マッピング プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「RoleListerMBean」を参照。
RoleReaderMBean
ロールを読み込むための一連のメソッドを提供する。ロール マッピング プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「RoleReaderMBean」を参照。
PolicyEditorMBean
ポリシーを作成、編集、および削除するための一連のメソッドを提供する。認可プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「PolicyEditorMBean」を参照。
PolicyListerMBean
ポリシーに関するデータをリストするための一連のメソッドを提供する。認可プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「PolicyListerMBean」を参照。
PolicyReaderMBean
ポリシーを読み込むための一連のメソッドを提供する。認可プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「PolicyReaderMBean」を参照。
PKICredentialMapEditorMBean
ユーザ、リソース、および資格アクションを、キーストア エリアスおよび対応するパスワードに一致させる資格マップを作成、編集、削除するための一連のメソッドを提供する。PKICredentialMapping プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「PKICredentialMapEditorMBean」を参照。
PKICredentialMapReaderMBean
ユーザおよびリソースを、キーストア エリアスおよび対応するパスワードに一致させる資格マップを読み込むための、一連のメソッドを提供する。その資格マップを使用して、コンフィグレーション済みのキーストアからキー情報やパブリック証明書情報を取得できる。PKICredentialMapping プロバイダ MBean はこの MBean を必要に応じて実装できる。
『WebLogic Server MBean リファレンス』の「PKICredentialMapReaderMBean」を参照。
UserPasswordCredentialMapEditorMBean
WebLogic ユーザをリモート ユーザ名とその対応するパスワードに一致させる資格マップを作成、編集、削除するための一連のメソッドを提供する。資格マッピング プロバイダ MBean はこの MBean を必要に応じて拡張できる。
『WebLogic Server MBean リファレンス』の「UserPasswordCredentialMapEditorMBean」を参照。
UserPasswordCredentialMapExtendedReaderMBean
資格と資格マッピングを読み込むための一連のメソッドを提供する。資格マッピングは WebLogic ユーザをリモート ユーザ名とパスワードに一致させる。資格マッピング プロバイダ MBean はこの MBean を必要に応じて拡張できる。
『WebLogic Server MBean リファレンス』の「UserPasswordCredentialMapExtendedReaderMBean」を参照。
UserPasswordCredentialMapReaderMBean
資格と資格マッピングを読み込むための一連のメソッドを提供する。資格マッピングは WebLogic ユーザをリモート ユーザ名とパスワードに一致させる。資格マッピング プロバイダ MBean はこの MBean を必要に応じて拡張できる。
『WebLogic Server MBean リファレンス』の「UserPasswordCredentialMapReaderMBean」を参照。
ImportMBean
プロバイダ固有のデータをインポートするための一連のメソッドを提供する。セキュリティ プロバイダが拡張できる省略可能な mix-in インタフェース。
『WebLogic Server MBean リファレンス』の「ImportMBean」を参照。
ExportMBean
プロバイダ固有のデータをエクスポートするための一連のメソッドを提供する。セキュリティ プロバイダが拡張できる省略可能な mix-in インタフェース。
『WebLogic Server MBean リファレンス』の「ExportMBean」を参照。
ListerMBean
リストを返すための一般的なメカニズムを提供する。派生する MBean はこのインタフェースを拡張して、リスト内の現在のオブジェクトのデータにアクセスするメソッドを追加する。セキュリティ プロバイダが拡張できる省略可能な mix-in インタフェース。
『WebLogic Server MBean リファレンス』の「ListerMBean」を参照。
NameListerMBean
名前のリストを返すために使用するメソッドを定義している。セキュリティ プロバイダが拡張できる省略可能な mix-in インタフェース。
『WebLogic Server MBean リファレンス』の「NameListerMBean」を参照。
LDAPServerMBean
外部 LDAP サーバへの接続に必要なコンフィグレーション パラメータを取得するメソッドを提供する。セキュリティ プロバイダが拡張できる省略可能な mix-in インタフェース。
『WebLogic Server MBean リファレンス』の「LDAPServerMBean」を参照。
ApplicationVersionerMBean
バージョン管理可能なアプリケーションをサポートすることを示すために、セキュリティ プロバイダが拡張する SSPI MBean。RoleMapper、Authorizer、または CredentialMapper プロバイダ MBean が拡張できる省略可能な mix-in インタフェース。
『WebLogic Server MBean リファレンス』の「ApplicationerVersionMBean」を参照。

図 6-1 セキュリティ MBean

セキュリティ MBean

 


セキュリティ レルムを管理する MBean サーバの選択

JMX を使用してセキュリティ レルムを管理する場合は、タスクに応じて 2 つの異なる MBean サーバを使用する必要があります。

たとえば、DefaultAuthenticatorMBeanMinimumPasswordLength 属性の値は、ドメインのコンフィグレーション ドキュメントに格納されています。このドキュメントに対するすべての変更は WebLogic Server によって制御されているため、この属性の値を変更するには、編集 MBean サーバを使用してドメインのコンフィグレーションに対してロックを取得する必要があります。DefaultAuthenticatorMBeancreateUser オペレーションは、LDAP サーバにデータを追加します。このオペレーションは WebLogic Server によって制御されていません。DefaultAuthenticatorMBean のコンフィグレーションとそれが LDAP サーバで使用するデータの間で両立不能な変更が発生するのを避けるため、自身や別のユーザが MinimumPasswordLength 属性の変更を行っている場合に createUser オペレーションは呼び出せません。さらに、この属性の変更には WebLogic Server の再起動が必要なので、サーバを再起動するまで createUser オペレーションは呼び出せません。

 


既存のセキュリティ プロバイダの操作

セキュリティ プロバイダでは mix-in インタフェースを任意で拡張することができます。したがって、すべてのセキュリティ プロバイダがすべてのタスクを行えるわけではありません。このように柔軟性があるので、組織のセキュリティ設計者はセキュリティの要件に応じてレルムを設計できます。また、JMX クライアントの設計も、各レルムの設計やコンフィグレーションによって異なったものになります。

たとえば、次の 3 種類の認証プロバイダを含むレルムがあるとします。

このレルムの認証プロバイダを扱うには、JMX クライアントでは、適切なリポジトリにユーザを追加できるのはどの認証プロバイダかを判断できる必要があります。

表 6-4 では、タスクに適したセキュリティ プロバイダを検索する方法について説明します。

表 6-4 レルム内のプロバイダの検索
方法
説明
名前で検索する
管理者がレルムでコンフィグレーションするときに、各セキュリティ プロバイダ インスタンスには短い名前が割り当てられている。JMX クライアントは特定の種類 (認証プロバイダなど) のすべてのプロバイダをルックアップして、名前に一致するプロバイダを選択できる。
そのような JMX クライアントの例については、WebLogic Server examplesServer を起動する。examplesServer のホーム ページから、[Extending a Realm Using JMX] をクリックする。この JMX クライアントのソースは
WL_HOME/samples/server/medrec/src/medrecEar/
adminWebApp/WEB-INF/src/com/bea/medrec/
actions/CreateNewAdminAction.java
としてインストールされている。
WL_HOME は、WebLogic Server のインストール先ディレクトリ。
この方法を使用する場合は、セキュリティ プロバイダの名前を、JMX クライアントにハードコード化するのではなく、コンフィグレーション ファイルに保存すること。コンフィグレーション ファイルを使用すると、システム管理者はレルム内のプロバイダを変更してプロパティ ファイルを更新できるので、JMX クライアントを更新して再コンパイルする必要がない。
MBean タイプで検索する
システム管理者が常に同じ種類のプロバイダをタスクに使用する場合、JMX クライアントはその特定の種類のプロバイダ MBean を検索できる。
たとえば、システム管理者が常に SQLAuthenticatorMBean を使用して顧客をレルムに追加する場合、JMX クライアントは SQLAuthenticatorMBean のインスタンスを検索することができる。
この方法ではユーザ入力は必要ないが、次のことが前提となる。
  • レルム内には常に SQLAuthenticatorMBean のインスタンスがあり、このインスタンスは UserEditorMBean を拡張していること。
  • SQLAuthenticatorMBean の複数のインスタンスがある場合は、そのすべてが UserEditorMBean を拡張しており、どのインスタンスを使用してもかまわないこと。
必要な mix-in インタフェースを拡張したプロバイダを使用する
各プロバイダ MBean インスタンスのクラス階層を認識し、タスクに必要な mix-in インタフェースを拡張しているインスタンスを選択する JMX クライアントを作成できる。たとえば、クライアントでは UserEditorMBean を拡張した認証プロバイダを検索できる。「使用可能なサービスの検索」を参照。
必要な mix-in インタフェースを拡張した MBean がレルム内に 1 つしかないことが分かっている場合、またはどの方法を使用してもかまわない場合に、この方法を使用する。

使用可能なサービスの検索

タイプまたは mix-in インタフェースで MBean を検索する JMX クライアントを作成するには、次の手順に従います。

  1. WebLogic Server 実行時 MBean サーバに接続します。「MBean サーバへのリモート接続の作成」を参照してください。
  2. すべての WebLogic Server インスタンスは独自の実行時 MBean サーバを保持しており、どのサーバの実行時 MBean サーバにも接続できます。

  3. レルム内の特定のタイプのセキュリティ プロバイダ MBean (たとえば、認証プロバイダ MBean) をすべて取得します。
    1. RuntimeServiceMBean または DomainRuntimeServiceMBean を使用して、WebLogic Server MBean 階層内を
      DomainMBeanSecurityConfigurationMBeanRealmMBean の順に移動します。
    2. MBean 階層内の移動」を参照してください。

    3. そのセキュリティ プロバイダ タイプのインスタンスを含む RealmMBean 属性の値を取得します。
    4. たとえば、すべての認証プロバイダを取得するには、RealmMBean AuthenticationProviders 属性の値を取得します。

  4. RealmMBean 属性にあるセキュリティ プロバイダ MBean ごとに、MBean クラスの名前を取得します (コード リスト 6-1 を参照)。
    1. プロバイダ MBean の javax.management.ModelMBeanInfo オブジェクトを取得します。
    2. MBeanServerConnection.getMBeanInfo(Provider-MBean) を使用します。
      Provider-MBeanRealmMBean から取得したプロバイダ MBean です。

    3. MBean info の javax.management.Descriptor オブジェクトを取得してから、Descriptor の interfaceClassName フィールドの値を取得します。
  5. WebLogic Server MBean タイプ サービスを使用して、特定の基本タイプまたは mix-in インタフェースを拡張するすべてのセキュリティ プロバイダ MBean クラスを検索します (コード リスト 6-1 を参照)。
    1. 基本タイプまたは mix-in インタフェースの完全修飾インタフェース名を調べます。
    2. 『WebLogic Server MBean リファレンス』の各項目では、WebLogic Server プロバイダ MBean の完全修飾インタフェース名が示されています。サードパーティのプロバイダを使用する場合は、サードパーティのドキュメントでこの情報を参照してください。

      たとえば、UserEditorMBean mix-in インタフェースの完全修飾インタフェース名は weblogic.management.security.authentication.UserEditorMBean です (『WebLogic Server MBean リファレンス』の「UserEditorMBean」を参照)。

    3. MBeanTypeService MBean のオブジェクト名を作成します。
    4. MBeanTypeService MBean は常に次の javax.management.ObjectName で登録されます。
      com.bea:Name=MBeanTypeService,Type=weblogic.management.mbeanservers.MBeanTypeService

    5. MBeanTypeService MBean の getSubtypes( java.lang.String beanInterface ) オペレーションを呼び出します。
    6. beanInterface は手順 1 で調べた完全修飾インタフェース名です。

      オペレーションは java.lang.String オブジェクトの配列を返します。

  6. MBean タイプ サービスの出力を、各プロバイダ MBean インスタンスのクラス名と比較します (コード リスト 6-1 を参照)。
  7. プロバイダ MBean のクラスが手順 4a のインタフェースを実装または拡張している場合は、プロバイダ MBean のオペレーションを呼び出します。
  8. コード リスト 6-1 例 : プロバイダ MBean インスタンスが UserEditorMBean mix-in インタフェースを拡張しているかどうかの判断
    ObjectName MBTservice = new ObjectName(
       "com.bea:Name=MBeanTypeService,Type=weblogic.management.mbeanservers.
       MBeanTypeService");
    for (int p = 0; atnProviders != null && p < atnProviders.length; p++) {
       ModelMBeanInfo info = (ModelMBeanInfo)
       mBeanServerConnection.getMBeanInfo(atnProviders[p]);
       Descriptor desc = info.getMBeanDescriptor();
       String className = (String)desc.getFieldValue("interfaceClassName");
       String[] mba = (String[]) mBeanServerConnection.invoke( MBTservice,
          "getSubtypes", new Object[] {
          "weblogic.management.security.authentication.UserEditorMBean" },
          new String[] { "java.lang.String" });
       boolean isEditor = false;
       for (int i = 0; i < mba.length; i++) {
          if (mba[i].equals(className)){
             userEditor = atnProviders[p];
             isEditor = true;
             break;
          }
          if (isEditor = true) break;
       }
    }

例 : レルムへのユーザの追加

コード リスト 6-2 のコード例では、レルム内のすべての認証プロバイダを検索し、UserEditorMBean を拡張している最初の認証プロバイダを使用して、ユーザをセキュリティ レルムに追加し、そのユーザを Administrators グループに追加しています。

コード例に関する以下の点に留意してください。

 


レルム コンフィグレーションの変更

セキュリティ プロバイダ MBean は認証や認可などのセキュリティの特定の側面を扱いますが、他の 2 つの MBean では、セキュリティに関する一般的な、レルム全体およびドメイン全体の側面を扱います。

これらの 2 つの MBean では WebLogic Server コンフィグレーション ファイルにデータを永続化します。そのため、RealmMBean または SecurityConfigurationMBean の属性値を変更するには、「JMX を使用したドメインのコンフィグレーションの管理」で説明されているように、編集 MBean サーバと ConfigurationManagerMBean を使用する必要があります。


  ページの先頭       前  次