Salesforce
The Salesforce connections to the CipherTrust Data Security Platform Service can be configured using the following:
Note
If you wish to use external certificate authentication, you must first create a valid external certificate.
Managing Salesforce Connections using GUI
-
Client ID - application ID of the Salesforce application. It can be used either with Client Credential, Certificate or Password to authenticate the application.
Note
The Salesforce Connection Manager does not allow using one client id for multiple connections for certificate based authentication. This limitation exists because the Salesforce server allows only one certificate for a client id at any given time.
However, if client credential based authentication is used, multiple connections are allowed with one client id. -
Cloud Name - the name of the Salesforce cloud to connect to. Currently, only the following options are available:
-
Salesforce Sandbox Cloud
-
Salesforce Cloud
-
-
Authentication - you can use the following authentication methods.
-
Client Credential (My Domain) - this authentication method uses Client Secret and Domain Name for the given Client ID to enable the communication between Salesforce and the CipherTrust Data Security Platform Service. The Domain Name is mapped to My Domain in Salesforce login and application URLs.
The client credentials don't require "username" and "password" for authentication. For details, refer to Salesforce documentation.
-
Certificate - this authentication method is used to enable password-less communication between Salesforce and the CipherTrust Data Security Platform Service. To do so:
-
Select the Certificate radio button.
-
Enter the Username.
-
Select Application or External as the Certificate Type.
The Application certificate type is generated by CipherTrust Data Security Platform Service and self-signed.
The External certificate type is a pre-existing certificate generated on CipherTrust Data Security Platform Service and then signed by a CA external to the CipherTrust Data Security Platform Service. To use this option, you first need to create a valid external certificate.
-
Click the Generate and Download button.
-
Upload the downloaded certificate on Salesforce for the provided Client ID.
-
Once the upload is done, verify the Certificate Subject on the CipherTrust Data Security Platform Service and Salesforce. Both the Certificate Subjects must match.
-
(Optional) Specify Certificate Duration in Days. The default certificate duration is 730 days (2 years).
Ensure that you have fulfilled the prerequisites to create a valid external certificate.
Do one of the following:
-
Select File Upload and click the Upload Certificate to upload the external certificate as a file.
-
Select Text and paste the certificate contents in the text box.
Note
The CipherTrust Data Security Platform Service allows you to modify the external certificate in the existing connection. Any unused certificate will be automatically deleted after 24 hours.
-
-
Password – this authentication method uses the Client Secret, Username, and Password for the given Client ID to enable the communication between Salesforce and the CipherTrust Data Security Platform Service.
Note
-
If you have enabled the Multi-Factor authentication on the API, password authentication will not work.
-
Before creating a Salesforce connection using "Password" based authentication, ensure that the "Allow OAuth Username-Password Flows" setting is enabled on the Salesforce cloud (Salesforce > Setup > Settings > Identity > OAuth and OpenID Connect Settings > Allow OAuth Username-Password Flows).
-
-
-
(Optional) Enable Mutual TLS.
Click Next to move to the Add Products screen of the Add Connection wizard.
Note
Currently, the only product supported for Salesforce connection is Cloud Key Manager.
Click Next to move to the next step.
Note
For Salesforce Organizations, you can provide the Mutual TLS Certificate details, you need to Enable Mutual TLS.
Mutual TLS Certificate
In the Mutual TLS Certificate section, provide the TLS Client Certificate details.
Select File Upload and click Upload Certificate to upload the certificate (in PEM format). You can also select Text and enter the certificate in the text area.
Enter the Password of TLS Client Certificate.
Click Next to move to the Add Products screen of the Add Connection wizard.
Managing Salesforce Connections using ksctl
The following operations can be performed:
-
Create/Get/Update/Delete an Salesforce connection
-
List all Salesforce connections
-
Test an existing Salesforce connection
-
Test parameters for a Salesforce connection
Authentication methods
The Salesforce connection can be created using the following authentication methods:
-
Password
-
Certificate
-
Client Credential (My Domain)
Creating a Salesforce Connection
Note
Before creating a Salesforce connection using "Password" based authentication, ensure that the "Allow OAuth Username-Password Flows" setting is enabled on the Salesforce cloud (Salesforce > Setup > Settings > Identity > OAuth and OpenID Connect Settings > Allow OAuth Username-Password Flows).
It is consumer secret based authentication. Following fields are used for authentication:
-
name - username to access the Salesforce server
-
client_id - application ID of the Salesforce application
-
client_secret - consumer secret for the Salesforce application
-
password - password for the Salesforce account
To create a Salesforce connection, run:
Syntax
Example Request
Example Response
It is certificate-based authentication. Following fields are used for authentication:
-
name - username to access the Salesforce server.
-
client_id - application ID of the Salesforce application.
-
certificate - represents the internal/external certificate.
The Salesforce connection can be created using:
-
Internal certificate
-
External certificate
You can also enable mutual TLS (mTLS) for a Salesforce connection.
Using Internal certificate
To create a Salesforce connection using internally generated self-signed certificate, run:
Syntax
Example Request
Example Response
Using external certificate
Note
The external certificate cannot be used with use_certificate
and client_secret
parameters.
To create an Salesforce connection using external certificate generated from custom CSR signed by any external CA:
-
Generate a new Certificate Signing Request (CSR). The Salesforce connections support RSA 1024, 2048, and 4096 bit keys for creating CSRs.
Syntax
Example
Response
This CSR can only be used for one connection in the native domain. Also, this CSR can't be reused in other domains.
-
Sign the CSR with an external CA. It will generate an external certificate.
-
Upload the generated certificate to the Salesforce portal.
-
Create the Salesforce connection using the external certificate generated above.
Example
Response
JSON File
The CipherTrust Data Security Platform Service allows you to modify the external certificate in the existing connection. Any unused certificate will be automatically deleted after 24 hours.
It is domain name based authentication and uses "domain_name" to map My Domain in Salesforce login and application URLs.
The client credentials don't require "username" and "password" for authentication. For details, refer to Salesforce documentation.
Following fields are used for authentication:
-
client_id - application ID of the Salesforce application
-
client_secret - consumer secret for the Salesforce application
-
domain_name - represents My Domain used in the Salesforce account.
To create a Salesforce connection, run:
Syntax
Example Request
Example Response
Creating a Salesforce Connection with mTLS enabled
CipherTrust Data Security Platform Service provides an option to secure specific API calls from CipherTrust Data Security Platform Service to Salesforce with an mTLS certificate. You can provide a TLS client certificate and a private key while creating a Salesforce connection to enable mTLS certificate authentication. If the private key is protected with a passphrase, then there is the option to also provide this passphrase. For the prerequisite steps to take within Salesforce to set up the use of this Salesforce mTLS option, refer to Setting Up a Mutual Authentication Certificate and associated Salesforce Help topics.
We support pkcs8 format for the certificate. If the certificate is protected by a passphrase, we support pcks1 format for the private key. If the certificate is not protected by a passphrase, we support pcks8 or pcks1 formats for the private key.
To create a Salesforce connection with the verification of a TLS client-side certificate, run:
Syntax
Example Request
Example Response
Getting Details of a Salesforce Connection
To get details of a Salesforce connection, run:
Syntax
Example Request
Example Response
Updating a Salesforce Connection
To update a Salesforce connection, run:
Syntax
Example Request
Example Response
Deleting a Salesforce Connection
To delete a Salesforce connection, run:
Syntax
Example Request
Example Response
There will be no response if Salesforce connection is deleted successfully.
Getting List of Salesforce Connections
To list all the Salesforce connections, run:
Syntax
Example Request
Example Response
Testing an Existing Salesforce Connection
To test an existing Salesforce connection, run:
Syntax
Example Request
Example Response
Testing Parameters for a Salesforce Connection
To test parameters for a Salesforce connection, run:
Syntax
Example Request
Example Response