Credentials

Native connectors are configured via JSON fields.

As the connector configuration page is accessible to all power users, the feature has been designed such that credentials cannot be read or extracted by any user (users, power users or administrators).

πŸ“˜

If wanting to give none power users the ability to manage Workplace Search Connectors, then permissions can be applied from within the Control Panel.

When editing a connector, any existing credentials that have been set are never displayed. Users, Power Users and Admins do not have access to view saved Credentials (encrypted or un-encrypted).

When the connector runs its synchronisation job, the connector framework is able to decrypt the encrypted credentials, connect to the external system and perform the neccesary synchronisation.

Encrypted credentials are only decrypted and used by the synchronisation service, which operates in the background and is not directly accessible through Interact.

Credentials are encrypted at the point of save with the web application designed in such a way that it is not possible for them to be retrieved in any web application logic (encrypted or otherwise), and only the synchronisation service can access them.

The credentials are encrypted and stored using industry best practices:

  • The encryption key is stored in separate application config, away from the database where the encrypted credentials are stored.
  • The encryption level is 256-bit, and in-line with industry best practice and recommendations
  • The encryption key is never read (let alone decrypted) by the web application. Reading and decryption is only performed by the synchronisation service – meaning it cannot be exposed via the web app in any way
  • Within the infrastructure, the synchronisation background service and the web application are in completely different subnets too, so there’s no lateral attack vector should an attacker gain any access

Creating a new connector

For convenience, when creating a new connector, both the Credentials (JSON) and the Configuraiton (JSON) fields can be entered at the same time.

The Credentials (JSON) field typically includes sensitive third party external API credentials. These credentials are a necessity for the connector to connect to those external data sources.

When a new connector is saved, the Credentials (JSON) is encrypted and stored separately from the Configuration (JSON using the latest industry recommended encryption algorithms and best practices.

Editing a connector

When viewing or editing the connector configuration, the Credentials (JSON) field is not visible, and instead it is only possible to either

  • Change Credentials
  • Or, Clear Credentials

πŸ“˜

Clicking Change Credentials does not give the user access to credentials that were previously saved

When clicking Change Credentials, a form is presented with an empty template for the Credentials, which can be used to overwrite any previously saved credentials.