> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-docs-entitlement-lifecycle-sparse-acl.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Set up an Imperva connector

> C1 provides identity governance for Imperva Cloud WAF. Integrate your Imperva account with C1 for unified visibility and governance over user access.

C1 provides identity governance for Imperva Cloud WAF. Integrate your Imperva
account with C1 for unified visibility and governance over the roles defined in
your account and the users assigned to them.

## Capabilities

| Resource | Sync                                                          | Provision |
| -------- | ------------------------------------------------------------- | --------- |
| Users    | <Icon icon="square-check" iconType="solid" color="#c937ae" /> |           |
| Roles    | <Icon icon="square-check" iconType="solid" color="#c937ae" /> |           |

The connector reads each role in your Imperva account and the users assigned to
it through the Imperva user-management API. Each role is exposed as an
entitlement, and a grant is emitted for every user assigned that role.

## Gather Imperva credentials

<Warning>
  You need an Imperva console user with read access to your account's API keys and
  user-management area so the connector can list roles and their assigned users.
</Warning>

<Steps>
  <Step>
    In the Imperva Cloud Security Console, go to **Account Management** >
    **API Keys** and generate an API ID and API Key pair for a console user.
    Record both values — the API Key is shown only once.
  </Step>

  <Step>
    Note your Imperva **account ID**. It scopes the sync and is passed to the
    user-management API as the `accountId` parameter. You can find it under
    **Account Management** in the console.
  </Step>
</Steps>

## Configure the Imperva connector

<Tabs>
  <Tab title="Cloud-hosted">
    Follow these instructions to use a built-in, no-code connector hosted by C1.

    <Steps>
      <Step>
        In C1, navigate to **Apps** > **Connectors** and click **Add connector**.
      </Step>

      <Step>
        Search for **Imperva** and click **Add**.
      </Step>

      <Step>
        Choose where to add the connector: **Create a new app**, or **Add to an existing app** (then select the app).

        If you're creating a new app, choose whether to link it to an application discovered from your identity provider: select **Yes** and pick the IdP application, or **No** to continue with just the connector.
      </Step>

      <Step>
        Set the connector's **Name** and, optionally, a **Description**.
      </Step>

      <Step>
        Click the pencil icon next to **Owners** to choose who can configure and manage this connector.
      </Step>

      <Step>
        Click **Add**. The connector is created and its configuration page opens.
      </Step>

      <Step>
        Find the **Settings** area of the page and click **Edit**.
      </Step>

      <Step>
        Enter the Imperva credentials:

        * **API ID**: the API ID generated for the console user.
        * **API key**: the API Key generated alongside the API ID.
        * **Account ID**: the Imperva account ID to scope the sync to.
      </Step>

      <Step>
        Click **Save**.
      </Step>

      <Step>
        The connector's label changes to **Syncing**, followed by **Connected**. You can view the logs to ensure that information is syncing.
      </Step>
    </Steps>

    **Done.** Your Imperva connector is now pulling access data into C1.
  </Tab>

  <Tab title="Self-hosted">
    Follow these instructions to run the Imperva connector in your own
    environment.

    <Steps>
      <Step>
        Create a secret for the Imperva API Key.
      </Step>

      <Step>
        Configure the connector with your Imperva API ID, the API Key secret,
        and your account ID.
      </Step>

      <Step>
        Deploy the connector using your standard self-hosted connector process.
      </Step>
    </Steps>

    **Done.** Your Imperva connector is now pulling access data into C1.
  </Tab>
</Tabs>
