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

# Okta

Oleria provides identity security and access management teams with visibility and intelligence into who has access to what; where did they get that access; how are they using it; and, should they even have it. As part of that promise, we deep integrate your Okta instance into the Oleria platform. This document provides step-by-step guidance for integrating Okta with your Oleria workspace.

## Prerequisites

* The user granting these permissions must have super admin privileges

<Note>
  Standard integrations are configured with read-only permissions. Super admin permissions are limited to the API scopes specified in the steps below. Use a service account (and not an employee account) with the suggested privileges for the integration to ensure continuity.
</Note>

## Create an Oleria Application in Okta

<Steps>
  <Step title="Create a new app integration">
    Login to the Okta admin console, navigate to **Applications**, and select **Create App Integration**.

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-1.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=8376c60961579c34436ac16d29f2c4b0" alt="Login to Okta admin console, navigate to Applications, select Create App Integration" width="800" height="289" data-path="images/integrations/okta/step-1.png" />
  </Step>

  <Step title="Select API Services">
    Select **API Services** and select **Next**.

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-2.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=b21cf855cd583dc6bef1fa6f871ad89e" alt="Select API Services and click next" width="800" height="448" data-path="images/integrations/okta/step-2.png" />
  </Step>

  <Step title="Name the application">
    Give the App Integration Name as "Oleria" and select **Save**.

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-3.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=678631fe90286b62e681586d3dbff9f7" alt="Give App Integration Name as Oleria and Save" width="800" height="224" data-path="images/integrations/okta/step-3.png" />
  </Step>

  <Step title="Configure client credentials">
    In the Oleria app, go to **General** → **Client Credentials** → select **Edit**.

    * Set **Client authentication** to **Public key / Private key**
    * Select **Add Key** to generate a key
    * Save the **Client ID** - you will need it when connecting in Oleria

    <Note>
      Make sure there is only one key active for this application. The integration will not pull data if there are multiple active keys.
    </Note>

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-4.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=3eb8803716cb9193ff370df197c43e2c" alt="Okta API key configuration showing single active key requirement" width="671" height="771" data-path="images/integrations/okta/step-4.png" />
  </Step>

  <Step title="Generate a public key">
    Add a public key by selecting **Generate new key**.

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-5.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=2ded423080145fbe34370c1ce3c450ea" alt="Add a public key by selecting the Generate new key" width="587" height="358" data-path="images/integrations/okta/step-5.png" />
  </Step>

  <Step title="Save the private key">
    Save the key in **PEM** format and select **Copy to clipboard**. You will need this private key when connecting in Oleria.

    <Note>
      You will need to generate a new key if you forget to copy or lose the key.
    </Note>

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-6.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=0fccb410e847ae5d98909c99db4ae119" alt="Save the key in PEM format and select Copy to clipboard" width="567" height="712" data-path="images/integrations/okta/step-6.png" />
  </Step>

  <Step title="Grant API scopes">
    Go to **Okta API Scopes** and grant the following permissions:

    ```
    okta.apps.read
    okta.appGrants.read
    okta.factors.read
    okta.groups.read
    okta.logs.read
    okta.roles.read
    okta.userTypes.read
    okta.users.read
    okta.policies.read
    okta.features.read
    okta.authenticators.read
    okta.apiTokens.read
    okta.agentPools.read
    okta.oauthIntegrations.read
    ```
  </Step>

  <Step title="Grant remediation permissions (optional)">
    To perform remediations, grant the following additional permissions:

    To disable dormant accounts:

    ```
    okta.users.manage
    ```

    To remove dormant accounts from groups:

    ```
    okta.groups.manage
    ```

    To validate that the Oleria app has been granted group management permission:

    ```
    okta.appGrants.read
    ```
  </Step>

  <Step title="Assign the Super Administrator role">
    Go to **Admin roles**, select **Edit assignments**, and add the **Super Administrator** role.

    <Note>
      While both super admin and read-only administrator roles can retrieve user information, read-only administrators have limited access to administrator metadata. Specifically, read-only administrators cannot retrieve user role assignments via the API.
    </Note>

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-7.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=64c84aff1b3ba111564c786d4889262e" alt="Okta admin role comparison: super admin vs read-only admin capabilities" width="800" height="293" data-path="images/integrations/okta/step-7.png" />
  </Step>
</Steps>

## Connect Okta to Oleria

<Steps>
  <Step title="Open the integration">
    Go to your Oleria workspace, select **Integrations** → select **Okta**.

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-8.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=20e8b71045e5167c08fda6d31be383c5" alt="Goto your Oleria workspace, select Integrations, select Okta" width="800" height="159" data-path="images/integrations/okta/step-8.png" />
  </Step>

  <Step title="Provide your credentials">
    Select **Continue** and provide the following:

    * **Org URL** - your Okta URL (do not use the Okta admin URL)
    * **Client ID** - copied from the app configuration above
    * **Private key** - copied from the app configuration above

          <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-9.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=74a1edd07ce655c7e3e746aacc2f79ef" alt="Provide Org URL, Client ID, and Private key" width="775" height="504" data-path="images/integrations/okta/step-9.png" />
  </Step>

  <Step title="Confirm the connection">
    Find the newly integrated Okta instance in your Oleria workspace connected integrations.

    <img src="https://mintcdn.com/oleria/JQNzbB9a7dBTORxV/images/integrations/okta/step-10.png?fit=max&auto=format&n=JQNzbB9a7dBTORxV&q=85&s=b7e97d19f0585a1511016d81f78aaa84" alt="Find the newly integrated Okta instance in your Oleria workspace connected integrations." width="800" height="298" data-path="images/integrations/okta/step-10.png" />
  </Step>
</Steps>

## Contact us

For questions about this integration, contact us at [support@oleria.com](mailto:support@oleria.com).
