Droits d'accès au fichier server.policy

La sécurité Java™ 2 utilise plusieurs fichiers de règles pour déterminer les droits accordés à chaque programme Java.

Pour obtenir la liste des fichiers de règle disponibles pris en charge par WebSphere Application Server, voir Fichiers de règles de sécurité Java 2.

Le fichier server.policy est un fichier de règles par défaut partagé par tous les serveurs WebSphere Application Server sur un noeud. Le fichier server.policy n'est pas un fichier de configuration géré par le référentiel et le service de réplication des fichiers. Les modifications apportées à ce fichier sont locales et ne sont pas répliquées sur l'autre machine.

Si les droits d'accès par défaut d'un serveur (l'union des droits d'accès définis dans le fichier java.policy et le fichier server.policy) suffisent, aucune action particulière n'est requise. Le fichier server.policy par défaut est automatiquement choisi. Si un changement spécifique s'impose pour certains programmes serveur sur un noeud, mettez à jour le fichier server.policy à l'aide de l'outil de règles. Pour modifier les fichiers de règles, voir la rubrique Utilisation de PolicyTool pour éditer des fichiers de règles pour la sécurité Java 2. Les modifications apportées au fichier server.policy sont valables en local, au niveau du noeud. Les erreurs de syntaxe dans les fichiers de règle entraînent l'échec du serveur d'applications. Editez avec vigilance ces fichiers de règle. Un fichier server.policy mis à jour est appliqué à tous les programmes du serveur sur le noeud local. Redémarrez les serveurs pour que les modifications soient prises en compte.

Pour ajouter des droits à une application, utilisez les fichiers app.policy et was.policy.
Remarque : Les mises à jour apportées au fichier app.policy s'appliquent uniquement aux applications d'entreprise sur le noeud auquel le fichier app.policy appartient.

Pour modifier le fichier server.policy, localisez-le dans le chemin suivant : racine_profil/properties/server.policy. Ce fichier contient les droits d'accès par défaut suivants :

[AIX Solaris HP-UX Linux Windows]
// Autoriser l'utilisation des outils Sun
grant codeBase "file:${java.home}/../lib/tools.jar" {
  permission java.security.AllPermission;
};

// classes système WebSphere
grant codeBase "file:${was.install.root}/plugins/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/lib/-" {
  permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/classes/-" {
  permission java.security.AllPermission;
};

// Accorde à l'outil de déploiement WebSphere tous les droits
grant codeBase "file:${racine.installation.was}/deploytool/-" {
  permission java.security.AllPermission;
};

// Accorde aux classes Channel Framework tous les droits
grant codeBase "file:${was.install.root}/installedChannels/-" {
  permission java.security.AllPermission;
};

// Classes d'exécution facultatives WebSphere
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
  permission java.security.AllPermission;
};
[IBM i]
// Permet d'utiliser les outils sun
grant codeBase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};

// Permet d'utiliser les extensions jdk ibm
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};

// Permet d'utiliser les extensions ibm jdk avec j9
grant codeBase "file:${was.install.root}/java/extj9/-" {
permission java.security.AllPermission;
};

// Permet d'utiliser des outils sun et ibm
grant codeBase "file:${was.install.root}/java/tools/-" {
permission java.security.AllPermission;
};

// classes système WebSphere
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${racine.installation.was}/classes/-" {
permission java.security.AllPermission;
};

// Accorde à l'outil de déploiement WebSphere tous les droits
grant codeBase "file:${racine.installation.was}/deploytool/-" {
permission java.security.AllPermission;
};

// Accorde à l'outil de déploiement WebSphere tous les droits
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
permission java.security.AllPermission;
};

// Accorde aux classes Channel Framework tous les droits
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};

grant codeBase "file:${was.install.root}/util/-" {
permission java.security.AllPermission;
};

grant codeBase "file:${user.install.root}/lib/-" {
permission java.security.AllPermission;
};

grant codeBase "file:${user.install.root}/classes/-" {
permission java.security.AllPermission;
}; 
[z/OS]
// Permet d'utiliser les outils sun
grant codeBase "file:${java.home}/lib/tools.jar" {
permission java.security.AllPermission;
};


// Accorde à l'outil de déploiement WebSphere tous les droits
grant codeBase "file:${racine.installation.was}/deploytool/-" {
permission java.security.AllPermission;
};


grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};

grant codeBase "file:${racine.installation.was}/classes/-" {
permission java.security.AllPermission;
};

grant codeBase "file:${racine.installation.was}/lib/-" {
permission java.security.AllPermission;
};

grant codeBase "file:${smpe.install.root}/lib/-" {
permission java.security.AllPermission;
};

grant codeBase "file:${smpe.install.root}/-" {
permission java.security.AllPermission;
};

// Permet d'utiliser les outils TAM
grant codeBase "file:${was.install.root}/tivoli/tam/PD.jar" {
permission java.security.AllPermission;
};

Si certains programmes serveur d'un noeud requièrent des droits qui ne sont pas définis en tant que valeurs par défaut dans les fichiers server.policy et server.policy, mettez à jour le fichier server.policy. Si le droit d'accès n'est pas défini, l'exception java.security.AccessControlException est générée. Les droits d'accès manquants sont répertoriés dans les données de l'exception.

[AIX Solaris HP-UX Linux Windows][z/OS]Exemple :
java.security.AccessControlException: access denied (java.io.FilePermission 
C:\WebSphere\AppServer\java\jre\lib\ext\mail-impl.jar read)
[IBM i]Exemple :
java.security.AccessControlException: access denied (java.io.FilePermission 
racine_serveur_appBase/lib/mail-impl.jar read)

Les deux lignes précédentes sont scindées en deux à des fins d'illustration.

Lorsqu'un programme Java reçoit cette exception et que l'ajout de ce droit est justifié, ajoutez un droit d'accès dans le fichier server.policy.

[AIX Solaris HP-UX Linux Windows][z/OS]Exemple :
grant codeBase "file:user_client_installed_location" {   
permission java.io.FilePermission 
"C:\WebSphere\AppServer\java\jre\lib\ext\mail.jar", "read"; };
[IBM i]Exemple :
grant codeBase "file:user_client_installed_location" {   
permission java.io.FilePermission 
"racine_serveur_app/Base/lib/mail-impl.jar", "read"; };

Pour savoir s'il faut ajouter un droit d'accès, consultez la rubrique relative à l'exception de contrôle d'accès pour la sécurité Java 2.

Relancez tous les processus Java pour que les modifications apportées au fichier server.policy soient prises en compte.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_serverpolicy
Nom du fichier : rsec_serverpolicy.html