To ensure that your federated environment is secure, plan the security aspects for your
topology before you install Process Federation Server
and federated systems.
Note:Process Federation Server is not available in
IBM® Business Automation Workflow
Express.
User authentication
A common user registry is required for Process Portal, Process Federation Server, and the business process management
systems, so that authenticated users can access the entire environment. Supported user registries
include LDAP and custom user registry. In development and test environments, you can also use a
file-based basic registry.
To provide Process Portal users access to all
the systems across the federated environment, configure single sign-on (SSO). SSO ensures that users
can access Process Federation Server and federated
systems through their browsers. It also ensures that requests that are forwarded from Process Federation Server to federated systems are authorized. A
typical SSO solution uses cookies that are saved in the user's browser after the initial login. For
the cookies to be accepted by all the systems, the domain names across the federated environment
must be the same. For example, in your federated environment, Process Portal is available at
portal.mycompany.com, Process Federation Server at pfs.mycompany.com,
and the federated systems at bpm1.mycompany.com and
bpm2.mycompany.com. In both quick-start and production environments, browser
clients must use the full domain name to access any system in the federated environment. For
example, to access Process Portal, browser clients
must use portal.mycompany.com.
Secured communications
Communications are secured with Secure Sockets Layer (SSL) protocol. The SSL protocol provides
transport-layer security that includes authenticity, data signing, and data encryption to ensure
secure communication between a client and server. In a federated environment, a component can act as
a server to one component, and as a client to another component.
From IBM Business Automation
Workflow 18.0.0.2, as an alternative to the default
implementation of Process Federation Server with an
embedded Elasticsearch 1.7.2 node, you can use a remote Elasticsearch 6.x cluster. If you choose to
work with a remote Elasticsearch cluster, you can also use SSL to secure communications between
Process Federation Server and the external cluster. In
this case, you must also import the certificates of the Elasticsearch nodes into the Process Federation Server trustore.
SSL is managed through digital certificates. Each server maintains a signed digital certificate
in a keystore, and each client must have a corresponding signer certificate in a truststore. Because
a component can be both a server and a client, pay close attention to client and server
relationships when you configure SSL for your federated environment.
Secured communications in a quick-start environment
The following figure shows how to secure communication in a development or test environment. Figure 1. Quick-start environment
Client communication with each of the servers is secured with SSL. The client must accept all
certificates from the servers it communicates with.
Of the servers that are shown in Figure 1,
only Process Federation Server has a configured
truststore for the communication with the business process management systems through their REST
services. Because SSL is optional for REST services, you can therefore eliminate all server-side SSL
for development environments that do not require security. To simplify security configuration in a
quick start development environment, configure Process Federation Server to connect to the REST services
through the HTTP port on the business process management system instead of the secured HTTPS
port.
Secured communications in a fully secured production environment
The following figure shows where keystore and truststore certificates must be installed for
secured communications in a production environment.Figure 2. Production environment
Client communication with each of the servers is secured with SSL by default. The client must
accept all certificates from the HTTP Servers it communicates with.
For secure server-to-server
communication, configure SSL between each component. Each component that acts as a client to another
component must have a signer certificate in a truststore. You therefore need to have an overall plan
for signer certificates. For example, configure all the servers to use certificates that are signed
by a certificate authority (CA). The CA can be a third-party CA, or a CA that is internal to your
organization. You then have a single common signer certificate that you can import into each
truststore.
Secured client application communication
A browser that displays Process Portal (or a custom client application) must
have the following signer certificates:
If the browser connects directly to the federated environment, a signer certificate for each of
the process federation servers and federated systems that it communicates with.
If the browser connects to the federated environment through IBM HTTP Server, a signer
certificate for each of the IBM HTTP Servers.
To increase security and simplify configuration, use certificate authority (CA) signed
certificates that are trusted by the users' browsers for all the components in your federated
environment.
If CA-signed certificates are not used, for example, in a
development or test environment, users must import signer certificates into their browsers before
they use Process Portal in the federated environment. The signer certificate can be manually
imported into the browser. Alternatively, the user can go to the URL for each component in the
federated environment that Process Portal communicates with, and accept the certificate when
prompted.
The browser that displays Process Portal or the custom client application makes requests to Process Federation Server and federated systems. Because the
requested services are not on the system that originated Process Portal or the custom client application, the
federated components use CORS to enable the browser to trust the cross-origin requests. You must
therefore configure a list of allowed origins for Process Federation Server and the federated systems. The allowed
origin is the web server that hosts Process Portal
or the custom client. For more information, see Configuring allowed origins for Process Portal .