Network Deployment (Distributed operating systems), v8.0 > Scripting the application serving environment (wsadmin) > Scripting for security > Configure security with scripting > Configure multiple security domains using scripting
Configure Common Secure Interoperability authentication using scripting
Use this topic to use wsadmin.sh to configure inbound and outbound communications using the Common Secure Interoperability protocol. CSIv2 (CSIv2) supports increased vendor interoperability and additional features.
We must meet the following requirements before configuring local operating system user registries:
- We must have the administrator or new admin role.
- Enable global security in the environment.
- Configure multiple realms using security domains in the environment.
Procedure
- Configure CSI inbound communication authentication.
Inbound authentication refers to the configuration that determines the type of accepted authentication for inbound requests. This authentication is advertised in the interoperable object reference (IOR) that the client retrieves from the name server.
- Launch wsadmin.sh using the Jython scripting language. See the Starting the wsadmin scripting client article for more information.
- Determine the settings to specify for CSI inbound communication.
The configureCSIInbound command configures various settings for CSI inbound communication.
Command parameters. Review the following list of optional parameters to determine the attributes to set in the configuration:
Parameter Description -securityDomainName Name of the security configuration. If you do not specify a security domain name, the command modifies the global security configuration. (String) -messageLevelAuth Whether clients connecting to this server must specify a user ID and password. Specify Never to disable the user ID and password requirement. Specify Supported to accept a user ID and password. Specify Required to require a user ID and password. (String) -supportedAuthMechList Specifies the authentication mechanism to use. Specify KRB5 for Kerberos authentication, LTPA for Lightweight Third-Party Authentication, BasicAuth for basic authentication, and custom to use your own authentication token implementation. We can specify more than one, separated by the pipe character (|). (String) -clientCertAuth Whether a client that connects to the server must connect using an SSL certificate. Specify Never to allow clients to connect without SSL certificates. Specify Supported to accept clients connecting with and without SSL certificates. Specify Required to require clients to use SSL certificate. (String) -transportLayer Transport layer support level. Specify Never to disable transport layer support. Specify Supported to enable transport layer support. Specify Required to require transport layer support. (String) -sslConfiguration Specifies the SSL configuration alias to use for inbound transport. (String) -enableIdentityAssertion Whether to enable identity assertion. When using the identity assertion authentication method, the security token generated is a <wsse:UsernameToken> element that contains a <wsse:Username> element. Specify true for the -enableIdentityAssertion parameter to enable identity assertion. (Boolean) -trustedIdentities List of trusted server identities, separated by the pipe character (|). To specify a null value, set the value of the -trustedIdentities parameter as an empty string (""). (String)
-statefulSession Whether to enable a stateful session. Specify true to enable a stateful session. (Boolean) -enableAttributePropagation Whether to enable security attribute propagation. Security attribute propagation allows the application server to transport authenticated subject contents and security context information from one server to another in the configuration. Specify true to enable security attribute propagation. (Boolean)
- Configure CSI inbound communication authentication.
The configureCSIInbound command configures the CSIv2 Inbound authentication on a security domain or on the global security configuration. When configuring CSI Inbound in a security domain for the first time, the CSI objects are copied from global security. Then, the changes are applied to configuration.
Use the configureCSIInbound command to configure CSI inbound authentication for a security domain or the global security configuration, as the following Jython example demonstrates:
AdminTask.configureCSIInbound('-securityDomainName testDomain -messageLevelAuth Supported -supportedAuthMechList KRB5|LTPA -clientCertAuth Supported -statefulSession true')
- Save the configuration changes.
Save the configuration changes:
AdminConfig.save()
- Configure CSI outbound communication authentication.
Outbound authentication refers to the configuration that determines the type of authentication that is performed for outbound requests to downstream servers.
- Start wsadmin.sh.
- Determine the settings to specify for CSI outbound communication.
The configureCSIOutbound command configures various settings for CSI outbound communication.
Command parameters. Review the following list of optional parameters to determine the attributes to set in the configuration:
Parameter Description -securityDomainName Name of the security configuration. If you do not specify a security domain name, the command modifies the global security configuration. (String) -enableAttributePropagation Whether to enable security attribute propagation. Security attribute propagation allows the application server to transport authenticated subject contents and security context information from one server to another in the configuration. Specify true to enable security attribute propagation. (Boolean) -enableIdentityAssertion Whether to enable identity assertion. When using the identity assertion authentication method, the security token generated is a <wsse:UsernameToken> element that contains a <wsse:Username> element. Specify true for the -enableIdentityAssertion parameter to enable identity assertion. (Boolean) -useServerIdentity Whether to use the server identity to establish trust with the target server. Specify true to use the server identity. (Boolean) -trustedId Trusted identity that the application server uses to establish trust with the target server. (String) -trustedIdentityPassword Password of the trusted server identity. (String) -messageLevelAuth Whether clients connecting to this server must specify a user ID and password. Specify Never to disable the user ID and password requirement. Specify Supported to accept a user ID and password. Specify Required to require a user ID and password. (String) -supportedAuthMechList Specifies the authentication mechanism to use. Specify KRB5 for Kerberos authentication, LTPA for Lightweight Third-Party Authentication, BasicAuth for basic authentication, and custom to use your own authentication token implementation. We can specify more than one, separated by the pipe character (|). (String) -clientCertAuth Whether a client that connects to the server must connect using an SSL certificate. Specify Never to allow clients to connect without SSL certificates. Specify Supported to accept clients connecting with and without SSL certificates. Specify Required to require clients to use SSL certificate. (String) -transportLayer Transport layer support level. Specify Never to disable transport layer support. Specify Supported to enable transport layer support. Specify Required to require transport layer support. (String) -sslConfiguration Specifies the SSL configuration alias to use for inbound transport. (String) -statefulSession Whether to enable a stateful session. Specify true to enable a stateful session. (Boolean) -enableCacheLimit Whether to limit the size of the CSIv2 session cache. If you specify a true value, a limit is added to the cache size. The value of the limit is determined by the values that you set with the -maxCacheSize and -idleSessionTimeout parameters. A false value, which is the default, does not limit the cache size. Consider adding a true value for this parameter if the environment uses Kerberos authentication and the clock skew for the configured key distribution center (KDC) is small. A small clock skew is defined as less than 20 minutes. This parameter applies when you set the -statefulSession parameter to true. (Boolean) -maxCacheSize Maximum size of the session cache after which expired sessions are deleted from the cache. Expired sessions are sessions that are idle longer than the time that you specify for the -idleSessionTimeout parameter. Consider specifying a value for this parameter if the environment uses Kerberos authentication and the clock skew for the configured key distribution center (KDC) is small. A small clock skew is defined as less than 20 minutes. Consider increasing the value of this parameter if the small cache size causes the garbage collection to run so frequently that it impacts the performance of the application server. This parameter applies when you set the -statefulSession and -enableCacheLimit parameters to true and set a value for the -idleSessionTimeout parameter. The valid range of values for this parameter is 100 to 1000. (Integer) -idleSessionTimeout Time, in milliseconds, that a CSIv2 session can remain idle before being deleted. The session is deleted if you set the -enableCacheLimit parameter to true and the value of the -maxCacheSize parameter is exceeded. Consider decreasing the value for this parameter if your environment uses Kerberos authentication and the clock skew for the KDC is small. A small clock skew can result in a greater number of rejected CSIv2 sessions. However, with a smaller value for this parameter, the application server can clean out the rejected sessions more often and reduce the possibility of a resource shortage. The valid range of values for this parameter is 60,000 to 86,400,000 milliseconds. (Integer) -enableOutboundMapping Whether to enable custom outbound identity mapping. Specify true to enable custom outbound identity mapping. (Boolean) -trustedTargetRealms List of target realms to trust. Separate each realm name with the pipe character (|). (String)
- Configure CSI outbound communication authentication.
The configureCSIOutbound command configures the CSIv2 outbound authentication in a security domain or in the global security configuration. When configuring CSI outbound authentication in a security domain for the first time, the application server copies the CSI objects from global security. Then, the application server applies the changes to that configuration.
Use the configureCSIOutbound command to configure CSI outbound authentication for a security domain or the global security configuration, as the following Jython example demonstrates:
AdminTask.configureCSIOutbound('-securityDomainName testDomain -enableIdentityAssertion true -trustedId myID -trustedIdentityPassword myPassword123 -messageLevelAuth Required -trustedTargetRealms realm1|realm2|realm3')
- Save the configuration changes.
Save the configuration changes:
AdminConfig.save()
Local operating system registries
Configure security domains using scripting
Map resources to security domains using scripting
Remove resources from security domains using scripting
Remove security domains using scripting
Start the wsadmin scripting client using wsadmin.sh
Related
SecurityConfigurationCommands command group