Configuration de la sécurité pour les beans gérés par messages qui utilisent des ports d'écoute
Pour les fournisseurs de messagerie autres que JCA (Java™ EE Connector Architecture), l'association entre les fabriques de connexions, les destinations et les beans gérés par messages est fournie par les ports d'écoute. Dans ce cas, vous pouvez configurer la sécurité des ressources et les permissions de sécurité des beans gérés par message en définissant l'alias géré par conteneur. Les informations de sécurité du programme d'écoute du MDB sont établies lorsque la connexion JMS de ce programme d'écoute du MDB est créée.
Avant de commencer
Un port d'écoute permet à un bean géré par message déployé associé au port de récupérer les messages à partir de la destination associée. Pour plus d'informations sur ces ports d'écoute, voir beans gérés par message - Composants du port d'écoute.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
Pourquoi et quand exécuter cette tâche
La plupart du temps, la sécurité d'un MDB est identique à celle d'un autre bean enterprise. Par exemple, l'accès de ressources JDBC et JCA (CICS, IMS par exemple) est géré de la même façon que pour un bean d'entité ou de session. L'accès aux autres ressources JMS est également géré de la même façon que pour les autres beans enterprise.
Pour sécuriser un MDB déployé sur un port d'écoute, configurez le mécanisme d'authentification et d'autorisation du serveur pour connexion à un fournisseur JMS et à une destination de sorte à ce qu'un message puisse être extrait depuis la destination pour son traitement par la méthode onMessage() du bean MDB.
Pour certains beans MDB, la méthode onMessage() tente d'accéder à des ressources JMS supplémentaires après que la connexion JMS initiale a été établie. Dans ce cas, la sécurité est gérée comme pour les appels JMS effectués par un EJB entity ou session.
- Si un alias géré par conteneur a été défini pour cette fabrique de connexions, l'ID utilisateur associé à cet alias est utilisé dans l'appel de création de la connexion, par exemple createQueueConnection(ID utilisateur, mot de passe).
- Si un alias géré par composant a été défini pour cette fabrique de connexions, l'ID utilisateur associé à cet alias est utilisé.pir l'appel de création de connexion.
- Si aucun alias n'a été spécifié et que le fabrique de connexions a été définie en mode Liaisons (c'est-à-dire que TransportType = "BINDINGS"),
l'identité du serveur est utilisée.
L'identité du serveur se traduit plus spécifiquement en identité de servant dans les servants et en identité du contrôleur dans le contrôleur. Par conséquent, dans le cas d'un contrôleur à l'écoute, l'identité du contrôleur est pertinente, ainsi que l'identité du servant. Pour plus d'informations sur les contrôleurs à l'écoute, voir
Service du programme d'écoute des messages sur z/OS.
Pour définir l'alias géré par conteneur (si vous choisissez cette option), utilisez la console d'administration pour effectuer la procédure suivante :
Procédure
- Pour afficher les paramètres du port d'écoute, cliquez sur
- Identifiez le nom de la fabrique de connexions JMS en examinant la propriété Nom JNDI de cette fabrique.
- Affichez les propriétés de la fabrique de connexions JMS. Par exemple, pour afficher les propriétés d'une file d'attente de fabrique de connexions, cliquez sur .
- Définissez la propriété "Alias d'authentification géré par conteneur".
- Cliquez sur OK
Que faire ensuite
Appel d'autres EJB
Les messages arrivant sur un port d'écoute n'ont aucun justificatif client associé. Les messages sont anonymes. Pour appeler des beans enterprise sécurisés à partir d'un bean géré par message, ce dernier doit être configuré avec un descripteur de déploiement d'identité RunAs. La sécurité repose sur le rôle spécifié par le descripteur RunAs Identity configuré pour le bean géré par message en tant que composant EJB.
Pour plus d'informations sur la sécurité des EJB, voir Sécurisation des applications de bean enterprise. Pour plus d'informations sur la configuration de la sécurité de votre application, voir Sécurisation des applications pendant l'assemblage et le déploiement.