Elastic Cloud
Visualize Elastic Cloud Search Account, Users, Clusters, Nodes, Backup, Roles and Service Accounts changes through queries and alerts.
- Installation
- Authorization
- Data Model
- Types
- Release Notes
Installation
The Elastic Cloud integration collects data from Elasticsearch deployments hosted on Elastic Cloud using the Elasticsearch REST API. It ingests cluster statistics, nodes, users, roles, service accounts, and snapshots. Before configuring the integration in JupiterOne, create an Elasticsearch API key with the required cluster privileges.
Prerequisites
One instance is required per Elasticsearch deployment. The integration connects directly to the Elasticsearch endpoint using an API key.
The API key must have the following cluster privileges:
| Privilege | Required for |
|---|---|
monitor | Cluster statistics (/_cluster/stats) and node info (/_nodes) |
read_security | Users (/_security/user) and roles (/_security/role) |
manage_service_account | Service accounts (/_security/service) |
monitor_snapshot | Snapshots (/_snapshot/_all/_all) |
See Cluster privileges in the Elasticsearch documentation for details.
Finding your Elasticsearch endpoint
- Log in to the Elastic Cloud console.
- On the Hosted deployments page, select your deployment.
- Under Applications, locate the Elasticsearch entry and note the endpoint URL. It has the form
https://<deployment-id>.<region>.<provider>.elastic-cloud.com:443.
Keep this URL — you will need it as the Elastic Search Endpoint when configuring JupiterOne.
Finding your Elastic Cloud Account ID
- In the Elastic Cloud console, click your profile icon and select Organization.
- Copy the Organization ID.
Creating an Elasticsearch API key
- From the Elastic Cloud console, open Kibana for your deployment (select Kibana under Applications on the deployment page).
- In Kibana, go to Stack Management > Security > API Keys (or search for "API Keys" in the global search bar).
- Click Create API key.
- Enter a descriptive name, such as
JupiterOne. - Optionally, set an expiration date.
- Under Control security privileges, set the following cluster privileges:
monitor,read_security,manage_service_account,monitor_snapshot. - Click Create API key.
- Copy the generated key — it is shown only once.
See Elasticsearch API keys in the Elastic documentation for additional guidance.
Configuration in JupiterOne
To install the Elastic Cloud integration in JupiterOne, navigate to the Integrations tab in JupiterOne and select Elastic Cloud. Click New Instance to begin configuring your integration.
Creating an instance requires the following:
-
The Account Name used to identify the Elastic Cloud account in JupiterOne. Ingested entities will have this value stored in
tag.AccountNamewhen theAccountNametoggle is enabled. -
Description to assist in identifying the integration instance, if desired.
-
Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as
DISABLEDand manually execute the integration. -
Elastic Cloud Account ID: Your Elastic Cloud organization ID, copied from the Organization page in the Elastic Cloud console.
-
Elastic Search API Key: The API key created in the previous step. This field is required.
-
Elastic Search Endpoint: The Elasticsearch endpoint URL for your deployment (for example,
https://<deployment-id>.asia-south1.gcp.elastic-cloud.com:443). This field is required.
Click Create once all values are provided to finalize the integration.
Next steps
Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.
Permissions
IAM permissions that must be granted to the integration principal for data ingestion.
Show Permissions (4)
manage_service_accountmonitormonitor_snapshotread_security
Endpoints
API endpoints that the integration makes requests to.
Show Endpoints (6)
{elasticSearchEndpoint}/_cluster/stats{elasticSearchEndpoint}/_nodes{elasticSearchEndpoint}/_security/role{elasticSearchEndpoint}/_security/service{elasticSearchEndpoint}/_security/user{elasticSearchEndpoint}/_snapshot/_all/_all
Documentation Links
Links to provider documentation relevant to setup and configuration.
Show Documentation Links (7)
- https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-stats
- https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-nodes-info
- https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-role
- https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-service-accounts
- https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-get-user
- https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-snapshot-get
- https://www.elastic.co/guide/en/elasticsearch/reference/current/security-privileges.html
Per-Step Breakdown
Detailed authorization requirements for each ingestion step.
Show all steps (4)
| Step | Permissions | Endpoints |
|---|---|---|
| Fetch Elastic Search Backups | monitor_snapshot | {elasticSearchEndpoint}/_snapshot/_all/_all |
| Fetch Elastic Search Cluster Nodes | monitor | {elasticSearchEndpoint}/_nodes |
| Fetch Roles | read_security | {elasticSearchEndpoint}/_security/role |
| Fetch Users | read_security | {elasticSearchEndpoint}/_security/user |
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Account | ec_account | Account |
| Backup | ec_backup | Backup |
| Cluster | ec_cluster | Cluster |
| Cluster Node | ec_cluster_node | Host |
| Role | ec_role | AccessRole |
| Service Account | ec_service_account | User |
| User | ec_user | User |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
ec_account | HAS | ec_cluster |
ec_account | HAS | ec_user |
ec_account | HAS | ec_role |
ec_cluster | CONTAINS | ec_cluster_node |
ec_cluster | HAS | ec_backup |
ec_cluster | USES | ec_role |
ec_user | ASSIGNED | ec_role |
Ec Account
ec_account inherits from Account
Ec Backup
ec_backup inherits from Backup
| Property | Type | Description | Specifications |
|---|---|---|---|
completedOn | number | ||
dataStreams | array of strings | ||
duration | number | ||
failedShards | number | ||
featureStates | array of strings | ||
includeGlobalState | boolean | ||
indices | array of strings | ||
repository | string | ||
startedOn | number | ||
status | string | ||
successfulShards | number | ||
totalShards | number | ||
version | string | ||
versionId | number |
Ec Cluster
ec_cluster inherits from Cluster
| Property | Type | Description | Specifications |
|---|---|---|---|
availableDiskSpace | string | ||
docsCount * | number | ||
failedNodeCount * | number | ||
indicesCount * | number | ||
ingestPipelines * | number | ||
jvmThreads * | number | ||
nodeCount * | number | ||
primaryShards * | number | ||
storeSize | string | ||
successfulNodeCount * | number | ||
totalDiskSpace | string | ||
totalShards * | number |
Ec Cluster Node
ec_cluster_node inherits from Host
| Property | Type | Description | Specifications |
|---|---|---|---|
availabilityZone | string | ||
clusterName | string | ||
dataPath | string | ||
dataTier | string | ||
diskReadSpeed | string | ||
diskWriteSpeed | string | ||
homePath | string | ||
httpPort | string | ||
httpSslEnabled | boolean | ||
initialMasterNodes | string | ||
instanceConfiguration | string | ||
isxPackInstalled | boolean | X-Pack is an Elastic Stack plugin providing advanced features like security, monitoring, and machine learning. | |
logsPath | string | ||
machineLearningEnabled | boolean | ||
managedPolicies | array of strings | ||
monitoringEnabled | boolean | ||
networkBandwidth | string | ||
processors | string | ||
region | string | ||
roles * | array of strings | ||
serverName | string | ||
transportSslEnabled | boolean |
Ec Role
ec_role inherits from AccessRole
| Property | Type | Description | Specifications |
|---|---|---|---|
clusterPrivilegeNames | array of strings |
Ec Service Account
ec_service_account inherits from User
| Property | Type | Description | Specifications |
|---|---|---|---|
clusterPrivilege | array of strings |
Ec User
ec_user inherits from User
| Property | Type | Description | Specifications |
|---|---|---|---|
active | boolean | ||
fullName | string | ||
roles | array of strings |