A policy set is a container for the WS-Security and WS-RM policy types.
A policy set binding is associated with a policy set and contains information that
is specific to the environment and platform, such as information about keys.
Use policy sets and
bindings to define the following items for both request and response
SOAP messages:
- Authentication for the following tokens:
- Username tokens (requires a security profile to specify the external
security provider)
- X.509 certificates (requires the integration node keystore and truststore,
or a security profile to specify the external security provider)
- SAML assertions, using SAML 1.1 or 2.0 pass-through (requires
a security profile to specify the external security provider)
- LTPA tokens, using LTPA pass-through (requires a security profile
to specify the external security provider)
- Asymmetric encryption (confidentiality) using X.509
certificates (requires the integration node keystore and truststore)
- Symmetric encryption (confidentiality) using Kerberos
tokens (requires the host to be configured for Kerberos)
- Asymmetric signature (integrity) (requires the integration node keystore
and truststore)
Either the whole SOAP message body, or specific parts of the SOAP
message header and body can be encrypted and signed.
You administer policy sets and bindings from IBM Integration
Toolkit, where you
can add, delete, display and edit policy sets and bindings. Any changes to policy sets
or bindings are saved directly to the associated integration node. You must stop and then restart the message
flow for the new configuration information to take effect.
You can also export policy sets and bindings from an integration node
and import the policy sets and bindings to another integration node, by using commands.
For more information, see the following topics:
Note: Policy sets and their associated bindings must be exported and imported
together.
Policy sets are associated with a message flow, a node (or both) in the BAR file editor. For convenience, you can specify
settings for provider and consumer at the message flow level.
The provider setting applies to all SOAPInput and
SOAPReply nodes in the message flow. The
consumer setting applies to all SOAPRequest, SOAPAsyncRequest, and SOAPAsyncResponse nodes. Individual policy set
and binding assignments can be applied at the node level in the BAR editor, and these take precedence over the
flow-level provider and consumer settings. The default setting is none,
meaning that no policy set and bindings are to be used. For more information, see Associating policy sets and bindings with message flows and nodes.
Several nodes in the same message flow can refer to the same policy
set and bindings. It is the responsibility of the administrator to
ensure that the required policy sets are available to the integration node at
run time. An error is reported if the integration node cannot find the associated
policy set or bindings.
The rest of this topic describes some of the terms that you will
meet when configuring policy sets and bindings.
Default policy set
and bindings
When an integration node is created, a default policy
set and bindings are created called WSS10Default. This default contains
a limited security policy which specifies that a Username token is
present in request messages (inbound) to SOAPInput nodes in the associated
message flow. A default WS-RM policy set called WSRMDefault
is also created.
The default policy set binding refers
to the default WSS10Default policy set, but not to WSRMDefault.
They are not editable.
Consumer and provider
nodes
Nodes are either consumers or providers.
- Consumer nodes
- SOAPRequest
- SOAPAsyncRequest
- SOAPAsyncResponse
- Provider nodes
-
Request and response
Request
and response is a message exchange pattern (MEP). It describes a client
that sends a SOAP Request message to a web services server, which
in turn sends a Response SOAP message back to the client. The Request
message is always the SOAP message from the client to the server,
and the Response message is always the SOAP message reply from server
to the client. The following table describes this pattern in relation
to the
IBM Integration Bus SOAP nodes:
Node |
Integration node viewpoint |
Request |
Response |
SOAPInput |
SOAP message inbound |
Inbound message |
Not applicable |
SOAPReply |
SOAP message outbound |
Not applicable |
Outbound message |
SOAPRequest |
SOAP message outbound followed by a SOAP message
inbound |
Outbound message |
Inbound message |
SOAPAsyncRequest |
SOAP message outbound |
Outbound message |
Not applicable |
SOAPAsyncResponse |
SOAP message inbound |
Not applicable |
Inbound message |
Initiator and recipient
Initiator
and recipient are roles defined in the exchange of SOAP messages.
- Initiator
- The role that sends the initial message in a message exchange.
- Recipient
- The targeted role to process the initial message in a message
exchange.
The following table describes these roles in relation
to the SOAP nodes:
Node |
Integration node viewpoint |
Initiator |
Recipient |
SOAPInput |
SOAP message inbound |
External client sending SOAP message to the
integration node. |
SOAPInput node |
SOAPReply |
SOAP message outbound |
External client that sent the original SOAP
message to the integration node. |
SOAPReply node |
SOAPRequest (outbound) |
SOAP message outbound followed by a SOAP message
inbound |
SOAPRequest node
|
External provider receiving the SOAP message |
SOAPRequest (inbound) |
SOAP message outbound followed by a SOAP message
inbound |
SOAPRequest node |
External provider receiving the SOAP message |
SOAPAsyncRequest |
SOAP message outbound |
SOAPAsyncRequest node |
External provider receiving the SOAP message |
SOAPAsyncResponse |
SOAP message inbound |
SOAPAsyncRequest node |
External provider receiving the SOAP message |
SOAPInput and SOAPReply nodes
In this
diagram, the integration node acts as recipient. A
SOAPInput node receives a message
from a client (initiator). A
SOAPReply node replies. Inbound
and outbound messages are signed and encrypted.
In
the request:- The initiator uses the integration node's public encryption token to encrypt
the message, and its own private signature token to sign it.
- The integration node uses its own private encryption token to decrypt the
message, and the initiator's public signature token to verify the
signature.
In the response: - The integration node uses the initiator's public encryption token to encrypt
the message, and its own private signature token to sign the message.
- The initiator uses its own private encryption token to decrypt
the message, and the integration node's public signature token to verify the
signature.
SOAPRequest node
This
diagram shows the integration node acting as an initiator. It uses the
SOAPRequest node to make a
synchronous request to an external provider (the recipient). Inbound
and outbound messages are signed and encrypted. Use of tokens is similar
to the example of the asynchronous SOAP nodes, shown earlier.
In the request:- The integration node uses the recipient's public encryption token to encrypt
the message, and its own private signature token to sign the message.
- The recipient uses its own private encryption token to decrypt
the message, and the integration node's public signature token to verify the
signature.
In the response: - The recipient uses the integration node's public encryption token to encrypt
the message, and its own private signature token to sign the message.
- The integration node uses its own private encryption token to decrypt the
message, and the initiator's public signature token to verify the
signature.
Asynchronous SOAP nodes
This diagram shows
the integration node acting as an initiator. It uses the asynchronous SOAP nodes
to make a request to an external provider (the recipient). Inbound
and outbound messages are signed and encrypted.
In the
request:- The integration node uses the recipient's public encryption token to encrypt
the message, and its own private signature token to sign the message.
- The recipient uses its own private encryption token to decrypt
the message, and the integration node's public signature token to verify the
signature.
In the response: - The recipient uses the integration node's public encryption token to encrypt
the message, and its own private signature token to sign the message.
- The integration node uses its own private encryption token to decrypt the
message, and the initiator's public signature token to verify the
signature.