- 23 Jan 2023
- 5 Minutes to read
-
Print
Mulesoft with XML Plugin
- Updated on 23 Jan 2023
- 5 Minutes to read
-
Print
Mulesoft is an integration platform that help different businesses connect their data, devices, and applications for both cloud computing and on-premise deployments. Mulesoft's Anypoint Platform™ is a solution for API-led connectivity that creates an application network of apps, data, and devices for both on-premise and cloud deployments. Traceable provides a policy that can help you in protecting your APIs. You can attach the Traceable policy to any API registered on the Anypoint platform for security and monitoring purpose. The following diagram shows the high-level deployment of Traceable policy in your environment.
Before you begin
Before proceeding to attach Traceable policy to an API on your Mulesoft Anypoint Platform, make a note of the following points:
- Maven (
mvn
) must be installed. - You should have access and permission to upload artifacts to Mulesoft exchange in your organization's Mulesoft Anypoint Platform account.NoteTo upload Traceable's custom policy to Mulesoft Exchange, you must have the exchange contributor's role assigned to you. For more information, see Uploading a Custom Policy to Exchange.
- In your Maven installation directory, update the
settings.xml
file with your Exchange credentials.ActionScript<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <servers> <server> <id>exchange-server</id> <username>myusername</username> <password>mypassword</password> </server> </servers> </settings>
myusername
andmypassword
are your username and password to log in to Mulesoft account. - Keep the IP address of your Traceable agent handy. You would need this IP address to configure the Traceable's Mulesoft policy.
The process to attach Traceable's policy consists of two steps:
- Download the policy from Traceable's download site and then upload to Mulesoft's Exchange
- Attaching the policy to the API in Mulesoft.
Step 1 – Download the policy and upload to Mulesoft Exchange
Complete the following steps to download and unzip Traceable's policy:
- Navigate to Traceable's download site and then navigate to agent > mulesoft > latest.
- Download and unzip the downloaded file.
- Change directory to the Mulesoft policy directory:ActionScript
cd traceable-mule-policy
- Navigate to Traceable policy:ActionScript
cd traceable
- Edit the
pom.xml
file to update your Mulesoft's organization ID:ActionScript<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--UPDATE GROUP ID--> <groupId>4c2d42c8-910d-42fe-8f21-bc76f21ef3fe</groupId> <artifactId>traceable</artifactId> <version>1.14.0</version>
- Deploy the Traceable policy. Enter the following command:ActionScript
mvn clean deploy
- Verify in your Mulesoft Anypoint Platform Exchange whether Traceable policy is present or not.
Upload policy to Mulesoft Exchange using Connected App credentials
There is an alternative method to upload the Traceable policy to Mulesoft Exchange using Connected App credentials. You can choose either this method or the one described in the previous section.
MuleSoft Connected Apps is a feature within the MuleSoft Anypoint Platform that allows users to create and manage connections to external systems and services, such as SaaS applications, databases, and web services. These connections can then be used in MuleSoft's integration solutions, such as APIs and integrations, to facilitate communication and data exchange between different systems. By using Connected Apps, developers can quickly and easily connect to a wide variety of systems and services without the need to manually configure and manage the connections. Additionally, Connected Apps can be easily shared and reused across different projects and teams, making it easier to maintain and manage the connections.
Mulesoft Connected Apps are usually used in integration solutions, such as APIs and integrations, to facilitate communication and data exchange between different systems. It also provides a way to manage the connections and share them across teams.
Complete the following steps:
- Navigate to Traceable's download site and then navigate to agent > mulesoft > latest.
- Unzip the downloaded file.
- Change directory to Mulesoft policy directory.ActionScript
cd traceable-mule-policy
- Navigate to Traceable policy.ActionScript
cd traceable
- Update the groupId in pom.xml file to your Mulesoft organization's ID.ActionScript
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--UPDATE GROUP ID--> <groupId>4c2d42c8-910d-42fe-8f21-bc76f21ef3fe</groupId> <artifactId>traceable</artifactId> <version>1.15.0</version>
- Build the Traceable policy. Enter the following command:ActionScript
mvn clean install
- Fetch a bearer token using the credentials connected app, client ID, and secret.
client_id
andclient_secret
are the ID and secret of the Connected App.ActionScriptcurl --location --request POST https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'client_id=' \ --data-urlencode 'client_secret=' \ --data-urlencode 'grant_type=client_credentials'
- Publish the policy by running the following. Make sure to enter all the values in the <> brackets. The
traceable_version
is the version of Traceable's Mulesoft policy.ActionScriptcurl -v \ -H 'Authorization: bearer ' \ -H 'x-sync-publication: true' \ -F 'files.pom=@/path/to/traceable-mule-policy/traceable/pom.xml' \ -F 'files.mule-policy.jar=@/path/to/traceable-mule-policy/traceable/target/traceable--mule-policy.jar' \ -F 'files.policy-definition.yaml=@/path/to/traceable-mule-policy/traceable/traceable.yaml' \ https://anypoint.mulesoft.com/exchange/api/v2/organizations/<org_id>/assets/<org_id>/traceable/<traceable_version>
- Verify in your Mulesoft Anypoint Platform Exchange whether Traceable policy is present or not.
Step 2 – Attach the policy
You can attach the policy to the API at a global or at an individual API level.
Option 1 – Attach using automated policy
You can attach Traceable's agent for Mulesoft as a policy that would apply to all the APIs. You can achieve this using Mulesoft's Automated policy option. Complete the following steps:
- Login to your Anypoint Platform and navigate to API Manager.
- Click on Automated Policies from the left navigation menu.
- Click on add automated policy in the Automated Policies page.
- Search for the Traceable policy. Select the appropriate policy and click on Next.
- Enter the different values to configure Traceable. Make sure to configure
TA REPORTING ENDPOINT
. The value should behttp://traceable_platform_agent_host:5442/ext_cap/v1/req_res_cap
. If you wish, you can use the default values for the rest of the properties, or you can modify them. - Click on Apply to apply the policy.
Option 2 – Attach policy to an API
Complete the following steps to attach the Traceable policy to the APIs that you wish to secure:
- Login to your Anypoint Platform and navigate to API Manager.
- Select the API to which you wish to attach the Traceable policy.
- Click on the Policies option as shown below
- Click on Add policy
- Search for Traceable policy. Select the policy.
- Add the Traceable Platform agent's IP address. The value should be
http://traceable_platform_agent_host:5442/ext_cap/v1/req_res_cap
. - Update the other configurations, or you can use the default values.
- Apply the policy.
Configuration options
The following table describes the various configuration options.
Property | Value |
---|---|
TA REPORTING ENDPOINT | This is a mandatory value. The value should be http://traceable_platform_agent_host:5442/ext_cap/v1/req_res_cap |
TA DATA CAPTURE BODY MAX SIZE BYTES (Optional) | true or false |
TA DATA CAPTURE HTTP BODY REQUEST (Optional) | true or false |
TA DATA CAPTURE HTTP BODY RESPONSE (Optional) | true or false |
TA DATA CAPTURE HTTP HEADERS REQUEST (Optional) | true or false |
TA DATA CAPTURE HTTP HEADERS RESPONSE (Optional) | true or false |
TA DATA CAPTURE ALLOW CONTENT TYPES (Optional) | List of values without spaces (json,graphql,x-www-form-urlencoded) |
TA DATA CAPTURE COMPRESS GZIP (Optional) | true or false . The default value is false .Note If you change the value to true , make sure that your minimum Traceable Platform agent version is 1.27.0 or later. |
Following is a short demo to add the Traceable policy in Mulesoft's Anypoint Platform:
Verification
To verify whether the policy successfully attached to the API in Mulesoft, navigate to Traceable platform. Click on Administration > Data Collection > Tracing agents. Check if Mulesoft agent is displayed and the status is active. You can further check for spans in API Analytics or API Activity under API Catalog.
Upgrade and uninstall
To upgrade the policy, follow the steps in mentioned in Step -1 section to add the new policy to Mulesoft's Exchange. After you have added the new policy to Mulesoft Exchange, complete the following steps:
- Navigate to the API for which you want to upgrade the policy.
- Click on the Policies option.
- Click on the menu item as shown below.
- Click on Check for updates to update the policy.
If you wish to uninstall the policy, click on Remove policy.