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

# Set up a CrowdStrike connector

> C1 provides identity governance for CrowdStrike. Integrate your CrowdStrike instance with C1 to run user access reviews (UARs), enable just-in-time access requests, and automatically provision and deprovision access.

## Capabilities

| Resource          | Sync                                                          | Provision                                                     |
| :---------------- | :------------------------------------------------------------ | :------------------------------------------------------------ |
| Accounts          | <Icon icon="square-check" iconType="solid" color="#c937ae" /> |                                                               |
| Roles             | <Icon icon="square-check" iconType="solid" color="#c937ae" /> | <Icon icon="square-check" iconType="solid" color="#c937ae" /> |
| Insights (opt-in) | <Icon icon="square-check" iconType="solid" color="#c937ae" /> |                                                               |

**Additional functionality:**

The CrowdStrike connector supports [external insights](/product/admin/external-insights) when your organization has a Falcon Identity Protection license. See [Enable risk score ingestion](#enable-risk-score-ingestion) for setup instructions.

## Gather CrowdStrike credentials

Configuring the connector requires you to pass in credentials generated in CrowdStrike. Gather these credentials before you move on.

<Warning>
  A user with the **Falcon Administrator** role in CrowdStrike must perform this task.
</Warning>

### Create a CrowdStrike API client

<Steps>
  <Step>
    Sign into the Falcon console and navigate to **Support** > **API Clients and Keys**.
  </Step>

  <Step>
    Click **+ Add new API client**.
  </Step>

  <Step>
    Give the new API client a name, such as "C1 integration" and add a description.
  </Step>

  <Step>
    In the **API SCOPES** section of the page, select the appropriate **User management** scopes:

    * **Read** and **Write** to sync access data and provision CrowdStrike roles
    * **Read** to sync access data
  </Step>

  <Step>
    Click **ADD**.
  </Step>

  <Step>
    The new API client is created, and its client ID and client secret are shown. Carefully copy and save these credentials.
  </Step>
</Steps>

**Done.** Next, move on to the connector configuration instructions.

## Configure the CrowdStrike connector

<Warning>
  To complete this task, you'll need:

  * The **Connector Administrator** or **Super Administrator** role in C1
  * Access to the set of CrowdStrike credentials generated by following the instructions above
</Warning>

<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 **Integrations** > **Connectors** and click **Add connector**.
      </Step>

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

      <Step>
        Choose how to set up the new CrowdStrike connector:

        * Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren't yet managed with C1)
        * Add the connector to a managed app (select from the list of existing managed apps)
        * Create a new managed app
      </Step>

      <Step>
        Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of C1 users. Setting multiple owners is allowed.

        If you choose someone else, C1 will notify the new connector owner by email that their help is needed to complete the setup process.
      </Step>

      <Step>
        Click **Next**.
      </Step>

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

      <Step>
        In the **Client ID** and **Client secret** fields, enter the CrowdStrike credentials.
      </Step>

      <Step>
        **Optional.** Enter your CrowdStrike region in the **Region** field. The default region is **US-1**.
      </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 CrowdStrike connector is now pulling access data into C1.
  </Tab>

  <Tab title="Self-hosted">
    **Follow these instructions to use the CrowdStrike connector, hosted and run in your own environment.**

    When running in service mode on Kubernetes, a self-hosted connector maintains an ongoing connection with C1, automatically syncing and uploading data at regular intervals. This data is immediately available in the C1 UI for access reviews and access requests.

    ### Resources

    * [Official download center](https://dist.conductorone.com/ConductorOne/baton-crowdstrike): For stable binaries (Windows/Linux/macOS) and container images.

    * [GitHub repository](https://github.com/conductorone/baton-crowdstrike): Access the source code, report issues, or contribute to the project.

    ### Step 1: Set up a new CrowdStrike connector

    <Steps>
      <Step>
        In C1, navigate to **Integrations** > **Connectors** > **Add connector**.
      </Step>

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

      <Step>
        Choose how to set up the new CrowdStrike connector:

        * Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren't yet managed with C1)
        * Add the connector to a managed app (select from the list of existing managed apps)
        * Create a new managed app
      </Step>

      <Step>
        Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of C1 users. Setting multiple owners is allowed.

        If you choose someone else, C1 will notify the new connector owner by email that their help is needed to complete the setup process.
      </Step>

      <Step>
        Click **Next**.
      </Step>

      <Step>
        In the **Settings** area of the page, click **Edit**.
      </Step>

      <Step>
        Click **Rotate** to generate a new Client ID and Secret.

        Carefully copy and save these credentials. We'll use them in Step 2.
      </Step>
    </Steps>

    ### Step 2: Create Kubernetes configuration files

    Create two Kubernetes manifest files for your CrowdStrike connector deployment:

    #### Secrets configuration

    ```yaml expandable theme={"theme":{"light":"css-variables","dark":"css-variables"}}
    # baton-crowdstrike-secrets.yaml
    apiVersion: v1
    kind: Secret
    metadata:
      name: baton-crowdstrike-secrets
    type: Opaque
    stringData:
      # C1 credentials
      BATON_CLIENT_ID: <C1 client ID>
      BATON_CLIENT_SECRET: <C1 client secret>

      # CrowdStrike credentials
      BATON_CROWDSTRIKE_CLIENT_ID: <Client ID for the CrowdStrike API client>
      BATON_CROWDSTRIKE_CLIENT_SECRET: <Client secret for the CrowdStrike API client>
      BATON_REGION: <CrowdStrike region, options include 'us-1' (default), 'us-2', 'eu-1', and 'us-gov-1'>

      # Optional: include if you want C1 to provision access using this connector
      BATON_PROVISIONING: true
    ```

    See the connector's README or run `--help` to see all available configuration flags and environment variables.

    #### Deployment configuration

    ```yaml expandable theme={"theme":{"light":"css-variables","dark":"css-variables"}}
    # baton-crowdstrike.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: baton-crowdstrike
      labels:
        app: baton-crowdstrike
    spec:
      selector:
        matchLabels:
          app: baton-crowdstrike
      template:
        metadata:
          labels:
            app: baton-crowdstrike
            baton: true
            baton-app: crowdstrike
        spec:
          containers:
          - name: baton-crowdstrike
            image: ghcr.io/conductorone/baton-crowdstrike:latest
            imagePullPolicy: IfNotPresent
            env:
            - name: BATON_HOST_ID
              value: baton-crowdstrike
            envFrom:
            - secretRef:
                name: baton-crowdstrike-secrets
    ```

    ### Step 3: Deploy the connector

    <Steps>
      <Step>
        Create a namespace in which to run C1 connectors (if desired), then apply the secret config and deployment config files.
      </Step>

      <Step>
        Check that the connector data uploaded correctly. In C1, click **Apps**. On the **Managed apps** tab, locate and click the name of the application you added the CrowdStrike connector to. CrowdStrike data should be found on the **Entitlements** and **Accounts** tabs.
      </Step>
    </Steps>

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

## Enable risk score ingestion

<Warning>
  **Early access.** This feature is in early access, which means it's undergoing ongoing testing and development while we gather feedback, validate functionality, and improve outputs. Contact the C1 Support team if you'd like to try it out or share feedback.
</Warning>

The CrowdStrike connector can ingest Falcon identity risk scores and surface them in C1 during access reviews and access request approvals. See [External insights](/product/admin/external-insights) for an overview of where risk data appears.

### Before you begin

Confirm that:

* Your organization has a **CrowdStrike Falcon Identity Protection** license
* You have the **Falcon Administrator** role in CrowdStrike
* Your CrowdStrike connector is already set up and syncing in C1

### Add required API scopes

The CrowdStrike API client you created during connector setup needs additional scopes to access risk score data.

<Steps>
  <Step>
    Sign into the Falcon console and navigate to **Support** > **API Clients and Keys**.
  </Step>

  <Step>
    Find the API client you created for the C1 integration and click to edit it.
  </Step>

  <Step>
    In the **API SCOPES** section, enable the following scopes:

    * **Identity Protection Entities: Read**
    * **Identity Protection GraphQL: Write** (This is required by CrowdStrike to fetch the data)
  </Step>

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

**Done.** Your CrowdStrike connector will now sync risk score data into C1. See [External insights](/product/admin/external-insights) for details on where to see this data in the UI.
