Nailing the Security Audit with RRCU

ConductorOne docs

Set up a GitHub Enterprise connector

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

GitHub versus GitHub Enterprise: which integration should I use? Follow the instructions on this page if your organization accesses GitHub at a custom domain.

If you at access GitHub at github.com, go to the GitHub integration.

Capabilities

  • Sync user identities from GitHub Enterprise to ConductorOne

  • Resources supported:

    • Repositories
    • Teams
    • Orgs
  • Provisioning supported:

    • Repositories
    • Teams
    • Orgs

Add a new GitHub Enterprise connector

This task requires either the Connector Administrator or Super Administrator role in ConductorOne.

  1. In ConductorOne, click Connectors > Add connector.

  2. Search for GitHub Enterprise and click Add.

  3. Choose how to set up the new GitHub Enterprise 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 ConductorOne)

    • Add the connector to a managed app (select from the list of existing managed apps)

    • Create a new managed app

    Do you SSO into GitHub Enterprise using your identity, SSO, or federation provider? If so, make sure to add the connector to the unmanaged GitHub Enterprise app that was created automatically when you integrated your provider with ConductorOne, rather than creating a new managed app.

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

    A GitHub Enterprise connector owner must have the following permissions:

    • Connector Administrator or Super Administrator role in ConductorOne
    • Org Owner access in GitHub Enterprise
  1. Click Next.

Next steps

  • If you are the connector owner, proceed to Integrate your GitHub Enterprise instance [chosen method] for instructions on integrating GitHub Enterprise with ConductorOne.

  • If someone else is the connector owner, ConductorOne will notify them by email that their help is needed to complete the setup process.

Choose the appropriate set of integration instructions based on the type of GitHub Enterprise access token you want to use with ConductorOne:

Option 1: Integrate your GitHub Enterprise instance using a personal access token (classic)

Follow these instructions to integrate your GitHub Enterprise instance by using a GitHub Enterprise personal access token (classic).

A user with the Connector Administrator or Super Administrator role in ConductorOne and Org Owner access in GitHub Enterprise must perform this task.

If you’re using SAML single sign-on, avoid a You must grant your Personal Access token access to this organization error by following the Authorizing a personal access token for use with SAML single sign-on instructions in the GitHub documentation.

Step 1: Create a GitHub Enterprise personal access token (classic)

  1. In GitHub Enterprise, click your profile photo, then click Settings.

  2. In the left sidebar, select Developer settings.

  3. Click Personal access tokens > Tokens (classic).

  4. Click Generate new token > Generate new token (classic).

  5. Name your token (for example, ConductorOne Integration). Optionally, add a token expiration date.

  6. Select the following Scopes:

    • repo - select all
    • admin:org - select all if using ConductorOne for GitHub Enterprise provisioning (see the note below), or read::org otherwise
    • user - select all

    The write::org scope is used by ConductorOne when automatically provisioning and deprovisioning GitHub Enterprise access on your behalf. If you do not want ConductorOne to perform these tasks for you, do not give your token this scope.

  1. Click Generate token. Copy and save the new token. We’ll use it in Step 3.

If you use SAML SSO, you must authorize the PAT using these instructions.

Step 2: Add your GitHub Enterprise credentials to ConductorOne

  1. In ConductorOne, navigate to the GitHub Enterprise connector by either:

    • Clicking the Set up connector link in the email you received about configuring the connector.

    • Navigate to Connectors > GitHub Enterprise (if there is more than one GitHub Enterprise listed, click the one with your name listed as owner and the status Not connected).

  2. Find the Settings area of the page and click Edit.

  3. In the Instance URL field, enter the URL of your GitHub Enterprise instance.

  4. Paste the token you generated in Step 1 into the Personal access token field.

  5. Optional. If you want to sync only specific organizations, enter the organizations’ names in the Orgs field. If you do not specify specific organizations, ConductorOne will sync all organizations.

  6. Click Save.

  7. The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.

That’s it! Your GitHub Enterprise connector is now pulling access data into ConductorOne.

Option 2: Integrate your GitHub Enterprise instance using a fine-grained access token

Follow these instructions to integrate your GitHub Enterprise instance by using a GitHub Enterprise fine-grained personal access token.

A user with the Connector Administrator or Super Administrator role in ConductorOne and Org Owner access in GitHub Enterprise must perform this task.

Before you begin: Make sure that your GitHub Enterprise organization is set up to allow use of fine-grained personal access tokens by following the GitHub Enterprise documentation on Setting a personal access token policy for your organization.

Step 1: Create a GitHub Enterprise fine-grained access token

  1. In GitHub Enterprise, click your profile photo, then click Settings.

  2. In the left sidebar, select Developer settings.

  3. Click Personal access tokens > Fine-grained tokens.

  4. Click Generate new token.

  5. Name your token (for example, ConductorOne Integration) and set a token expiration date. Optionally, add a description.

  6. In the Resource owner dropdown, select a resource owner. The token is able to access resources owned by the selected resource owner. Organizations will not appear unless they have opted in to fine-grained personal access tokens.

  7. In the Repository access section of the page, select All repositories.

  8. In the Permissions section of the page, give the token the following permissions:

    • Organization permissions:

      • Members: Read and write access
    • Repository permissions:

      • Administration: Read and write access
      • Metadata: Read-only access

    The repository permissions are used by ConductorOne to sync and display data on repo membership, and to provision repository permissions for GitHub Enterprise accounts. If you do not want ConductorOne to sync and display your GitHub Enterprise organization’s repo data, do not give your token these permissions.

  1. Click Generate token. Copy and save the new token. We’ll use it in Step 3.

Step 2: Add your GitHub Enterprise credentials to ConductorOne

  1. In ConductorOne, navigate to the GitHub Enterprise connector by either:

    • Clicking the Set up connector link in the email you received about configuring the connector.

    • Navigate to Connectors > GitHub Enterprise (if there is more than one GitHub Enterprise listed, click the one with your name listed as owner and the status Not connected).

  2. Find the Settings area of the page and click Edit.

  3. In the Instance URL field, enter the URL of your GitHub Enterprise instance.

  4. Paste the token you generated in Step 1 into the Personal access token field.

  5. Click Save.

  6. The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.

That’s it! Your GitHub Enterprise connector is now pulling access data into ConductorOne.

Configure the GitHub Enterprise integration using Terraform

As an alternative to the integration process described above, you can use Terraform to configure the integration between GitHub Enterprise and ConductorOne.

See the ConductorOne GitHub Enterprise integration resource page in the ConductorOne Terraform registry for example usage and the full list of required and optional parameters.