Prerequisites
- An OpenSearch cluster with an HTTPS endpoint CloudThinker can reach over the network.
localhostand private addresses aren’t reachable from CloudThinker Cloud. If a firewall or domain access policy restricts callers, allow CloudThinker’s egress IPs. These docs don’t publish CloudThinker’s egress IP list: ask your CloudThinker contact, or contact us. See Reaching private services for other options. - The OpenSearch security plugin with an internal user you can create. On Amazon OpenSearch Service, that means a domain with fine-grained access control, because the connection uses basic auth, not AWS request signing.
- The indices agents should read, such as
logs-apporproducts.
Setup
1
Create a read-only role
In OpenSearch Dashboards → Dev Tools, create a role scoped to the indices agents need. Replace
logs-* with your own patterns.2
Create a dedicated user and map the role
Run each request separately in Dev Tools. First create the user:Then map the role to it:You can do the same in OpenSearch Dashboards → Security under Roles and Internal users.
3
Add the connection in CloudThinker
In the sidebar, click More → Workspace settings → Connections, then on the Builtin Connections tab select OpenSearch. Enter the Cluster URL, Username, and Password. Set Connection timeout (seconds) to a value such as
15. Click Connect.Success state: the connection shows Connecting and Verifying, then Connected.To change the password later, open the connection, click the pencil icon on its row, and in Edit Instance click Replace…. See Rotate a credential.Always set Connection timeout (seconds). With it empty there is no timeout, so an unreachable cluster or a failed TLS check stalls the conversation instead of returning an error.
Connection details
Required permissions
Write permissions on the user add nothing, because the connection has no tool that uses them.
Agent capabilities
Name the index in your prompt when you can. Index inventory and shard checks run against exact index names, not wildcards, so a prompt like “check logs-app-2026.10.24” gets a faster, more precise answer than “check the logs”.
Verify the connection
Example prompts
Troubleshooting
Calls hang instead of failing
Calls hang instead of failing
The cluster is unreachable, or TLS verification is failing against a self-signed certificate. Set Connection timeout (seconds) so calls fail fast. Set Verify TLS certificate to
false only if the cluster really serves a self-signed certificate.security_exception, or an agent can't see an index
security_exception, or an agent can't see an index
The user’s role doesn’t cover that index. Add the index to
index_patterns on the cloudthinker_read role. Agents report which index was refused instead of retrying with a wider pattern.Connection fails on Amazon OpenSearch Service
Connection fails on Amazon OpenSearch Service
The domain uses IAM-only access. This connection signs in with basic auth, so the domain needs fine-grained access control with an internal user database.
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Read-only surface: the connection can’t write, delete, or change cluster settings, whatever the user’s permissions allow.
- Credentials stay on your cluster: agents can’t point the stored username and password at a different host. CloudThinker rejects per-call connection overrides before a request is sent, even if a document asks for one.
Related
Elasticsearch
Connect an Elasticsearch cluster with a read-only API key.
Root cause analysis
See how agents use log searches to find what caused an incident.