Security profiles

A security profile defines the security operations that are to be performed in a message flow at SecurityPEP nodes and security enabled input and output nodes.

Security profiles are configured by the integration administrator before deploying a message flow, and are accessed by the security manager at run time.

A security profile allows an integration administrator to specify whether authentication, authorization, mapping, and propagation are to be performed on the identity or security tokens associated with messages in the message flow. You can create a security profile for use with an external security provider (also known as a Policy Decision Point or PDP) to provide security enforcement and mapping. IBM® Tivoli® Federated Identity Manager (TFIM) V6.1 and WS-Trust v1.3 compliant Security Token Service (including TFIM V6.2) are supported for authentication, authorization, and mapping. Lightweight Directory Access Protocol (LDAP) is supported for authentication and authorization. As an alternative to using an external security provider for authentication, you can create a security profile for authenticating against credentials that are held locally in the integration server's vault, as described in Authenticating incoming requests by using credentials stored in the vault.

Security profiles apply to the following security-enabled message flow nodes:
  • CICSRequest
  • HTTPInput
  • HTTPRequest
  • HTTPAsyncRequest
  • IMSRequest
  • MQInput
  • MQOutput
  • MQReply
  • RESTRequest
  • RESTAsyncRequest
  • SAPRequest
  • SecurityPEP
  • SiebelRequest
  • SOAPInput
  • SOAPReply
  • SOAPRequest
  • SOAPAsyncRequest
These nodes have a Security Profile property, in which you can specify the name of the security profile that determines the type of security that is configured for the node. If the named security profile does not exist at run time, the message flow fails to deploy. If a specified external security provider does not support the type of token configured on the node for the security operation, an error is reported and the message flow fails to deploy. If the security profile specifies local authentication, but the credentials have not been created or the alias name is not matching, the deployed message flow will fail to start. For more information, see Authenticating incoming requests by using credentials stored in the vault.

Security profiles can be configured by the administrator at deployment time in the BAR file editor. The security-enabled nodes have a Security Profile property in the BARfile editor, which can be left blank, set to No Security, or set to a specific security profile name. Set No Security to explicitly turn off security for the message flow node. If the Security Profile property is blank, the node inherits the Security Profile property that is set at the message flow level. If the Security Profile property is left blank at both levels, security is turned off for the message flow node.

The security profile also specifies whether propagation is required. A pre-configured profile that specifies propagation is provided for use by output and request nodes. This profile is the Default Propagation security profile. This profile can also be used on an input node to extract tokens and put them into the message tree ready for propagation or processing in a SecurityPEP node.

Security profiles contain values for the following properties:

alternateServers
Defines the comma-separated list of LDAP servers to failover when the primary server is not available. The list has the following format:
ldap[s]://host1:[port1], ldap[s]://host2:[port2], ldap[s]://host3:[port3]
After failover, the newly connected LDAP server becomes the primary server.
authentication
Defines the type of authentication that is performed on the source identity. For more information, see Authentication and validation.
authenticationConfig
Defines the information that the integration server needs to authenticate the identity, and can be one of the following values:
  • The configured alias name of the locally stored credentials in the integration server's vault. These credentials are used for basic authentication when the Authentication type is Local. For more information, see Authenticating incoming requests by using credentials stored in the vault.
  • The information that the integration server needs to connect to the external security provider and look up identity tokens. This property is in the form of a provider-specific configuration string.
mapping
Defines the type of mapping that is performed on the source identity. For more information, see Identity mapping.
mappingConfig
Defines how the integration node connects to the provider, and contains additional information required to look up the mapping routine. It is a provider-specific configuration string.
authorization
Defines the types of authorization checks that are performed on the mapped or source identity. For more information, see Authorization.
authorizationConfig
Defines how the integration node connects to the provider, and contains additional information that can be used to check access (for example, a group that can be checked for membership). It is a provider-specific configuration string.
passwordValue
Defines how passwords are treated when they enter a message flow. If PLAIN is selected, the password appears in the Properties folder in plain text. If OBFUSCATE is selected, the password appears in the Properties folder in base64 encoding. If MASK is selected, the password appears in the Properties folder as four asterisks (****).
propagation
Enables or disables identity propagation on output and request nodes. On the security enabled input nodes, you can choose to select only identity propagation, without specifying any other security operations, to make the extracted incoming identity or security token available for use in the other nodes in the message flow, such as output or request nodes. For more information, see Identity and security token propagation.
idToPropagateToTransport
Enables the use of a specific security identity for propagation. Set the value to STATIC ID, and set the security identity by using the transportPropagationConfig parameter.
transportPropagationConfig
Provides a specific security identity to propagate when idToPropagateToTransport is set to STATIC ID. Set the value to the name that you associate with the static user name and password identity when you run the mqsicredentials command. Alternatively, you can use the mqsisetdbparms command. For more information, see Configuring a message flow for identity propagation.

For information about configuring settings for the security profile, see Creating a security profile.