Definición de una política de seguridad MBean explícito

Puede definir de forma explícita una política de seguridad de MBean para un MBean determinado. Utilice este ejemplo para definir una política de seguridad de MBean.

Antes de empezar

En esta tarea se da por supuesto que se tienen conocimientos básicos de la programación de MBean. Si desea información sobre la programación de MBean, consulte la documentación de la interfaz de programación de aplicaciones (API) Java™ de MBean. En este Information Center, pulse Reference (Referencia) > Mbean interfaces (Interfaces de Mbean).

Acerca de esta tarea

Realice las tareas siguientes para definir una política de seguridad explícita.

Procedimiento

  1. Supongamos que tiene un MBean definido mediante el archivo del descriptor sample.xml de MBean.
  2. Especifique la política de seguridad explícita para dicho MBean en el archivo sampleSecurity.xml. De acuerdo con el convenio de denominación, debe añadir "Security" al nombre del archivo del descriptor de MBean.
  3. Coloque el archivo del descriptor de la política de seguridad en el mismo directorio en el que se encuentra el archivo del descriptor de seguridad del MBean de modo que el cargador de MBean pueda localizarlo. Este directorio es la ubicación típica para el archivo del descriptor de la política de seguridad. Si no hay ningún archivo del descriptor de seguridad del MBean presente, se utiliza la política de seguridad predeterminada del MBean.
  4. Especifique el nombre de MBean sample en el campo de nombre de recurso del elemento de recurso del archivo sampleSecurity.xml de modo que el cargador de políticas del MBean pueda asociar la política de seguridad del MBean con el MBean. La definición del descriptor de seguridad del MBean se muy parecida a la política de seguridad definida por el descriptor de despliegue J2EE (Java 2 Platform, Enterprise Edition).

Resultados

Ha definido explícitamente una política de seguridad de MBean que puede ejecutar con un MBean.

Ejemplo

En el ejemplo siguiente se describe el formato del archivo de del descriptor de seguridad del MBean para el archivo sampleSecurity.xml.

La línea 2 especifica que un esquema del descriptor de seguridad del MBean está definido por el archivo RolePermissionDescriptor.dtd, que es una definición de tipo de documento (DTD) en WebSphere Application Server.

Como se muestra en la línea 3, archivo del descriptor de MBean contiene un único elemento role-permission. La jerarquía de roles de seguridad administrativa se define en los elementos security-role entre la línea 9 y la línea 37. El rol de seguridad administrativa tiene una relación de herencia.

Como se define en las líneas 14-21, el rol de seguridad del operador implica el rol de seguridad de supervisión, que significa que un usuario con el rol de operador tiene todos los permisos del rol de supervisor. Como se define entre las líneas 30 y 38, un rol de seguridad de administrador implica tanto el rol de configurador como el rol de seguridad de operador. Generalmente, cada archivo de descriptor de seguridad de MBean tiene la misma definición de relación entre roles, por lo que puede cortar y pegar esta sección en el archivo del descriptor de seguridad del MBean.

Después del elemento security-role se definen uno o más elementos method-permission. Cada elemento method-permission define los roles necesarios para uno o más métodos. Especifique los parámetros de método para evitar la colisión de nombres de método en caso de que varios métodos tengan el mismo nombre.

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>Se trata de un ejemplo para probar el descriptor de permisos de rol.</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>Tabla de permisos de método de ejemplo</description>
41.      <role-name>operator</role-name>
42.      <method>
43.         <description>Operación de ejemplo</description>
44.         <resource-name>sample</resource-name>
45.         <method-name>stop</method-name>
46. </method>
47.   </method-permission>
48.   <method-permission>
49.      <description>Tabla de permisos de método de ejemplo</description>
50.      <role-name>operator</role-name>
51.      <method>
52.         <description>Operación de ejemplo</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>Tabla de permisos de método de ejemplo</description>
63.      <role-name>operator</role-name>
64.      <method>
65.         <description>Operación de ejemplo</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>Tabla de permisos de método de ejemplo</description>
74.      <role-name>configurator</role-name>
75.      <method>
76.         <description>Operación de ejemplo</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>Tabla de permisos de método de ejemplo</description>
86.      <role-name>monitor</role-name>
87.      <method>
88.         <description>Operación de ejemplo</description>
89.         <resource-name>sample</resource-name>
90.         <method-name>getValue</method-name>
91. </method>
92.   </method-permission>
93. </role-permission>

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjmx_admin_expmbsec
File name: tjmx_admin_expmbsec.html