Configuring Organization Credentials in Mule Runtime 3
Organization credentials provide a way to uniquely identify an organization, Business group, or specific environment, when linking Mule runtime to an Anypoint organization.
Credentials are composed by two keys: Client ID and Client Secret.
Mule runtime uses these credentials to connect and access your Anypoint organization.
The recommended way to link a Mule runtime to API Manager, is by using the environment’s Client ID and Secret. You may also use the organization’s Client ID and Secret, or even you can use business group credentials if you want to track APIs defined in Business groups while Mule runtime is linked to a parent Business group.
The identification of a unique resource with two keys (i.e. Client ID and Client Secret) is also used when identifying a client application.
Client application credentials are not to be used as organization credentials. No harm is done if you choose to do so, but it will not link Mule runtime to the organization.
To pair your Mule runtime to your Anypoint Organization, the Runtime must start with Anypoint Platform credentials already configured.
Obtaining Credentials
Obtaining Environment’s Credentials (Recommended)
-
Log in to Anypoint Platform as an administrator, and click Access Management.
-
Click the Environments tab and click on the name of your environment within your desired organization.
Remember that environment credentials are only available in the post-crowd (November 2017) release version of the platform.
Configuring Credentials for Standalone Deployments
Automatic Runtime Manager Agent Setup Mechanism
If you are setting up a stand alone instance, and you would like to register the Runtime Manager agent:
-
Log in to Anypoint Platform as an administrator, and click Runtime Manager.
-
Click the Servers tab, then Add Server.
-
Run the command you are prompted to run. This command looks similar to this:
<MULE_HOME>/bin/./amc_setup -H bb123456-789c-1234-9fd3-58f4b5e2d82e---123 server-name
Where
MULE_HOME
is a variable holding the root directory of your Mule runtime installation. For example,/opt/Mule/mule-enterprise-standalone/
.
Executing this command configures your runtime agent, and the automtatically adds the correct organization credentials to your Mule runtime with the correct organization credentials and URLs, so your Mule runtime is linked to a specific organization.
After registering the agent, the wrapper.conf file is modified with the required data so configuration changes are made persistent.
Manual Configuration
If you are setting up an on premises instance to point to a specific organization, you need to add your credentials in the wrapper.conf
file (persistent approach) or specifying the credentials data using the command line.
Using the Wrapper.conf File
The configuration file is placed in the <MULE_HOME>/conf
directory, where MULE_HOME is a variable holding the root directory of your Mule runtime installation.
-
Navigate to your $MULE_HOME directory.
-
Open the file located in
/conf/wrapper.conf
. -
Add your Anypoint Platform Organization credentials like shown below:
wrapper.java.additional.<n>=-Danypoint.platform.client_id=XXXXXXXX (1) wrapper.java.additional.<n>=-Danypoint.platform.client_secret=XXXXXXXX wrapper.java.additional.<n>=-Danypoint.platform.platform_base_uri=https://www.anypoint.mulesoft.com/apiplatform wrapper.java.additional.<n>=-Danypoint.platform.coreservice_base_uri=https://www.anypoint.mulesoft.com/accounts wrapper.java.additional.<n>=-Danypoint.platform.contracts_base_uri=https://www.anypoint.mulesoft.com/apigateway/ccs wrapper.java.additional.<n>=-anypoint.platform.analytics_base_uri=https://analytics-ingest.anypoint.mulesoft.com
1 <n>
should be a unique number, not used by any other entry in that file. We recommend you to use the next incremental value over the previous entries in the list.
If two or more lines use the same <n>
identifier, only the first value with that number is taken into account.
+ If your organization is defined in the EU control plane, you need to define the EU specific URLs:
+
wrapper.java.additional.<n>=-Danypoint.platform.base_uri=https://eu1.anypoint.mulesoft.com/apiplatform
wrapper.java.additional.<n>=-Danypoint.platform.coreservice_base_uri=https://eu1.anypoint.mulesoft.com/accounts
wrapper.java.additional.<n>=-Danypoint.platform.contracts_base_uri=https://eu1.anypoint.eu1.mulesoft.com/apigateway/ccs
wrapper.java.additional.<n>=-anypoint.platform.analytics_base_uri=https://analytics-ingest.eu1.anypoint.mulesoft.com
+ The same applies if you are pointing at an organization defined in a Private Cloud Edition. You would need to provide the URLs for your Private Cloud Edition installation.
Using the Command Line
You can pass your credentials at start up time by using the following arguments:
MULE_HOME/bin/mule \
-M-Danypoint.platform.client_id=XXXXXXXX \
-M-Danypoint.platform.client_secret=XXXXXXXX \
-M-Danypoint.platform.platform_base_uri=https://www.anypoint.mulesoft.com/apiplatform \
-M-Danypoint.platform.coreservice_base_uri=https://www.anypoint.mulesoft.com/accounts \
-M-Danypoint.platform.contracts_base_uri=https://www.anypoint.mulesoft.com/apigateway/ccs \
-M-Dnypoint.platform.analytics_base_uri=https://analytics-ingest.anypoint.mulesoft.com
MULE_HOME\bin\mule.bat -M-Danypoint.platform.client_id=XXXXXXXX -M-Danypoint.platform.client_secret=XXXXXXXX -M-Danypoint.platform.platform_base_uri=https://www.anypoint.mulesoft.com/apiplatform -M-Danypoint.platform.coreservice_base_uri=https://www.anypoint.mulesoft.com/accounts -M-Danypoint.platform.contracts_base_uri=https://www.anypoint.mulesoft.com/apigateway/ccs -M-Dnypoint.platform.analytics_base_uri=https://analytics-ingest.anypoint.mulesoft.com
If your organization is defined in the EU control plane, you need to define the EU specific URLs:
MULE_HOME/bin/mule \
-M-Danypoint.platform.client_id=XXXXXXXX \
-M-Danypoint.platform.client_secret=XXXXXXXX \
-M-Danypoint.platform.platform_base_uri=https://eu1.anypoint.mulesoft.com/apiplatform \
-M-Danypoint.platform.coreservice_base_uri=https://eu1.anypoint.mulesoft.com/accounts \
-M-Danypoint.platform.contracts_base_uri=https://eu1.anypoint.mulesoft.com/apigateway/ccs \
-M-Dnypoint.platform.analytics_base_uri=https://analytics-ingest.eu1.anypoint.mulesoft.com
MULE_HOME\bin\mule.bat -M-Danypoint.platform.client_id=XXXXXXXX -M-Danypoint.platform.client_secret=XXXXXXXX -M-Danypoint.platform.platform_base_uri=https://eu1.anypoint.mulesoft.com/apiplatform
-M-Danypoint.platform.coreservice_base_uri=https://eu1.anypoint.mulesoft.
com/accounts -M-Danypoint.platform.contracts_base_uri=https://eu1.anypoint.mulesoft.com/apigateway/ccs -M-Dnypoint.platform.analytics_base_uri=https://analytics-ingest.eu1.anypoint.mulesoft.com
The same applies if you are pointing at an organization defined in a Private Cloud Edition. You would need to provide the URLs for your Private Cloud Edition installation.
Configuring Credentials for Anypoint Studio 6
You can configure Studio 7 to work with your Anypoint Platform organization for testing connectivity and governance applied to endpoints.
-
In Anypoint Studio, click Anypoint Studio from the top menu bar, and Preferences.
-
Under Anypoint Studio, click API Manager
-
Type in the client ID and secret under Environment Credentials:
Note that the default URIs are set by default.
If your organization is defined in the EU control plane, click the Override url configuration checkmark and add the necessary EU control plane URIs:
+
Field | URIs |
---|---|
API Platform URI |
https://eu1.anypoint.mulesoft.com/apiplatform |
Core Services URI |
https://eu1.anypoint.mulesoft.com/accounts |
Analytics URI |
https://eu1.anypoint.mulesoft.com/apigateway/ccs |
Contracts URI |
https://analytics-ingest.eu1.anypoint.mulesoft.com |
+ image::org-credentials-config-mule3-9d90b.png[align=center]
+ The same applies if you are pointing at an organization defined in a Private Cloud Edition. You would need to provide the URLs for your Private Cloud Edition installation.
Configuring Credentials in Runtime Manager for your Deployed Application.
Automatic Auto-generated Proxy Deploy Mechanism
You can deploy an auto-generated proxy from your API directly to Cloudhub.
-
Log in to Anypoint Platform as an administrator, and click API Manager.
-
From the list of available APIs, click the API version of the API from which you want to auto-generate a proxy.
-
Click the Settings tab, and navigate to the Deployment Configuration.
-
Configure your runtime version and your proxy application name, and click Deploy.
When you deploy a proxy using this mechanism, the system automatically configures the organization credentials (and URLs, if applicable) for you. You may take a look at them in Runtime Manager → <Application Name> → Settings → Properties.
Manual Configuration
-
Navigate to Runtime Manager in Anypoint Platform.
-
Access the Properties section of the deployed application. If the application is being deployed for the first time, the Properties section will appear during the deployment configuration.
-
In the Properties section, add the following properties:
anypoint.platform.client_id=XXXXXXXX anypoint.platform.client_secret=XXXXXXXX anypoint.platform.platform_base_uri=https://www.anypoint.mulesoft.com/apiplatform anypoint.platform.coreservice_base_uri=https://www.anypoint.mulesoft.com/accounts anypoint.platform.contracts_base_uri=https://www.anypoint.mulesoft.com/apigateway/ccs anypoint.platform.analytics_base_uri=https://analytics-ingest.anypoint.mulesoft.com
If your organization is defined in the EU control plane or using a Mule Private Cloud Edition, you should define the base URLS by adding two additional keys:
anypoint.platform.client_id=XXXXXXXX anypoint.platform.client_secret=XXXXXXXX anypoint.platform.platform_base_uri=https://eu1.anypoint.mulesoft.com/apiplatform anypoint.platform.coreservice_base_uri=https://eu1.anypoint.mulesoft.com/accounts anypoint.platform.contracts_base_uri=https://eu1.anypoint.mulesoft.com/apigateway/ccs anypoint.platform.analytics_base_uri=https://analytics-ingest.eu1.anypoint.mulesoft.com
The same applies if you are pointing at an organization defined in a Private Cloud Edition. You would need to provide the URLs for your Private Cloud Edition installation.