Configure multiple security domains
By default, all administrative and user applications in WebSphere Application Server use the global security configuration. A user registry defined in global security authenticates users for every application in the cell. We can create additional security domains to specify different security attributes for subsets or all of our user applications.
Only users assigned to the administrator role can configure or create new multiple security domains. Enable global security in the environment before configuring new domains.
Security domains allow us to define multiple security configurations for use in the environment. For example, we can define different security (such as a different user registry) for user applications than for administrative applications. We can also define separate security configurations for user applications deployed to different servers and clusters.
When configuring an application domain with a realm name that is identical to the realm name at the global domain, a lookup of users, groups or other registry attributes returns that of the application domain. We should configure unique realm names for each domain.bprac
Configure a new security domain
- Click...
Security > Security domains
- For a new domain, click New, supply a unique name and description for the domain, then click Apply. To configure an existing domain, select one to edit, then click Apply.
Once you click Apply, two sections are displayed...
- A section that enables us to define the security attributes for the domain
- Another section that enables us to select the scopes to which the domain applies.
- Under Assigned Scopes, assign the security domain to the entire cell or assign to specific servers, clusters, and service integration buses.
The Assigned Scopes section has two views. The default view is a cell topology. To assign the security domain to the entire cell, click the check box for the cell and then click Apply or OK.
The name of the security domain appears next to the cell name, which indicates that the domain is now assigned to the cell. We can expand the topology and assign the domain to one or more servers and clusters. When an item in the topology is already assigned to another security domain, the check box is disabled and the name of the assigned domain is displayed next to the scope name. To assign one of these scopes to the domain, first disassociate it with its current domain.
Select All assigned scopes to view a list of only those resources that are currently assigned to the security domain.
- Customize the security configuration by specifying security attributes for our new domain.
Attributes that are not listed can not be customized at the domain level. Domains inherit attributes from the global security configuration.
There are twelve individually configurable security attribute sections. We can expand and collapse each section. In the collapsed state, the name and a summary value for the section are displayed. Additionally, the summary value text indicates whether the attribute is defined in global security and is reused by the domain (as indicated by gray text) or if it is customized for the domain (as indicated by black text prefixed by the word "Customized").
Initially, each security attribute is set to use the global security settings. When an attribute is set to use global security, there is no domain-specific configuration for that attribute. Applications that use the domain use the global configuration for these security attributes.
Only configure the security attributes to change. To configure a security attribute for a domain, expand the security attribute section. The key properties of the global configuration display beneath the Use global security option. These properties are provided for convenience.
To customize the configuration for the domain, select Customize for this domain. Configure the property and then click OK or Apply.
In general, when we select Customize for this domain, we override all of the security configurations defined for that section in global security. Application logins, system logins, and J2C authentication data entries are some exceptions. When defining entries for a domain, applications in the domain are able to access the global entries in addition to the domain-specific entries.
For example, we might want to use a different user registry for applications that use the security domain but also want to use the global security configuration for all of the other security properties. In this case, expand the User Realm section and select Customize for this domain. Select a user registry type, click Configure, and provide the appropriate configuration details on the subsequent panel.
We can change security attributes such as the following:
- Application Security
Enable or disable application security for user applications at the domain level. When disabled, all EJBs and web applications in the security domain are no longer protected. Access is granted to these resources without user authentication. When enabled, J2EE security is enforced in the security domain. The J2EE security is only enforced when Global Security is enabled in the global security configuration, (that is, we cannot enable application security without first enabling Global Security at the global level).
- Java 2 Security
- Enable or disable Java 2 security at the domain level.
This choice enables or disables Java 2 security at the process (JVM) level so that all applications (both administrative and user) can enable or disable Java 2 security.
- User realm
Configure the user registry for the security domain. We can separately configure any registry used at the domain level.
- Trust association
- When we configure the trust association interceptor (TAI) at a domain level, the interceptors configured at the global level are copied to the domain level for convenience. We can modify the interceptor list at the domain level to fit our needs. Only configure those interceptors that are to be used at the domain level.
- SPNEGO Web Authentication
- The SPNEGO web authentication, which enables us to configure SPNEGO for web resource authentication, can be configured at the domain level.
In WAS v6.1, a TAI that uses the SPNEGO to securely negotiate and authenticate HTTP requests for secured resources was introduced. This function was deprecated in WAS 7.0. SPNEGO web authentication has taken its place to provide dynamic reload of the SPNEGO filters and to enable fallback to the application login method.
- RMI/IIOP Security
The RMI/IIOP security attribute refers to the CSIv2 protocol properties. When we configure these attributes at the domain level, the RMI/IIOP security configuration at the global level is copied for convenience.
We can change the attributes to be different at the domain level. The Transport layer settings for CSIv2 inbound communications should be the same for both the global and the domain levels. If they are different, the domain level attributes are applied to all of the application in the process.
- JAAS application logins
- Configuration settings for the JAAS application logins. Use the global security settings or customize the settings for a domain.
The JAAS application logins, the JAAS system logins, and the JAAS J2C authentication data aliases can all be configured at the domain level. By default, all of the applications in the system have access to the JAAS logins configured at the global level. The security runtime first checks for the JAAS logins at the domain level. If it does not find them, it then checks for them in the global security configuration. Configure any of these JAAS logins at a domain only when we need to specify a login used exclusively by the applications in the security domain.
- JAAS system logins
- Configuration settings for the JAAS system logins. Use the global security settings or customize the configuration settings for a domain.
- JAAS J2C authentication
- Configuration settings for the JAAS J2C authentication data. Use the global security settings or customize the settings for a domain.
- Java Authentication SPI (JASPI)
Configuration settings for a Java Authentication SPI (JASPI) authentication provider and associated authentication modules. Use the global security settings or customize the settings for a domain. To configure JASPI authentication providers for a domain, select Customize for this domain and then enable JASPI. Select Providers to define providers for the domain.
The JASPI authentication provider can be enabled with providers configured at the domain level. By default, all of the applications in the system have access to the JASPI authentication providers configured at the global level. The security runtime first checks for the JASPI authentication providers at the domain level. If it does not find them, it then checks for them in the global security configuration. Configure JASPI authentication providers at a domain only when the provider is to be used exclusively by the applications in that security domain.
- Authentication Mechanism Attributes
Various cache settings that need to applied at the domain level.
Select Authentication cache settings to specify your authentication cache settings. The configuration specified on this panel is applied only to this domain.
Select LTPA Timeout to configure a different LTPA timeout value at the domain level. The default timeout value is 120 minutes, which is set at the global level. If the LTPA timeout is set at the domain level, any token created in the security domain when accessing user applications is created with this expiration time.
When Use realm-qualified user names is enabled, user names returned by methods such as getUserPrincipal() are qualified with the security realm (user registry) used by applications in the security domain.
(ZOS)
- Authorization Provider
We can configure an external third party JACC (Java Authorization Contract for Containers) provider at the domain level. Security Access Manager's JACC provider can only be configured at the global level. Security domains can still use it if they do not override the authorization provider with another JACC provider or with the built-in native authorization.
(ZOS) We can additionally configure the SAF authorization options at the security domain level, which are the following:
- The unauthenticated user id
- The SAF profile mapper
- Whether to enable SAF delegation
- Whether to use the APPL profile to restrict access to WAS
- Whether to suppress authorization failed messages
- The SMF audit record strategy
- The SAF profile prefix
(ZOS) For more information on the SAF authorization options, read about z/OS System Authorization Facility authorization.
- z/OS security options
We can set z/OS specific security options at the process (JVM) level so that all applications (both administrative and user) can enable or disable these options. These properties are:
- Enable application server and z/OS thread identity synchronization
- Enable the connection manager RunAs thread identity.
For more information on the z/OS security options, read about z/OS security options
- Custom properties
- Set custom properties at the domain level that are either new or different from those at the global level. By default, all of the custom properties at the global security configuration can be accessed by all of the applications in the cell. The security runtime code first checks for the custom property at the domain level. If not found, it then attempts to obtain the custom property from the global security configuration.
- Once we have configured the security attributes and assigned the domain to one or more scopes, click Apply or OK.
- Restart all servers and clusters for our changes to take effect.
Subtopics
- Multiple security domains
- Create new multiple security domains
- Delete multiple security domains
- Copy multiple security domains
- Configure inbound trusted realms for multiple security domains
- Configure security domains
- External realm name
- Trust all realms
- Security domains collection
- Authentication cache settings
Task overview: Securing resources Configure security domains using scripting Configure multiple security domains using scripting Remove security domains using scripting Mapping resources to security domains using scripting Administrative roles