You can configure the DataPower Gateway (v5 compatible) to prepare for a registration
with the API Connect Management server.
Before you begin
- These instructions are for DataPower® API Gateway deployments in
a non-Kubernetes environment. Do not use these instructions if you installed API Connect on Kubernetes,
with your DataPower API Gateway Service also
in the Kubernetes environment. To review deployment scenarios, see Deploying DataPower Gateway virtual appliance.
- Ensure you have installed a version of DataPower API Gateway that is
compatible with the version of the API Connect Management
server. See Installing DataPower Gateway.
- A shared certificate and private key is used for securing the communication between the API Connect Management
server and the gateway. See Generating keys and certificates in the appropriate version of the DataPower documentation for
instructions on how to create them with the DataPower tools.
- Ensure that the time zone for the DataPower API Gateway is set to
UTC.
About this task
- These instructions provide the basic steps for configuring a gateway service with a single
gateway server. The lowest-level configuration objects are created first, then used in other
configuration objects.
- Adding gateways to configure a peering environment is similar to creating the first gateway, and
is recommended for resiliency in a production environment. A minimum of three gateway servers in a
gateway service is recommended for high availability. See Gateway peering in the DataPower
documentation for more information about configuring additional gateways for peering. See
Providing the gateway service to API Connect in the DataPower
documentation for more details about the DataPower settings and
procedures.
Procedure
To configure a DataPower gateway to communicate with
API Connect, complete
the following steps:
-
Open the DataPower
WebGUI interface.
Most of the configuration procedure is done in the DataPower WebGUI interface, not in
the Blueprint Console.
-
Enable the XML management interface in the default domain, if required. The XML
management interface is required for DataPower Gateway (v5 compatible). The XML
management interface is optional for DataPower API Gateway.
-
Search for XML management interface in the navigation search bar, and select it.
-
Set the Administrative state to enabled.
-
You can specify a different port number if you do not want to use the default of
5550
.
-
Select Apply to make the changes
-
Save changes to the default domain by selecting Save
Configuration.
-
Create an application domain.
This domain receives your traffic. The name of the DataPower domain where you configure
the API Connect Gateway Service must be the same on each DataPower Gateway.
-
Search for Application domain in the navigation search bar, and select
it.
-
Select Add to create the application domain.
-
Enter a unique name for your domain.
-
Ensure that enabled is selected for the Administrative state.
-
Ensure that the default domain is listed in the Visible application
domain list.
-
Select Apply.
-
Change to your new application domain by selecting Domain in the menu
bar, and selecting the domain that you created.
-
Select Save changes and switch domains.
All of the remaining steps on the DataPower gateway must be done in the
application domain that you created.
-
Save changes to the domain by selecting Save Configuration.
-
For the DataPower Gateway (v5 compatible) only: Enable
statistics in the domain you created for API Connect.
-
Search for and select Statistics settings in the navigation
search.
-
Select enabled for the Administrative state.
-
Select Apply.
- Ensure that your deployment includes an NTP server to synchronize time
between each of the DataPower Gateways.
- Ensure that you have set a unique
System Identifier
for
each v10 DataPower gateway. See Initializing the DataPower
Gateway.
-
Create a self-signed certificate and private key to be used to protect the traffic between the
management server and the API gateway service process. You can generate a certificate and private
key using DataPower or by using other tools, such as OpenSSL. See Generating keys and certificates in the appropriate version of the DataPower documentation for
instructions on how to create a crypto key with the DataPower tools.
-
Upload your private crypto key file to the domain.
-
Search for Crypto key in the navigation search bar, and select it.
-
Select Add to create a key object.
-
Create a unique name for the key object in the Name field.
-
Select Upload....
-
Browse for the key file (which must be a .pem or .p12
file) and select it.
-
If you want to rename it, enter a new name for the file.
-
Select Upload to move it to the server in the
cert:// folder.
-
Select Apply to save the changes.
-
Upload your crypto certificate file to the domain.
Note: If your certificate is signed by an Intermediate CA, you must include the entire chain in a
single key file (either .pem or .p12) for
uploading.
-
Search for Crypto certificate in the navigation search bar, and select
it.
-
Select Add to create a certificate object.
-
Create a unique name for the certificate object in the Name field.
-
Select Upload....
-
Browse for the key file (which must be a .pem or .p12
file) and select it.
-
If you want to rename it, enter a new name for the file.
-
Select Upload to move it to the server in the
cert:// folder.
-
Select Apply to save the changes.
-
Associate the Crypto key with the Crypto certificate by setting the Identification
credential.
-
Search for Crypto Identification Credentials in the navigation search
bar, and select it.
-
Select Add.
-
Enter a name for your credential.
-
Ensure that the Administrative state has a value of enabled.
-
In the Crypto Key field, select the name of the key object that you
created from the drop-down menu.
-
In the Certificate object field, select the name of the certificate
object that you created from the drop-down menu.
-
Select Apply to commit your changes.
-
Create your TLS Client profile.
-
Search for TLS Client profile in the navigation search bar, and select
it.
-
Select Add to create a client profile.
-
Create a unique name for the profile in the Name field.
-
Select your Identification credential from the drop-down list.
-
Ensure that the value of Validate server certificate is set to
off.
-
Ensure that the value of Use SNI is set to
on.
-
Select Apply to save the changes.
-
Create your TLS Server profile.
The TLS Server profile secures your gateway director endpoint. When you
register your gateway
service in the
Cloud
Manager UI,
the gateway returns the server certificate that you configure in this TLS Server
profile.
-
Search for TLS Server Profile in the navigation search bar, and select
it.
-
Select Add to create a server profile.
-
Create a unique name for the profile in the Name field.
-
Select your Identification credential from the drop-down list.
-
Select Apply to save the changes.
Important: Do not disable
Request client authentication unless
you
enable JWT instead of mTLS. Client authentication is
essential for secure mTLS communication between your management and gateway subsystems.
-
Configure your gateway peering object for the API Connect Gateway
Service.
This step is required when you set up a peer group of gateways, even if there is only a single
gateway server in the gateway service.
-
Search for Gateway peering in the navigation search bar, and select
it.
-
Select Add.
-
Enter a unique name for your gateway peering object.
-
Ensure that the Administrative state has a value of enabled.
-
Select a local address for the communications among the members of the peer group.
-
Select a local port for the communication.
You can use the default value of 16380.
-
Select a monitor port for the communication.
You can use the default value of 26380.
-
Because this procedure uses only one gateway, ensure that Peer group
mode is not selected.
-
Clear the Enable TLS check box. TLS is not needed for a single
peer.
- Set the Persistence location value to
Memory
for either physical
DataPower appliance or virtual DataPower appliance.
-
Select Apply to commit your changes.
-
Set the API Connect
Gateway service to define the communication interface with the API Connect Management
server and for API transactions.
-
Search for API Connect Gateway service in the navigation search bar, and
select it.
-
Ensure that the Administrative state is set to enabled.
-
In the Local address field, enter the IP address of the DataPower gateway to which you want
the traffic from the API Connect Management
server to be sent.
-
Use the default port value of 3000 for the Local port.
-
In the TLS client field drop-down list, select the name of the TLS
client profile that you created.
-
In the TLS server field drop-down list, select the name of the TLS
server profile that you created.
-
In the API gateway address field, enter the IP address for the DataPower gateway to which you want
the API traffic sent.
-
Use the default port value of 9443 for the API gateway port.
If the port is not being used by another service, you can also change it to port 443 if you
want API transactions to be sent to the default port for HTTPS.
-
For DataPower Gateway (v5 compatible), select the
gateway peering object that you created in Step 13.
-
Select whether you want the DataPower Gateway (v5 compatible) or the DataPower API Gateway.
When the option is selected, it enables the registration of a DataPower Gateway (v5 compatible) gateway.
- Optional: Enable JWT security instead of
mTLS for communication from management to gateway. JWT security provides application layer security
and can be used instead of mTLS when load-balancers are located between subsystems that require TLS
termination. For more information about JWT security, see Enable JWT instead of mTLS.
To enable JWT and disable mTLS on the gateway appliance, see
Configuring the API Connect gateway service in the DataPower documentation. The JWKS URL
required to enable JWT security can be found in the management subsystem
settings:
apicup subsys get <management subsystem name>
...
jwks-url https://appliance1.apic.acme.com/api/cloud/oauth2/certs JWKS URL for Portal and analytics subsystems to validate JWT -- this is unsettable and is generated based on the platform-api endpoint
...
-
Register the gateway service in the API Connect Cloud Manager
console:
-
Open the API Connect Cloud Manager console.
-
Navigate to Configure Topology.
-
Select Register Service.
-
Select DataPower
Gateway (v5 compatible) for the gateway
that was available in version 5.
-
Add a title, name, and summary for the gateway connection.
- Optional:
Configure the OAuth Shared Secret.
This setting allows OAuth tokens to be shared across multiple gateway services.
-
Enter one of the following values in the API Invocation Endpoint
field:
- Fully qualified domain name of the load balancer for the API transactions
- Fully qualified domain name of one of the gateways
Note: You can also add load balancer or gateway IP address in the API Invocation
Endpoint field, but it is recommended to use the fully qualified domain names.
For example:https://API-endpoint.DomainName:9443/
-
Enter the one of the following values in the Management Endpoint
field:
- Fully qualified domain name of the load balancer for the management server traffic set to port
3000
- Fully qualified domain name of one of the gateways
Note: You can also add load balancer or gateway IP address in the Management
Endpoint field, but it is recommended to use the fully qualified domain names.
For example:https://Gateway-Mgmt.DomainName:3000/
-
Select the default TLS Client Profile
- Optional:
Configure Server Name Indication (SNI) profiles.
SNI profiles allow different TLS certificates to be used for API transaction requests from
different host names.
- Enable logging for the gateway.
- Use the CLI to configure the following log target in the API Connect application domain:
switch domain <apiconnect_domain>
configure terminal
logging target gwd-log
type file
format text
timestamp zulu
size 50000
local-file logtemp:///gwd-log.log
event apic-gw-service debug
exit
apic-gw-service;admin-state disabled;exit
apic-gw-service;admin-state enabled;exit
write mem
exit
- Repeat this set for every gateway server in the cluster.