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

# Getting Started

> Learn how to get started with the Okta OpenGraph extension in BloodHound.

export const ConfigurePrivilegeZones = ({source, slug}) => {
  return <>
      <p>
        The {source} extension includes <a href={`/opengraph/extensions/${slug}/privilege-zone-rules`}>specialized queries</a> that you can use to create <a href="/analyze-data/privilege-zones/rules#cypher">Cypher-based</a> Privilege Zone rules. Use these rules to classify high-value {source} assets.
      </p>
    </>;
};

export const CollectUploadData = ({source, openHoundCollectorName, openHoundCollectorUrl, alternateCollectorName, alternateCollectorUrl}) => {
  return <>
      <p>
        There are currently two ways to collect {source} data for this extension:
      </p>

      <ul>
        <li>
          <a href={openHoundCollectorUrl}>{openHoundCollectorName}</a>: The SpecterOps-supported collector for {source}.
        </li>
        <li>
          <a href={alternateCollectorUrl}>{alternateCollectorName}</a>: An alternative collector that can also produce data for the {source} extension.
        </li>
      </ul>

      <Tip>
        Use the {openHoundCollectorName} for the most current documented collection workflow.
      </Tip>
    </>;
};

export const ImportCypherQueries = ({source, slug, environment}) => {
  return <>
      <p>
        The {source} extension provides Cypher queries to help identify attack paths and misconfigurations in your {source} {environment}.
      </p>

      <p>
        You can find links to download JSON files for each query from GitHub in the <a href={`/opengraph/extensions/${slug}/queries`}>query documentation</a>. Import these files into BloodHound using the <a href="/analyze-data/explore/cypher-search#import-and-export">query import workflow</a>.
      </p>

      <Note>
        Cypher queries that reference node or edge kinds not present in the database will fail without the extension schema.
      </Note>
    </>;
};

export const InstallExtension = ({source, environment, schemaUrl}) => {
  return <>
      <p>
        The {source} extension includes a schema that tells BloodHound how to model and analyze data from your {source} {environment}. You must install the extension before you upload data generated by a collector.
      </p>

      <ul>
        <li>
          <strong>BloodHound Community</strong>: Download the latest {source} <a href={schemaUrl} target="_blank" rel="noopener noreferrer">extension definition schema</a> file from the OpenHound GitHub repository and install it on the <a href="/opengraph/extensions/manage">OpenGraph Management</a> page in BloodHound.
        </li>
        <li>
          <strong>BloodHound Enterprise</strong>: Contact your account team to get the enterprise version of the schema installed, including BloodHound Enterprise findings.
        </li>
      </ul>

      <p>
        After the extension is installed, BloodHound is ready to ingest and analyze {source} data.
      </p>
    </>;
};

export const source_1 = "Okta"

export const environment_0 = "organization"

export const source_0 = "Okta"

export const otherSources_0 = "GitHub"

<img noZoom src="https://mintcdn.com/specterops/tTIczgde9H07oLXf/assets/enterprise-AND-community-edition-pill-tag.svg?fit=max&auto=format&n=tTIczgde9H07oLXf&q=85&s=ad49a576589f4d2a8081df77d07fdf56" alt="Applies to BloodHound Enterprise and CE" width="482" height="45" data-path="assets/enterprise-AND-community-edition-pill-tag.svg" />

## Prerequisites

Full OpenGraph support requires a PostgreSQL graph database and one of the following editions:

* BloodHound Enterprise (uses PostgreSQL by default)
* BloodHound Community v8.0.0+ (requires  changing to a [PostgreSQL database](/get-started/custom-installation#postgresql))

  <Note>
    While many OpenGraph features may work on a Neo4j database, there are functional and performance limitations (see the [OpenGraph FAQ](/opengraph/faq#why-is-it-taking-so-long-to-ingest-opengraph-data)). For full support, migrate to a PostgreSQL database.
  </Note>

The OpenGraph Extension Management feature must be enabled before you can manage extensions. Enable this feature on the **Administration** > **Early Access Features** page.

## Install the Extension

<InstallExtension source="Okta" environment="organization" schemaUrl="https://github.com/SpecterOps/openhound-okta/blob/main/extension/schema.json" />

### Optional Schemas

If your {source_1} {environment_0} uses SCIM, upload the [bh-scim-extension.json](https://github.com/SpecterOps/bloodhound-scim-extension/blob/main/bh-scim-extension.json) schema as well. This schema provides a shared model for provisioned users and groups across cloud identity providers and applications.

If {source_0} is connected to other BloodHound-supported data sources in your environment, such as {otherSources_0}, upload the corresponding schema too, or contact your Enterprise account team. Doing so ensures those cross-platform relationships are modeled correctly in BloodHound.

## Import Cypher Queries

<ImportCypherQueries source="Okta" slug="okta" environment="organization" />

## Collect and Upload Data

<CollectUploadData source="Okta" openHoundCollectorName="OpenHound Okta collector" openHoundCollectorUrl="/openhound/collectors/okta/overview" alternateCollectorName="OktaHound collector" alternateCollectorUrl="https://github.com/SpecterOps/OktaHound" />

## Configure Privilege Zones

<ConfigurePrivilegeZones source="Okta" slug="okta" />
