The JMS server provides support for authentication, and access control. The users are authenticated when they create a JMS connection. Access control is done when the producers, consumers, and queue browsers are created on the connection, as well as when an administration function of the JMS server is accessed.
The security is configured and managed using the Security Administration Remote APIs. API's exist for managing users and groups, and for managing Access Control Lists (ACL's). The following sections describe how JMS deals with security.
APIs are provided for creating principals (users and groups), deleting principals, and looking up principals. There are three built-in principals - anonymous user, administrator group, and the world group.
An additional principal belonging to the administrator group is created using
the database username and password specified in the
msgsvc.properties
file.
The users are authenticated and their identity is established when a JMS connection is created using a username and password. If no password is provided then the user identity is set to anonymous.
The following permissions can be used in creating ACL's in the JMS server:
CONSUME_PERMISSION
- permission to receive messages or
browse a queue, and to subscribe to topic messages.
PRODUCE_PERMISSION
- permission to send messages to a queue,
and to publish messages to a topic.
MANAGE_PERMISSION
- permission to manage the server. In the
current release, only the users belonging to the administrator group
have MANAGE_PERMISSION
.
APIs are provided to create ACL's in the JMS server's database. An ACL can be set on a destination, by specifying the ACL name in the destination properties. Please see above for a description of the destination properties.
As described above, the msgsvc.properties
file contains the
msgsvc.security.enable
boolean property. The value of this
property dictates whether ACL checking is done, and the group of users who
can administer the server.
By default, the security is disabled, which means that ACL checking is skipped, and any user (including anonymous) can administer a JMS server. When security is enabled only users in the administrator group can administer the JMS server and ACL checking is performed.
Copyright © 2003, 2004 Novell, Inc. All rights reserved. Copyright © 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.