Configure provisioning for GitHub Enterprise with Zoho Directory

Configure provisioning for GitHub Enterprise with Zoho Directory


User provisioning with GitHub enables you to provision and deprovision users in GitHub from the Zoho Directory Admin Panel, enabling you to use Zoho Directory as a single source of truth for identity management.

Prerequisites

  1. Zoho Directory role: Organization Owner or Organization Admin
  2. GitHub permissions: Owner or admin role
  3. To allow your organization's users to easily access GitHub without having to sign in to it separately, set up single sign-on (SSO).

In Zoho Directory: Set up provisioning

  1. Sign in to Zoho Directory, then click Admin Panel in the left menu.
  2. Go to App Management, the Applications module opens by default.
  3. Click Add Application, search GitHub and click Add.
  4. Name your app, then enter your GitHub slug in the account name.
    Notes
    Note:The slug is the final, readable part of a web address that identifies a specific page. For example, in the URL "https://github.com/enterprises/zylker", the slug is "zylker".
  5. Select Enterprise as the account type.
  6. If you want to test the configuration before allowing users to access GitHub, uncheck Display app to users. You can later make the app visible to all users.
  7. Click Add.
    Notes
    To allow your organization's users to easily access GitHub without having to sign in to it separately, set up single sign-on (SSO).
  8. Click Provisioning tab.

In GitHub: Generate and Authorize the SCIM Token

  1. Open a new tab in your browser and sign in to GitHub.
  2. Click User Navigation Menu icon in the top-right corner, then click Settings.
  3. Click Developer Settings, then click Personal access tokens.
  4. Select Token(Classic), then click Generate new token.
  5. Click Generate new token (classic).
  6. Enter a name for the token in the Note field, then set No Expiration in the Expiration field.
  7. To configure the scope, scroll down to find scim:enterprise and check its box.
  8. Click Generate SCIM Token. Copy and save the generated token.
  9. Next click the User Navigation Menu icon in the top-right corner, then click Enterprise.
  10. Click the Identity provider tab in the top panel, then select Single Sign-on Configuration.
  11. Under Open SCIM Configuration, enable the toggle next to Enable open SCIM configuration.
  12. Return to the Zoho Directory tab, then paste the copied SCIM token into the SCIM token field.
  13. Click Authorize. The authorization happens in the backend and will proceed to Field mapping.
    Notes
    If you have an active GitHub session in your current browser, you'll be proceeded to the next step. Otherwise, you have manually authorize the integration using your Github account credentials.

Configure Field Mapping

  1. Select the fields that have to be synced with GitHub, and map a relevant Zoho Directory field with them.
  2. Choose how you want the field to be mapped:
    1. Profile field: Maps the field to an existing Zoho profile field with the same or corresponding field name.
    2. Hardcoded value: Enter a fixed value. This value will remain the same for all users and will not change automatically.
    3. Expression: The expression concat(user.First name, "@domain.com") appends "@domain.com" to the user's First name field value. 
  3. Click Save and Next.
    NotesBy default, all GitHub fields will be mapped to a relevant Zoho Directory field. To change this mapping, you should have the Standard or Professional plans in Zoho Directory.

Configure settings to perform actions on GitHub Enterprise user profile

  1. Choose which of the changes made to user profiles in Zoho Directory have to be synced with GitHub:
    1. Create users: Assigning a user to GitHub in Zoho Directory automatically creates a new user account in GitHub.
    2. Update user profile: If a user account already exists in GitHub for a user, any changes made to the mapped fields in the user's profile in Zoho Directory will be synced with GitHub.
    3. Delete users: Deleting a user or unassigning a user from GitHub application in Zoho Directory will delete the user's account in GitHub.
    4. Activate and deactivate users: Activating a user in Zoho Directory activates the user in GitHub, and deactivating a user in Zoho Directory deletes the user in GitHub. Additionally, users who have an account in GitHub will be activated when they are assigned to GitHub in Zoho Directory.
  2. Click Save.

Configure importing of users

  1. If you'd like to have the users in GitHub to be imported to Zoho Directory, click Import. It is advisable to import users to Zoho Directory during initial setup or when activating the app after a while. A list of users that can be imported will be displayed.
  2. The following filters can be used to select users to import:
    1. New Users: Users that are present in GitHub, but not in Zoho Directory. These users will be created in Zoho Directory, and GitHub will be assigned to them.
    2. Update Users: Users in GitHub who already exist in Zoho Directory will have their profile attributes updated based on the source profile you choose. The selected user's existing details will be overwritten with the field values from the chosen source.
      Notes
      Note: The source profile is an app that acts as a source of truth.
    3. Users to Activate: GitHub users who are inactive in Zoho Directory but active in GitHub will be listed here. These users will be activated in Zoho Directory and assigned to GitHub.
    4. Users to Deactivate: GitHub users who are active in Zoho Directory but inactive in GitHub will be listed here. These users will be disabled from GitHub application in Zoho Directory after import.
  3. Click Confirm Assignment.
  4. Click Done.