Use JumpCloud SAML Single Sign On (SSO) to give your users convenient but secure access to all their web applications with a single set of credentials. Automatically provision, update and deprovision users and groups in Github Enterprise Cloud from JumpCloud using the Identity Management (SCIM) integration. Leverage this integration to centralize user lifecycle, user identity, and group management in JumpCloud for Github Enterprise Cloud. Save time and avoid mistakes, as well as potential security risks, related to manually creating users.
Read this article to learn how to setup the GitHub Enterprise Cloud - Enterprise Accounts integration.
Prerequisites
- A JumpCloud administrator account
- JumpCloud SSO Package or higher or SSO add-on feature
- GitHub Enterprise Managed Users enterprise account
- A setup admin user account with 2FA configured
- A personal access token:
- You must be signed in as the setup user when the token is created
- The token must have at least the scim:enterprise scope
- The token must have no expiration
- Your GitHub Enterprise name
Creating a new JumpCloud Application Integration
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Click + Add New Application.
- Type the name of the application in the Search field and select it.
- Click Next.
- In the Display Label, type your name for the application.
- Optionally, you can enter:
- Description - add a description that users will see in their user portal
- User Portal Image - choose Logo or Color Indicator
- Show in User Portal - enable this option for this to be visible in the user portal
- Expand Advanced Settings and enter your GitHub Enterprise name to the end of the SSO IdP URL, https://sso.jumpcloud.com/saml2/{EMU_SLUG}
The SSO IdP URL is not editable after the application is created. You will have to delete and recreate the connector if you need to edit this field at a later time.
- Click Save Application.
- If successful, click:
- Configure Application and go to the next section
- Close to configure your new application at a later time
Configuring the SSO Integration
To configure JumpCloud
- Create a new application or select it from the Configured Applications list.
- Select the SSO tab.
- Replace any instances of ENTERPRISE_SLUG with your GitHub Enterprise name.
- In the Login URL, enter https://github.com/enterprises/{EMU_SLUG}/sso.
- Replace EMU_SLUG with your GitHub Enterprise name
- Click Save.
Download the certificate
- Find your application in the Configured Applications list and click anywhere in the row to reopen its configuration window.
- Go to SSO tab > Actions > Download certificate.
The certificate.pem will download to your local Downloads folder.
To configure GitHub Enterprise Cloud – Enterprise Accounts
- Sign in to GitHub.com with your setup admin user.
- Go to Enterprise settings > Identity Provider and select SAML.
- Enter the following information:
- Sign On URL - copy and paste the JumpCloud IDP URL
- Issuer - copy and paste the JumpCloud IdP Entity ID
- Public Certificate - copy and paste the certificate downloaded in the previous section
- Test the SAML connection.
- If successful, click Save SAML Settings.
- Download the recovery codes and enable SAML.
- From the Single Sign on configuration panel, Enable Open SCIM Configuration to start your SCIM configuration.
Authorizing User SSO Access
Users are implicitly denied access to applications. After you connect an application to JumpCloud, you need to authorize user access to that application. You can authorize user access from the Applications, Users List or User Groups page.
To authorize user access from the Application’s page
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications, then select the application to which you want to authorize user access.
- Select the User Groups tab. If you need to create a new group of users, see Get Started: User Groups.
- Select the check box next to the desired group of users to which you want to give access.
- Click Save.
To learn how to authorize user access from the Users or User Groups pages, see Authorize Users to an SSO Application.
Validating SSO user authentication workflow(s)
IdP-initiated user workflow
- Access the JumpCloud User Console
- Go to Applications and click an application tile to launch it
- JumpCloud asserts the user's identity to the SP and is authenticated without the user having to log in to the application
SP-initiated user workflow
- Go to the SP application login - generally, there is either a special link or an adaptive username field that detects the user is authenticated through SSO
This varies by SP.
- Login redirects the user to JumpCloud where the user enters their JumpCloud credentials
- After the user is logged in successfully, they are redirected back to the SP and automatically logged in
Configuring the Identity Management Integration
To configure JumpCloud
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Search for GitHub Enterprise Cloud - Enterprise Accounts and select it.
- Select the Identity Management tab.
- Select or enter the following:
- API Type - SCIM API
- SCIM Version - SCIM 2.0
- Base URL - https://api.github.com/scim/v2/enterprises/{EMU_SLUG}
- Replace EMU_SLUG with your GitHub Enterprise name
- Token Key - enter your Github personal access token (generated as a prerequisite)
- Test User Email - enter your setup admin user's email
- Click Test Connection.
- If successful, enable Group Management.
- Map the following user attributes:
- Password | Password
- UserName | Company Email
- Click Activate.
To configure GitHub Enterprise Cloud
To complete your setup you will need to update the role of at least one of your users to Enterprise
Owner. The “Roles” attribute is not supported by JumpCloud nor can it be set in JumpCloud so you will need
to update the role for your user via Github's API. This is only needed for the Enterprise Owner, all other users are provisioned as Enterprise Members.
For more details on the Roles for Enterprise Managed Users, review the following documentation:
- Roles in an enterprise - GitHub Enterprise Cloud Docs
- REST API endpoints for SCIM - GitHub Enterprise Cloud Docs
Assigning the Enterprise Owner Role
Before proceeding, it’s important that you complete all the SCIM setup steps and can confirm that your users have been provisioned within your GitHub Enterprise tenant.
- Obtain the externalID and the ID for the user whose role will be elevated to Enterprise Owner by personalizing (replacing values within the curly brackets) and executing the following call for a Users list:
curl --location 'https://api.github.com/scim/v2/enterprises/{{enterprise}}/Users' \
--header 'Authorization: Bearer {{setup_user_SCIM_token}}‘
- From the output, note the values for "externalID" and "id" for the user you want to make the Enterprise Owner.
- Personalize (replacing values in the curly brackets) and execute the following call to elevate the user's role:
curl --location --request PATCH 'https://api.github.com/scim/v2/enterprises/{{enterprise}}/Users/b25e9296-20f9-11f0-8570-4d4bff8946ab' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{setup_user_SCIM_token}}' \
--data '{
"Operations":[{
"op":"replace",
"path" : "roles",
"value": [
{
"value": "enterprise_owner",
"primary": true
}
]
}
]
}'
- You can confirm the Enterprise Owner role has been added from the output of this call.
- Refresh your Enterprise Admin portal.
- Go to the People Tab > Administrators and confirm users are displayed.
- Log out as the setup admin and log back in with the new Enterprise Owner user's account.
- You can now create organizations teams and assign roles.
Importing Users
This functionality is helpful if users have already been created in the application but have not been created in JumpCloud.
Users that are suspended in the application will not be created in JumpCloud.
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Search for the application and click to open its configuration panel.
- Select the Identity Management tab.
- Click manual import.
- Select the users you want to create in JumpCloud from the application from the list of users that appear. Users in the list have two import statuses:
- New - user has not been imported
- Imported - user has been imported and has an account in JumpCloud
Tip: Try using the New Users-only filter when selecting users to import. This will move all of your new users to the top of the list, making them easier to identify and select.
- Click import.
- If you are importing less than 100 users, your import results will display in real time and you can continue onboarding your users
- If you have more than 100 users being imported, JumpCloud will send you an email when your import is complete
- You can now connect and grant users access to all their JumpCloud resources. Learn more in the Authorize Users to an Application and Connecting Users to Resources articles.
Warning: Imported users must be members of a user group bound to an application for JumpCloud to manage their identity in, and access to, the application.
SCIM Directory Insights Events
The following Directory Insights (DI) events provide visibility into failures and detailed information about the user and group data being added or updated from HR or other external solutions to JumpCloud.
Customers with no package or the Device Management Package will need to add the Directory Insights à la carte option. Directory Insights is included in all other packages.
SCIM DI Integration Events
Event Name | Event Description |
---|---|
idm_integration_activate | Logged when an IT admin attempts to activated new SCIM Identity Management integration. |
idm_integration_update | Logged when an IT admin attempts to update a configured and activated SCIM Identity Management integration. |
idm_integration_reauth | Logged when an IT admin attempts to change the credentials for an activated SCIM Identity Management integration. |
idm_integration_delete | Logged when an IT admin attempts to deactivate an activated SCIM Identity Management integration. |
SCIM DI User Events
Event Name | Event Description |
---|---|
user_create_provision | Logged when JumpCloud tries to create a new user in service provider application. |
user_update_provision | Logged when JumpCloud tries to update an existing user in service provider application. |
user_deprovision | Logged when JumpCloud tries to change an existing user to inactive in the service provider application. |
user_delete_provision | Logged when JumpCloud tries to delete an existing user in service provider application. |
user_lookup_provision | Logged when JumpCloud encounters an issue when trying to lookup a user to determine if the user needs to be created or updated. |
SCIM DI Group Events
These DI events will only be present if SCIM Groups are supported.
Event Name | Event Description |
---|---|
group_create_provision | Logged when JumpCloud tries to create a new group in service provider application. |
group_update_provision | Logged when JumpCloud tries to update an existing group in service provider application. |
group_delete_provision | Logged when JumpCloud tries to delete an existing group in service provider application. |
Removing the Integration
These are steps for removing the integration in JumpCloud. Consult your SP's documentation for any additional steps needed to remove the integration in the SP. Failure to remove the integration successfully for both the SP and JumpCloud may result in users losing access to the application.
To deactivate the IdM Integration
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Search for the application that you’d like to deactivate and click to open its details panel.
- Under the company name and logo on the left hand panel, click the Deactivate IdM connection link.
- Click confirm.
- If successful, you will receive a confirmation message.
To deactivate the SSO Integration or Bookmark
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Search for the application that you’d like to deactivate and click to open its details panel.
- Select the SSO or Bookmark tab.
- Scroll to the bottom of the configuration.
- Click Deactivate SSO or Deactivate Bookmark.
- Click save.
- If successful, you will receive a confirmation message.
To delete the application
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Search for the application that you’d like to delete.
- Check the box next to the application to select it.
- Click Delete.
- Enter the number of the applications you are deleting
- Click Delete Application.
- If successful, you will see an application deletion confirmation notification.