WebSphere® Application Server extends the Java Platform, Enterprise Edition (Java EE) security role-based access control to protect the product administrative and naming subsystems.
A number of administrative roles are defined to provide the degrees of authority that are needed to perform certain WebSphere Application Server administrative functions from either the administrative console or the system management scripting interface called wsadmin. The authorization policy is only enforced when administrative security is enabled. The following table describes the administrative roles:
Role | Description |
---|---|
Monitor | An individual or group
that uses the monitor role has the least amount of privileges. A monitor
can complete the following tasks:
|
Configurator | An individual or group
that uses the configurator role has the monitor privilege plus the
ability to change the WebSphere Application Server
configuration. The configurator can perform all the day-to-day configuration
tasks. For example, a configurator can complete the following tasks:
|
Operator | An individual or group
that uses the operator role has monitor privileges plus ability to
change the runtime state. For example, an operator can complete the
following tasks:
|
Administrator | An individual or group
that uses the administrator role has the operator and configurator
privileges plus additional privileges that are granted solely to the
administrator role. For example, an administrator can complete the
following tasks:
Note: An administrator cannot map users and groups to the administrator
roles.
|
Adminsecuritymanager | Only users who are granted this role can map users to administrative roles. Also, when fine-grained administrative security is used, only users who are granted this role can manage authorization groups. See Administrative roles for more information. |
Deployer | Users who are granted this role can perform both configuration actions and runtime operations on applications. |
Auditor | Users granted this role
can view and modify the configuration settings for the security auditing
subsystem. For example, a user with the auditor role can complete
the following tasks:
|
Role | Description |
---|---|
iscadmins | This role is only available
for administrative console users and not for wsadmin users. Users
who are granted this role have administrator privileges for managing
users and groups in the federated respositories. For example, a user
of the iscadmins role can complete the following tasks:
|
Role | Description |
---|---|
Deployer | This role is only available for wsadmin users and not for administrative console users. Users who are granted this role can perform both configuration actions and run-time operations on applications. |
When administrative security is enabled, the administrative subsystem role-based access control is enforced. The administrative subsystem includes the security server, the administrative console, the wsadmin scripting tool, and all the Java Management Extensions (JMX) MBeans. When administrative security is enabled, both the administrative console and the administrative scripting tool require users to provide the required authentication data. Moreover, the administrative console is designed so the control functions that display on the pages are adjusted, according to the security roles that a user has. For example, a user who has only the monitor role can see only the non-sensitive configuration data. A user with the operator role can change the system state.
When you are changing registries (for example, from a federated repository to LDAP), make sure you remove the information that pertains to the previously configured registry for console users and console groups.
WebSphere Application
Server for z/OS® security customization dialogs prime the
administrative subsystem to accept the MVS identities
of all the started WebSphere Application Server
system tasks (for example, controllers, servants, and so on) as WebSphere administrators and the configured
administrator identity. If a federated repository, a standalone Lightweight
Directory Access Protocol (LDAP) registry, or a standalone custom
registry is specified, the configured server identities are used for
work that is run by the system instead of for work that is run by
the started task identities.
When administrative security is enabled, WebSphere Application Servers run under
the server identity that is defined under the active user registry
configuration. Although it is not shown on the administrative console
and in other tools, a special Server subject is mapped to the administrator
role. The WebSphere Application Server runtime code,
which runs under the server identity, requires authorization to runtime
operations. If no other user is assigned administrative roles, you
can log into the administrative console or to the wsadmin scripting
tool using the server identity to perform administrative operations
and to assign other users or groups to administrative roles. Because
the server identity is assigned to the administrative role by default,
the administrative security policy requires the administrative role
to perform the following operations:
Primary administrative user name
The Version 6.1 release of WebSphere Application Server and subsequent releases require an administrative user, distinguished from the server user identity, to improve auditability of administrative actions. The user name specifies a user with administrative privileges that is defined in the local operating system.
Server user identity
The Version 6.1 release of WebSphere Application Server and subsequent releases distinguish the server identity from the administrative user identity to improve auditability. The server user identity is used for authenticating server-to-server communications.
Internal server ID
The internal server ID enables the automatic generation of the user identity for server-to-server authentication. Automatic generation of the server identity supports improved auditability for cells only for Version 6.1 or later nodes. In the Version 6.1 release of WebSphere Application Server, you can save the internally-generated server ID because the Security WebSphere Common Configuration Model (WCCM) model contains a new tag, internalServerId. You do not need to specify a server user ID and a password during security configuration except in a mixed-cell environment. An internally-generated server ID adds a further level of protection to the server environment because the server password is not exposed as it is in releases prior to Version 6.1. However, to maintain backwards compatibility, you must specify the server user ID if you use earlier versions of WebSphere Application Server.
When enabling security, you can assign one or more users and groups to naming roles. For more information, see Assigning users to naming roles. However, before assigning users to naming roles, configure the active user registry. User and group validation depends on the active user registry. For more information, see Configuring user registries.
Special subject
In addition to mapping users or groups, you can map a special-subject to the administrative roles. A special-subject is a generalization of a particular class of users. The AllAuthenticated or the AllAuhenticatedInTrustedRealms (when cross realm is involved) special subjects mean that the access check of the administrative role ensures that the user making the request is at least authenticated. The Everyone special subject means that anyone, authenticated or not, can perform the action as if security is not enabled.
CosNaming security offers increased granularity of security control over CosNaming functions. CosNaming functions are available on CosNaming servers such as the WebSphere Application Server. These functions affect the content of the WebSphere Application Server name space. Generally, you have two ways in which client programs result in CosNaming calls. The first is through the Java Naming and Directory Interface (JNDI) call. The second is with common object request broker architecture (CORBA) clients invoking CosNaming methods directly.
When you configure a local operating
system registry with WebSphere Application Server
for z/OS, factors require some additional considerations.
Refer to Selecting a registry or repository and Configuring local operating system registries for more information.
If you specify federated repositories, a standalone LDAP registry,
or a standalone custom registry, you must remove the local operating
system customization by deleting the pre-configured WebSphere Application
Server configuration group and administrator identity from the console
group and delete the console users.
A Server special-subject is assigned to all of the four CosNaming roles by default. The Server special-subject provides a WebSphere Application Server process, which runs under the server identity, to access all the CosNaming operations. The Server special-subject does not display and cannot be modified through the administrative console or other administrative tools.
Special configuration is not required to enable the server identity as specified when enabling administrative security for administrative use because the server identity is automatically mapped to the administrator role.
Users, groups,
or the special subjects AllAuthenticated and Everyone can be added
or removed to or from the naming roles from the WebSphere Application
Server administrative console at any time. However, a server restart
is required for the changes to take effect.
Configuration is not required
to enable the server identity (as specified) when enablingadministrative security for administrative
use because the server identity is automatically mapped to the administrator
role. Users, groups, or the special subjects AllAuthenticated and
Everyone can be added or removed to or from the naming roles from
the WebSphere Application Server administrative
console at any time. However, a server restart is required for the
changes to take effect. When SAF Authorization is chosen, a server
restart is not needed to authorize additional users or groups.
A best practice is to map groups or one of the special-subjects, rather than specific users, to naming roles because it is more flexible and easier to administer in the long run. By mapping a group to a naming role, adding or removing users to or from the group occurs outside of WebSphere Application Server and does not require a server restart for the change to take effect.
The CosNaming authorization policy is only enforced when administrative security is enabled. When administrative security is enabled, attempts to do CosNaming operations without the proper role assignment result in an org.omg.CORBA.NO_PERMISSION exception from the CosNaming server.
Each CosNaming
function is assigned to only one role. Therefore, users who are assigned
the CosNamingCreate role cannot query the name space unless they have
also been assigned CosNamingRead. And in most cases a creator needs
to be assigned three roles: CosNamingRead, CosNamingWrite, and CosNamingCreate.
The CosNamingRead and CosNamingWrite roles assignment for the creator
example are included in the CosNamingCreate role. In most of the cases, WebSphere Application Server administrators
do not have to change the roles assignment for every user or group
when they move to this release from a previous one.
Although the ability exists to greatly restrict access to the name space by changing the default policy, unexpected org.omg.CORBA.NO_PERMISSION exceptions can occur at runtime. Typically, Java EE applications access the name space and the identity they use is that of the user that authenticated to WebSphere Application Server when accessing the Java EE application. Unless the Java EE application provider clearly communicates the expected naming roles, use caution when changing the default naming authorization policy.