Appendix C - Authorization Policy File
In case there weren't enough examples of Principal-based JAAS Policy grant blocks listed previously, here are some more (UNIX format).
// SAMPLE JAAS POLICY FILE: java.auth.policy
// The following permissions are granted to Principal 'Pooh' and all codesource:
grant Principal com.ibm.security.Principal "Pooh" {
permission javax.security.auth.AuthPermission "setPolicy";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "user.home", "read";
permission java.io.FilePermission "/usr/foo/jaas.txt", "read";
};
// The following permissions are granted to Principal 'Pooh' AND 'Eyeore'
// and CodeSource signedBy "DrSecure":
grant signedBy "DrSecure"
Principal com.ibm.security.Principal "Pooh",
Principal com.ibm.security.Principal "Eyeore" {
permission javax.security.auth.AuthPermission "modifyPublicCredentials";
permission javax.security.auth.AuthPermission "modifyPrivateCredentials";
permission java.net.SocketPermission "us.ibm.com", "connect,accept,resolve";
permission java.net.SocketPermission "griffin.ibm.com", "accept";
};
// The following permissions are granted to Principal 'Pooh' AND 'Eyeore' AND
// 'Piglet' and CodeSource from the /usr/jaas directory signed by "kent" and "bruce':
grant codeBase "file:/usr/jaas/*",
signedBy "kent, bruce",
Principal com.ibm.security.Principal "Pooh",
Principal com.ibm.security.Principal "Eyeore",
Principal com.ibm.security.Principal "Piglet" {
permission javax.security.auth.AuthPermission "getSubject";
permission java.security.SecurityPermission "printIdentity";
permission java.net.SocketPermission "guapo.ibm.com", "accept";
};