Configure Common Secure Interoperability authentication using scripting
Use this topic to use the wsadmin tool to configure inbound and outbound communications using the Common Secure Interoperability protocol. 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.
Tasks
- 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 the wsadmin scripting tool 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.
Parameter Description -securityDomainName Name of the security configuration. If we do not specify a security domain name, the command modifies the global security configuration. (String) -messageLevelAuth Specifies 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 Authentication mechanism to use. Specify KRB5 for Kerberos authentication, LTPA for Lightweight Third-Party Authentication, BasicAuth for basic authentication, and custom to use our own authentication token implementation. We can specify more than one, separated by the pipe character (|). (String) -clientCertAuth Specifies 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 The SSL configuration alias to use for inbound transport. (String) -enableIdentityAssertion Enable identity assertion. When using the identity assertion authentication method, the security token generated is a <wsse:UsernameToken> element containing 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 Enable a stateful session. Specify true to enable a stateful session. (Boolean) -enableAttributePropagation 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
AdminTask.configureCSIInbound('-securityDomainName testDomain -messageLevelAuth Supported -supportedAuthMechList KRB5|LTPA -clientCertAuth Supported -statefulSession true')
- Save the configuration changes.
AdminConfig.save()
- Configure CSI outbound communication authentication.
Outbound authentication refers to the configuration that determines the type of authentication performed for outbound requests to downstream servers.
- Start the wsadmin scripting tool.
- Determine the settings to specify for CSI outbound communication.
The configureCSIOutbound command configures various settings for CSI outbound communication.
Parameter Description -securityDomainName Name of the security configuration. If we do not specify a security domain name, the command modifies the global security configuration. (String) -enableAttributePropagation 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 Enable identity assertion. When using the identity assertion authentication method, the security token generated is a <wsse:UsernameToken> element containing a <wsse:Username> element. Specify true for the -enableIdentityAssertion parameter to enable identity assertion. (Boolean) -useServerIdentity Specifies 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 Specifies 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 Authentication mechanism to use. Specify KRB5 for Kerberos authentication, LTPA for Lightweight Third-Party Authentication, BasicAuth for basic authentication, and custom to use our own authentication token implementation. We can specify more than one, separated by the pipe character (|). (String) -clientCertAuth Specifies 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 The SSL configuration alias to use for inbound transport. (String) -statefulSession Enable a stateful session. Specify true to enable a stateful session. (Boolean) -enableCacheLimit Specifies whether to limit the size of the CSIv2 session cache. If we specify a true value, a limit is added to the cache size. The value of the limit is determined by the values that we 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 we set the -statefulSession parameter to true. (Boolean) -maxCacheSize 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 we 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 we set the -enableCacheLimit parameter to true and the value of the -maxCacheSize parameter is exceeded. Consider decreasing the value for this parameter if the 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 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...
AdminTask.configureCSIOutbound('-securityDomainName testDomain -enableIdentityAssertion true -trustedId myID -trustedIdentityPassword myPassword123 -messageLevelAuth Required -trustedTargetRealms realm1|realm2|realm3')
- Save the configuration changes.
AdminConfig.save()
Related:
Local operating system registries Configure security domains using scripting Mapping resources to security domains using scripting Removing resources from security domains using scripting Removing security domains using scripting Start the wsadmin scripting client SecurityConfigurationCommands