spi.policy file permissions

Java 2 security uses several policy files to determine the granted permission for each Java program.

Because the default permission for the Service Provider Interface (SPI) is the AllPermission permission, the only reason to update the spi.policy file is a restricted SPI permission. When a change in the spi.policy is required, complete the following steps.

Syntax errors in the policy files cause the application server to fail. Edit these policy files carefully. Important: Do not place the codebase keyword or any other keyword after the filterMask and runtimeFilterMask keywords. The Signed By and the Java Authentication and Authorization Service (JAAS) Principal keywords are not supported in the spi.policy file. The Signed By keyword is supported in the java.policy, server.policy, and client.policy policy files. The JAAS Principal keyword is supported in a JAAS policy file that is specified by the java.security.auth.policy Java virtual machine (JVM) system property. We can statically set the authorization policy files in java.security.auth.policy with auth.policy.url.n=URL, where URL is the location of the authorization policy.

To extract the filter.policy file, enter the following command using information from your environment:

set obj [$AdminConfig extract profiles/profile/cells/cell/nodes/node/spi.policy
c:/temp/test/spi.policy]

Edit the file using the Policy Tool. For more information, see Using PolicyTool to edit policy files .

To check in the policy file, enter the following command using information from your environment:

The updated spi.policy is applied to the Service Provider Interface (SPI) libraries after the Java process is restarted.

$AdminConfig checkin profiles/profile/cells/cell/nodes/node/spi.policy
c:/temp/test/spi.policy $obj

 

Examples

The spi.policy file is the template for SPIs or third-party resources embedded in the product. Examples of SPIs are Java Message Services (JMS) (MQSeries) and Java database connectivity (JDBC) drivers. They are specified in the resources.xml file. The dynamic policy grants the permissions that are defined in the spi.policy file to the class paths defined in the resources.xml file. The union of the permission that is contained in the java.policy file and the spi.policy file are applied to the SPI libraries. The spi.policy files are managed by configuration and file replication services.

Changes made in these files are replicated to other nodes in the cell.

You can find the spi.policy file that is supplied by WebSphere Application Server in the following location: app_server_root/profiles/profile/config/cells/cell/nodes/node/spi.policy. This file contains the following default permission:

grant {
  permission java.security.AllPermission;
};

Restart the related Java processes for the changes in the spi.policy file to become effective.


Related tasks
Configuring the was.policy file Using PolicyTool to edit policy files Adding the was.policy file to applications Configuring Java 2 security policy files Related reference
server.policy file permissions java.policy file permissions