明示的 MBean セキュリティー・ポリシーの定義

特定の MBean に対して MBean セキュリティー・ポリシーを明示的に定義することができます。 この例を使用し、MBean セキュリティー・ポリシーを定義します。

始める前に

このタスクでは、MBean プログラミングに関する基本的な知識があることが前提になっています。MBean プログラミングについて詳しくは、MBean Java™ アプリケーション・プログラミング・インターフェース (API) に関する文書を参照してください。このインフォメーション・センターでは、「参照」 > 「Mbean インターフェース (Mbean interfaces)」をクリックします。

このタスクについて

以下のタスクを実行し、明示的なセキュリティー・ポリシーを定義します。

手順

  1. MBean sample.xml 記述子ファイルによって定義された MBean があると想定します。
  2. sampleSecurity.xml ファイルで、その MBean 用の明示的なセキュリティー・ポリシーを指定します。 命名規則は、MBean セキュリティー記述子ファイルの名前として、 MBean 記述子ファイル名に「Security」を付加する必要があるというものです。
  3. MBean ローダーが検索できるように、MBean セキュリティー記述子ファイルと同じディレクトリーに セキュリティー・ポリシー記述子ファイルを置きます。 このディレクトリーは、セキュリティー・ポリシー記述子ファイルの標準ロケーションです。 MBean セキュリティー記述子ファイルが存在しない場合、 デフォルトの MBean セキュリティー・ポリシーが使用されます。
  4. sampleSecurity.xml ファイルのリソース・エレメント・リソース名フィールドで、 サンプルの MBean 名を指定すると、 MBean ポリシー・ローダーは MBean セキュリティー・ポリシーを MBean と関連付けることができます。 MBean セキュリティー記述子定義は、Java 2 Platform, Enterprise Edition (J2EE) デプロイメント記述子によって定義されるセキュリティー・ポリシーと非常に似ています。

タスクの結果

これで、MBean とともに実行できる、MBean セキュリティー・ポリシーを 明示的に定義しました。

以下の例では、sampleSecurity.xml ファイルの MBean セキュリティー記述子 ファイル・フォーマットを説明します。

2 行目は、MBean セキュリティー記述子スキーマが、WebSphere® Application Server の文書タイプ定義 (DTD) である RolePermissionDescriptor.dtd ファイルによって定義されていることを明示します。

3 行目に示されるように、 各 MBean 記述子ファイルには単一ロール許可エレメントが含まれます。 管理セキュリティー・ロール階層は、 9 行目から 37 行目のセキュリティー・ロール・エレメントで定義されています。管理セキュリティー・ロールには 継承関係があります。

14 行目から 21 行目で定義されているように、 オペレーター・セキュリティー・ロールはモニター・セキュリティー・ロールを暗黙指定します。 つまり、オペレーター・ロールを持つユーザーは、モニター・ロールの許可をすべて持ちます。 30 行目から 38 行目に定義されているように、管理者セキュリティー・ロールは、コンフィギュレーターと オペレーター・セキュリティー・ロールの両方を暗黙指定します。すべての MBean セキュリティー記述子ファイルは通常、 同じロール関係定義を持つため、このセクションを MBean セキュリティー記述子ファイルへカット・アンド・ペーストすることができます。

1 つ以上の メソッド・アクセス権エレメントが、セキュリティー・ロール・エレメントの後で定義されます。 各メソッド・アクセス権エレメントは、1 つ以上のメソッドに対して必要なロールを定義します。 メソッド・パラメーターを指定して、複数のメソッドが同じ名前を持つ場合に メソッド名の衝突を回避します。

1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE role-permission SYSTEM "RolePermissionDescriptor.dtd" >
3. <role-permission>
4.  <resource>
5.       <resource-name>sample</resource-name>
6.       <class-name>com.ibm.ws.security.descriptor.sample</class-name>
7.       <description>This is a sample for testing role permission descriptor.</description>
8.    </resource>
9.    <security-role>
10.      <role>
11.      <role-name>monitor</role-name>
12.      </role>
13.  </security-role>
14.   <security-role>
15.      <role>
16.      <role-name>operator</role-name>
17.         <imply>
18.      <role-name>monitor</role-name>
19.         </imply>
20.      </role>
21.  </security-role>
22.  <security-role>
23.      <role>
24.      <role-name>configurator</role-name>
25.         <imply>
26.      <role-name>monitor</role-name>
27.         </imply>
28.      /role>
29.   </security-role>
30.   <security-role>
31.      <role>
32.         <role-name>administrator</role-name>
33.         <imply>
34.      <role-name>operator</role-name>
35.      <role-name>configurator</role-name>
36.         </imply>
37.      </role>
38. </security-role>
39. <method-permission>
40.      <description>Sample method permission table</description>
41.      <role-name>operator</role-name>
42.      <method>
43.         <description>Sample operation</description>
44.         <resource-name>sample</resource-name>
45.         <method-name>stop</method-name>
46.      </method>
47. </method-permission>
48.   <method-permission>
49.      <description>Sample method permission table</description>
50.      <role-name>operator</role-name>
51.      <method>
52.         <description>Sample operation</description>
53.         <resource-name>sample</resource-name>
54.         <method-name>start</method-name>
55.         <method-params>
56.            <method-param>java.lang.String</method-param>
57.            <method-param>java.lang.String</method-param>
58.         </method-params>
59.      </method>
60.   </method-permission>
61.   <method-permission>
62.      <description>Sample method permission table</description>
63.      <role-name>operator</role-name>
64.      <method>
65.         <description>Sample operation</description>
66.         <resource-name>sample</resource-name>
67.         <method-name>monitor</method-name>
68.         <method-params>
69.         </method-params>
70.      </method>
71.   </method-permission>
72.   <method-permission>
73.      <description>Sample method permission table</description>
74.      <role-name>configurator</role-name>
75.      <method>
76.         <description>Sample operation</description>
77.         <resource-name>sample</resource-name>
78.         <method-name>setValue</method-name>
79.         <method-params>
80.            <method-param>java.lang.Boolean</method-param>
81.         </method-params>
82.      </method>
83.   </method-permission>
84.   <method-permission>
85.      <description>Sample method permission table</description>
86.      <role-name>monitor</role-name>
87.      <method>
88.         <description>Sample operation</description>
89.         <resource-name>sample</resource-name>
90.         <method-name>getValue</method-name>
91.      </method>
92.   </method-permission>
93. </role-permission>

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjmx_admin_expmbsec
ファイル名:tjmx_admin_expmbsec.html