Set up an OpenSearch connector
Capabilities
Resource | Sync | Provision |
---|---|---|
Roles | ✅ |
This connector pulls account and group info from a shared identity source.
Gather OpenSearch credentials
Configuring the connector requires you to pass in credentials generated in OpenSearch. Gather these credentials before you move on.
A user with the Owner or Admin role (or a custom user role with the Edit Configuration user right) in OpenSearch must perform this task.
To set up the connector, you’ll need:
Your OpenSearch server address
Use your OpenSearch cluster endpoint (for example, https://your-opensearch-cluster.com:9200). For cloud deployments, use the provided endpoint from your OpenSearch service provider.
An OpenSearch username and password
The Opensearch account used to configure the connector must have OpenSearch cluster administrator access and access to the OpenSearch Dashboards or API for user management.
If your OpenSearch cluster uses a custom certificate, you’ll also need:
- A (PEM-encoded) CA certificate or the path to a CA certificate
That’s it! Next, move on to the connector configuration instructions.
Configure the OpenSearch connector
To complete this task, you’ll need:
- The Connector Administrator or Super Administrator role in ConductorOne
- Access to the set of OpenSearch credentials generated by following the instructions above
Follow these instructions to use a built-in, no-code connector hosted by ConductorOne.
In ConductorOne, navigate to Admin > Connectors and click Add connector.
Search for OpenSearch and click Add.
Choose how to set up the new OpenSearch connector:
Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)
Add the connector to a managed app (select from the list of existing managed apps)
Create a new managed app
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.
If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
Click Next.
Find the Settings area of the page and click Edit.
In the Address field, enter your OpenSearch cluster endpoint (for example, https://your-opensearch-cluster.com:9200) or the endpoint provided by your OpenSearch service provider (if yours is a cloud deployment).
Enter the OpenSearch account username and password into the next two fields.
In the User match key field, enter the value (such as
name
orid
) that will tell the connector which piece of data to use to match OpenSearch accounts with the accounts synced from the shared identity source. The default value isemail
.Optional. If configuring this connector for use with a development or testing environment, click to enable Insecure Skip Verify. Do not use this option for production environments.
If this option is not selected, you must include a CA certificate. If insecure verification skip is enabled, you do not need to provide a certificate.
If needed (see above), upload a CA certificate. The certificate must be PEM-encoded.
CA certificates are used for production TLS verification.
Click Save.
In the Shared identity source area of the page, click Edit.
Select the connector from which you want to pull identities.
Optional. Limit the identities pulled from the connector you selected to only those with a certain entitlement by setting the entitlement.
Click Save.
The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.
That’s it! Your OpenSearch connector is now pulling access data into ConductorOne.
Follow these instructions to use the OpenSearch connector, hosted and run in your own environment.
When running in service mode on Kubernetes, a self-hosted connector maintains an ongoing connection with ConductorOne, automatically syncing and uploading data at regular intervals. This data is immediately available in the ConductorOne UI for access reviews and access requests.
Step 1: Set up a new OpenSearch connector
In ConductorOne, navigate to Connectors > Add connector.
Search for Baton and click Add.
Choose how to set up the new OpenSearch connector:
Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)
Add the connector to a managed app (select from the list of existing managed apps)
Create a new managed app
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.
If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
Click Next.
In the Settings area of the page, click Edit.
Click Rotate to generate a new Client ID and Secret.
Carefully copy and save these credentials. We’ll use them in Step 2.
Step 2: Create Kubernetes configuration files
Create two Kubernetes manifest files for your OpenSearch connector deployment:
Secrets configuration
# baton-opensearch-secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: baton-opensearch-secrets
type: Opaque
stringData:
# ConductorOne credentials
BATON_CLIENT_ID: <ConductorOne client ID>
BATON_CLIENT_SECRET: <ConductorOne client secret>
# OpenSearch credentials
BATON_OPENSEARCH_ADDRESS: <Your OpenSearch server address>
BATON_OPENSEARCH_USERNAME: <Username for an OpenSearch account with security API access>
BATON_OPENSEARCH_PASSWORD: <Password for the OpenSearch account>
BATON_OPENSEARCH_USER_MATCH_KEY: <Field name for matching users, such as `email`, `name`, or `id` (defaults to `email`)>
# Optional: include these credentials to perform TLS certification validation
BATON_OPENSEARCH_INSECURE_SKIP_VERIFY: true
BATON_OPENSEARCH_CA_CERT_PATH: <Path to PEM-encoded certificate file>
See the connector’s README or run --help
to see all available configuration flags and environment variables.
Deployment configuration
# baton-opensearch.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: baton-opensearch
labels:
app: baton-opensearch
spec:
selector:
matchLabels:
app: baton-opensearch
template:
metadata:
labels:
app: baton-opensearch
baton: true
baton-app: opensearch
spec:
containers:
- name: baton-opensearch
image: ghcr.io/conductorone/baton-opensearch:latest
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: baton-opensearch-secrets
Step 3: Deploy the connector
Create a namespace in which to run ConductorOne connectors (if desired), then apply the secret config and deployment config files.
Check that the connector data uploaded correctly. In ConductorOne, click Applications. On the Managed apps tab, locate and click the name of the application you added the OpenSearch connector to. OpenSearch data should be found on the Entitlements and Accounts tabs.
That’s it! Your OpenSearch connector is now pulling access data into ConductorOne.