Configuración de los archivos de políticas de la seguridad de Java 2

Los usuarios pueden configurar los archivos de políticas de seguridad de Java™ 2 para que se otorgue el permiso necesario para la aplicación de empresa de WebSphere Application Server especificada.

Antes de empezar

La seguridad de Java 2 utiliza varios archivos de política para determinar los permisos para cada programa Java.

Consulte en el tema de los archivos de política de seguridad de Java 2 la lista de archivos de política disponibles que reciben soporte de WebSphere Application Server.

WebSphere Application Server soporta dos tipos de archivos de política: dinámicos y estáticos. Los archivos de política estática proporcionan los permisos predeterminados. Los archivos de política dinámica proporcionan permisos a las aplicaciones. Se proporcionan seis archivos de política dinámicos:
Tabla 1. Archivos de política dinámica. En esta tabla se enumeran los archivos de política dinámica.
Nombre de archivo de políticas Descripción
app.policy Contiene los permisos predeterminados para todas las aplicaciones de empresa de la célula.
Nota: Las actualizaciones del archivo app.policy sólo se aplican a las aplicaciones empresariales que están en el nodo al que pertenece el archivo app.policy.
was.policy Contiene permisos específicos de la aplicación para una aplicación de empresa de WebSphere Application Server. Este archivo está empaquetado en un archivo EAR (Enterprise Archive).
ra.xml Contiene permisos específicos de la aplicación del conector para una aplicación de empresa de WebSphere Application Server. Este archivo está empaquetado en un archivo RAR (Resource Adapter Archive).
spi.policy Contiene permisos para la SPI (Service Provider Interface) o recursos de terceros incorporados en WebSphere Application Server. El contenido predeterminado lo otorga todo. Actualice este archivo con precaución cuando la célula requiera más protección frente a SPI en la célula. Este archivo se aplica a todas las SPI definidas en el archivo resources.xml.
library.policy Contiene permisos para la biblioteca compartida de las aplicaciones de empresa.
filter.policy Contiene la lista de permisos que se deben filtrar del archivo was.policy y del archivo app.policy en la célula. Este mecanismo de filtrado sólo se aplica a los archivos was.policy y app.policy.
En WebSphere Application Server, las aplicaciones deben tener los permisos de hebra correspondientes especificados en el archivo was.policy o app.policy. Si no se especifican los permisos de hebra, la aplicación no puede manipular las hebras y WebSphere Application Server crea una excepción java.security.AccessControlException. El archivo app.policy se aplica a un nodo especificado. Si modifica los permisos en un archivo app.policy, debe incorporar la nueva política de hebra en el mismo archivo de los restantes nodos. Asimismo, si añade los permisos de hebra al archivo app.policy, debe reiniciar WebSphere Application Server para implementar los nuevos permisos. Sin embargo, si añade los permisos al archivo was.policy de una aplicación determinada, no es necesario reiniciar WebSphere Application Server. Un administrador debe añadir el siguiente código a un archivo was.policy o app.policy para que una aplicación pueda manipular las hebras:
grant codeBase "file:${application}" {
  permission java.lang.RuntimePermission "stopThread";
  permission java.lang.RuntimePermission "modifyThread";
  permission java.lang.RuntimePermission "modifyThreadGroup";
};
Importante: No se admiten las palabras clave Signed By (Firmado por) en los archivos de políticas siguientes: app.policy, spi.policy, library.policy, was.policy y filter.policy. No obstante, se admiten las palabras clave Signed By (Firmado por) en los archivos de políticas siguientes: java.policy, server.policy y client.policy. No se admite JAAS (Java Authentication and Authorization Service) en los archivos app.policy, spi.policy, library.policy, was.policy y filter.policy. Sin embargo, la palabra clave del principal JAAS está soportada en un archivo de políticas JAAS, si se especifica a través de la propiedad de sistema de la máquina virtual Java (JVM) java.security.auth.policy. Puede establecer estáticamente los archivos de políticas de autorización en java.security.auth.policy con auth.policy.url.n=URL, donde URL es la ubicación de la política de autorización.

Procedimiento

  1. Identifique el archivo de políticas que se ha de actualizar.
    Consejo: Elija el archivo de políticas con el ámbito más pequeño. De esta forma se evita conceder un permiso adicional a los programas Java y protege los recursos. Puede actualizar el archivo ra.xml o el archivo was.policy, en lugar del archivo app.policy. Utilice símbolos de componentes específicos ($(ejbcomponent), ${webComponent},${connectorComponent} y ${jars}) en vez de símbolos ${application}. Actualice los archivos de políticas dinámicos, en lugar de archivos de políticas estáticos.

    Añada los permisos que nunca desee otorgar a la aplicación de empresa de WebSphere Application Server de la célula al archivo filter.policy. Consulte el apartado Permisos del archivo filter.policy.

  2. Reinicie la aplicación de empresa de WebSphere Application Server.

Resultados

Se otorga el permiso necesario a la aplicación de empresa de WebSphere Application Server.
[AIX Solaris HP-UX Linux Windows][IBM i]

Ejemplo

Si una aplicación de empresa de WebSphere Application Server en la célula requiere permisos, se deben actualizar algunos de los archivos de política dinámica. Si falta un permiso, se genera la excepción java.security.AccessControlException. El permiso que falta se indica en los datos de excepción siguientes, que aparecen en una línea, pero se han dividido en secciones para mejorar la legibilidad.

[IBM i][z/OS]
java.security.AccessControlException: access denied (java.io.FilePermission 
${was.install.root}/java/ext/mail.jar read)

Cuando un programa Java recibe esta excepción y está justificado añadir este permiso, añada un permiso a un archivo adecuado de políticas dinámicas.

[IBM i][z/OS]
grant codeBase "file:ubicación_instalada_cliente_usuario" {
  permission java.io.FilePermission 
"${was.install.root}$(/)java$(/)jre$(/)lib$(/)ext$(/)mail.jar", "read";
};

Las líneas de información sobre permisos anteriores se han dividido para la ilustración. Escriba el permiso en una línea.

Para decidir si se debe añadir un permiso, consulte el tema Excepción de control de acceso para la seguridad de Java 2.


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=tsec_dynamic
File name: tsec_dynamic.html