Salesforce Users/Groups
Connector name |
|
Connector type | Executable |
Type (UI field value) | Salesforce Users/Groups |
Connector status / support | Bravura Security-Verified This connector has been tested and is fully supported by Bravura Security. |
Note
See Platform specific SCIM connectors for an alternative connector for Salesforce.
The following Bravura Security Fabric operations are supported by this connector:
user verify password
get server information
administrator reset password
disable account
enable account
check account enabled
unlock account
check account lock
update attributes
create account
add user to group
delete user from group
List:
accounts
attributes
groups
members
Note
Permission sets are listed as groups with group IDs starting with the string PS_.
Public groups are listed as groups with group IDs starting with the string PG_.
Preparation
Before you can begin to manage passwords on Salesforce you must:
Obtain a Salesforce administrative account with API access permissions.
This account is used to log into Salesforce to configure the Connected App and manage settings.
Obtain your Salesforce.com Organization ID from your Salesforce instance.
Configure OAuth 2.0 authentication and obtain API credentials:
Create a Salesforce Connected App with OAuth enabled and obtain:
Consumer Key (OAuth Client ID)
Consumer Secret (OAuth Client Secret)
Required OAuth settings:
OAuth 2.0 Client Credentials flow or Web Server flow
API access scope: "Manage user data via APIs (api)"
Refresh token scope (if using Web Server flow)
Refer to Salesforce documentation for creating and configuring Connected Apps.
Ensure API access is enabled for the service account profile in Salesforce.
For organizations with API Access Control enabled: Ensure your Connected App is added to the trusted API client list in Salesforce security settings.
Create at least one template account.
Ensure that the Bravura Security Fabric service user is allowed to access Salesforce site via HTTPS.
Creating a template account
Bravura Security Fabric uses template accounts as models or "blueprints" for creating new accounts in Salesforce. The following example illustrates how you can create a template account in Salesforce:
As an administrator, log into the Salesforce application and select Setup > Administer > Manage Users > Users.
Click New user.
Fill in the required fields.
Click Save.
Ensuring Bravura Security Fabric service user access
The Bravura Security Fabric service user (psadmin) account must be able to access the Salesforce site to list accounts. To ensure that the psadmin account is allowed to access the Salesforce site via HTTPS:
As psadmin, log onto your Bravura Security Fabric server.
Using a browser, access your Salesforce site via HTTPS.
Add the site as a trusted site.
Targeting Salesforce
To target Salesforce, add a target system in Bravura Security Fabric (Manage the System > Resources > Target systems):
Type is Salesforce Users/Groups .
Address uses options described in the table below.
Credentials: Configure two sets of administrator credentials:
Salesforce account credentials:
Administrator ID: Your Salesforce administrative username
Administrator password: Your Salesforce administrative password
OAuth API credentials (with "System password" flag enabled):
Administrator ID: OAuth Consumer Key
Administrator password: OAuth Consumer Secret
Both credential sets are required for proper authentication and API access.
The full list of target parameters is explained in Target System Options .
Option | Description |
|---|---|
Options marked with a | |
Server | The Salesforce web service URL for your company. This is set to login.salesforce.com by default. (key: server) |
Port | Default is 443. (key: port) |
Connection over SSL | (optional) Select to enforce SSL connections. Default is "true". (key: ssl) |
Validate the server's certificate when connecting | Determines whether to validate the server's security certificate for SSL connections. Default is "true". (key: checkCert) |
HTTP Network Proxy | Optional (key: proxy) |
Version | Optional (key: ver) |
Skip Deleted Users | Optional Determines whether to skip deleted users during list operation. Default is "true". (key: skipDeleted) |
Config file | Optional configuration file to override operational behavior such as listing users and groups. Refer to the (key: config) NoteConfig file option implemented in Connector Pack 4.6.0. |
Managing permission sets
Salesforce permission sets are listed as pseudo-groups with group IDs starting with the string PS_.
Help desk users can assign permissions sets to users in the same way as assigning group memberships.
Permission set can be assigned to the user only if the user has the profile that matches with the user license of the permission set.
Managing roles
Salesforce role is just an account attribute that must be mapped to a profile attribute before help desk users can update the users roles.
Salesforce users can not be assigned more than one role.
Troubleshooting
Salesforce does not allow administrators to delete accounts once created, only disable them. So the [delete] operation only implements [disable]. Also, since the accounts listed from a template account include attributes which are calculated (so read-only), in order to test implementing the [create] operation, several attempts at creating accounts may be required; in order to reduce the number of test accounts populating the test salesforce account, use the following steps:
Generate an input KVGroup file using the pstee utility.
Rename agent\
agtsalesforce.exeto agent\agtsalesforce-orig.exe.Copy util\
pstee.exeto agent\agtsalesforce.exe.Run a [create] operation.
The input/output KVGroup files from the connector will be saved in the instance’s <Program Files path>\Bravura Security\Bravura Security Fabric\Logs\<instance> directory (where
idmsuite.logis located).
Copy the input KVGroup file that was generated to the agent folder.
Add a pseudo attribute to the input file, right before the last closing curly bracket } :
"attribute" "@disableAddResourceOperation" = { "GROUP" = "0" "SEQUENCE" = "-1" "ACTION" = "VALUE" "VALUE" = "" }Look in the
idmsuite.logat the lines generated by agtsalesforce-orig.exe when running the [create] operation.If the attributes that mention (read-only or RO) when they are read from the template account are not present in the input KVGroup, add them (add an attribute group like the one above, before
@disableAddResourceOperation).Make sure that all read-only attributes in the input KVGroup are configured with
"ACTION" = "IGNORE"(or edit the file to make it so, and edit the attribute mapping in Manage the system > Resources > Account attributes > Target system type > Salesforce. Add override with that attribute name, and disable the action on Create and Update).
Redirect the input KVGroup into the agent, by opening an administrator command prompt into the agent\ folder and running:
agtsalesforce < agtsalesforce-input-<timestamp>.kvgEnsure that you replace the <timestamp> with the actual value for the generated input KVGroup, or rename the input KVGroup to something simpler to type on the command line.
Check the
idmsuite.logagain to see if there were any missed attributes or other errors. The same account will be used (no new one created).
