> ## Documentation Index
> Fetch the complete documentation index at: https://help.dsalta.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Elastic Cloud

> Managed Elasticsearch — members & access

<Tabs>
  <Tab title="Overview">
    Connect Elastic Cloud with an organization API key to sync organization members and hosted deployments, and run access reviews. Read-only.

    <Info>
      **Read-only access.** DSALTA only reads data from this integration. It never creates, modifies, or deletes anything in your environment, and every remediation step is performed by your team directly in the third-party product.
    </Info>

    <Info>
      **What you'll see.** The Access page lists the members of your Elastic Cloud **organization** with their name, email, the organization-level roles assigned to them (for example `organization-admin` or `billing-admin`, or **Member** when they hold none) and the date they joined. Elastic Cloud reports no account status or MFA state on this endpoint, so every member is shown as **Active** with MFA **Unknown**. Deployment-level and project-level role assignments are not shown.
    </Info>

    <Note>
      **Only an Organization owner key can read the roster.** Elastic Cloud lets you create API keys with narrower roles, but none of them can list organization members — a key without the **Organization owner** role connects but fails at the first sync.
    </Note>

    <Note>
      DSALTA collects this integration's data when you connect it — you can refresh it at any time with **Sync from integrations** on the **Integrations** page. The compliance checks below re-run once a day at 02:00 America/New\_York.
    </Note>

    ## What DSALTA reads

    DSALTA reads the Elastic Cloud organization member roster — names, emails, organization roles and join dates — which appears on your **Access** page; and your Elastic Cloud **Hosted deployments**, which appear on your **Inventory** page with their region, Elastic Stack version and health. Serverless projects are not part of the sync.

    It calls these Elastic Cloud endpoints:

    * `/api/v1/organizations`
    * `/api/v1/organizations/{id}/members`
    * `/api/v1/deployments`

    Every request is a read. DSALTA has no code path that creates, modifies, or deletes anything in your Elastic Cloud environment.

    ## Troubleshooting

    <AccordionGroup>
      <Accordion title="The connection is rejected or the first sync fails">
        The key is invalid, expired, or was created without the **Organization owner** role. Create a new key with that role, then disconnect and connect again — Elastic Cloud does not let you add a role to an existing key. Note that disconnecting permanently deletes the data already collected from Elastic Cloud.
      </Accordion>

      <Accordion title="The Inventory page is empty">
        Only Hosted deployments are listed. An organization that runs Serverless projects only, or whose deployments the key cannot see, shows no Inventory rows. Access data and the checks are unaffected.
      </Accordion>
    </AccordionGroup>

    <AccordionGroup>
      <Accordion title="How do I check whether the connection is healthy?">
        Open **Integrations** in the DSALTA sidebar, stay on the **Connected** tab, and click **Manage** on the integration's card. Open the **Status** tab: it shows either **Connected and working properly** or **Connection issues detected**.

        Use the **Status** tab, not **Overview** — Overview always reports **Connected** regardless of the real state.
      </Accordion>

      <Accordion title="A check shows Failed and nothing changed on my side">
        On an integration-powered check, **Failed** normally means DSALTA was blocked rather than that you are non-compliant. Open the test, go to **Source Data**, and read the result code: **403** is a missing permission, **428** is a setting DSALTA still needs, **500** is a failure on DSALTA's side.

        A real compliance gap shows **207** and leaves the test looking **Completed**. See [Understanding Test Results](/guides/compliance/test-results).
      </Accordion>

      <Accordion title="Data looks out of date">
        Compliance checks re-run once a day at 02:00 America/New\_York. To refresh sooner, open **Integrations → Connected** and click **Sync from integrations** at the top right — it refreshes every connected integration at once.
      </Accordion>

      <Accordion title="How do I repair a broken connection?">
        There is no Reconnect, Repair or Refresh Token button. The only repair available is to disconnect and connect again.

        <Warning>
          **Disconnecting is destructive and cannot be undone.** DSALTA removes the access records, inventory, vulnerabilities, code changes, incidents and device records collected from this integration, and deletes the test results tied to the connection. Export anything you still need as audit evidence first — see [Integration errors](/troubleshooting/integration-errors).
        </Warning>
      </Accordion>

      <Accordion title="Configure scope will not let me change anything">
        That is expected. **Configure scope** is read-only — it shows what DSALTA is permitted to read, and has no Save action. To change what DSALTA can see, change the permissions on the credential in the third-party product, then disconnect and connect again.
      </Accordion>
    </AccordionGroup>
  </Tab>

  <Tab title="How to connect">
    An Elastic Cloud organization API key with the Organization owner role. The organization is detected automatically. Read-only.

    **Before you begin**

    * An Elastic Cloud organization.
    * The **Organization owner** role yourself, or the *manage workload credentials* permission. Elastic Cloud only lets you assign roles you already hold to a key, so an Organization owner has to create this one.

    You will need:

    | Field       | Where to find it                                      | Example              |
    | ----------- | ----------------------------------------------------- | -------------------- |
    | **API Key** | Avatar → **Organization → API keys → Create API key** | `essu_…`, shown once |

    <Steps>
      <Step title="Start in DSALTA">
        Open **Integrations** in the DSALTA sidebar, find **Elastic Cloud**, and click **Connect** to open the connect panel.
      </Step>

      <Step title="Create an Organization owner API key">
        Sign in to the [Elastic Cloud Console](https://cloud.elastic.co), click your avatar in the upper right, choose **Organization**, open the **API keys** tab, and click **Create API key**. Give the key a name and pick an **Expiration** — a preset, a specific date up to one year out, or **Never**.

        <Warning>
          In the roles step, select **Organization owner**. This is the only role that can read the member roster, so a key created with any other role connects successfully and then fails on the first sync. The key therefore carries owner-level rights: keep it in DSALTA only, and never paste it into a ticket, chat message or shared document.
        </Warning>

        <Info>
          Elastic Cloud shows the key once (it starts with `essu_`) — copy it or download the CSV before closing the flyout. If you chose an expiration, note the date: the connection breaks when the key expires, and the fix is a new key plus disconnect and reconnect.
        </Info>
      </Step>

      <Step title="Connect Elastic Cloud">
        Return to the connect panel, paste the API key, and click **Connect**. The organization is detected automatically.
      </Step>
    </Steps>

    <Check>
      DSALTA validates the key when you click **Connect**, by listing the organizations it can see. On success the integration moves to the **Connected** tab, and **Manage → Status** reads **Connected and working properly**. Checks begin reporting after the first sync.
    </Check>

    <Warning>
      **If the connection is rejected.** Invalid or expired API key, or a key created without the **Organization owner** role.

      The on-screen message is generic — see [Connection error messages](/troubleshooting/connection-error-messages).
    </Warning>
  </Tab>

  <Tab title="Automated checks">
    Each check below re-runs once a day, at 02:00 America/New\_York, while this integration is connected. Click any check for step-by-step remediation guidance.

    | Check                                                                                                                        | Severity | What it verifies                                                                         |
    | ---------------------------------------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------- |
    | [User access to Critical System should be valid](/integrations/elastic-cloud/user-access-to-critical-system-should-be-valid) | Info     | Checks that everyone with Elastic Cloud access is an active employee on the People page. |
    | [Offboarded users should not have active access](/integrations/elastic-cloud/offboarded-users-should-not-have-active-access) | High     | Checks that offboarded employees no longer have active Elastic Cloud access.             |
  </Tab>

  <Tab title="Useful links">
    | Topic       | Link                                                                                                                 |
    | ----------- | -------------------------------------------------------------------------------------------------------------------- |
    | Setup       | [Elastic Cloud API keys](https://www.elastic.co/docs/deploy-manage/api-keys/elastic-cloud-api-keys)                  |
    | Remediation | [Manage organization members](https://www.elastic.co/docs/deploy-manage/users-roles/cloud-organization/manage-users) |
    | General     | [Elastic Cloud Console](https://cloud.elastic.co)                                                                    |
    | DSALTA      | [Connection error messages](/troubleshooting/connection-error-messages)                                              |
  </Tab>
</Tabs>
