Note: OpenID Connect (OIDC) and Conditional Access Policy (CAP) support for Enterprise Managed Users is only available for Azure AD.
About migrating your enterprise with managed users from SAML to OIDC
If your enterprise with managed users uses SAML SSO to authenticate with Azure Active Directory (Azure AD), you can migrate to OIDC. When your enterprise uses OIDC SSO, GitHub will automatically use your IdP's conditional access policy (CAP) IP conditions to validate user interactions with GitHub, when members change IP addresses, and each time a personal access token or SSH key is used.
When you migrate from SAML to OIDC, managed user accounts and groups that were previously provisioned for SAML but are not provisioned by the GitHub Enterprise Managed User (OIDC) application will have "(SAML)" appended to their display names.
If you're new to Enterprise Managed Users and haven't yet configured authentication for your enterprise, you do not need to migrate and can set up OIDC single sign-on immediately. For more information, see "Configuring OIDC for Enterprise Managed Users."
Migrating your enterprise
Note: To sign in as the setup user, you will need a recovery code. If you do not already have your recovery codes, you can access the codes while signed in as an enterprise owner. For more information, see "Downloading your enterprise account's single sign-on recovery codes."
-
Before you begin the migration, sign in to Azure and disable provisioning in the existing GitHub Enterprise Managed User application.
-
If you use Conditional Access (CA) network location policies in Azure AD, and you're currently using an IP allow list with your enterprise account or any of the organizations owned by the enterprise account on GitHub.com, disable the IP allow lists. For more information, see "Enforcing security settings in your enterprise" and "Managing allowed IP addresses for your organization."
-
Sign into GitHub.com as the setup user for your enterprise with the username @SHORT-CODE_admin.
-
When prompted to continue to your identity provider, click Use a recovery code and sign in using one of your enterprise's recovery codes.
-
In the top-right corner of GitHub.com, click your profile photo, then click Your enterprises.
-
In the list of enterprises, click the enterprise you want to view.
-
In the enterprise account sidebar, click Settings.
-
In the left sidebar, click Authentication security.
-
At the bottom of the page, next to "Migrate to OpenID Connect single sign-on", click Configure with Azure.
Warning: The migration can take up to an hour, and it is important that no users are provisioned during the migration. You can confirm if the migration is still in progress by returning to your enterprise's security settings page; if "Require SAML authentication" is still checked, the migration is still in progress.
-
Read both warnings and click to continue.
-
After GitHub Enterprise Cloud redirects you to your IdP, sign in, then follow the instructions to give consent and install the GitHub Enterprise Managed User (OIDC) application. After Azure AD asks for permissions for GitHub Enterprise Managed Users with OIDC, enable Consent on behalf of your organization, then click Accept.
Warning: You must sign in to Azure AD as a user with global admin rights in order to consent to the installation of the GitHub Enterprise Managed User (OIDC) application.
-
In a new tab or window, while signed in as the setup user on GitHub.com, create a personal access token (classic) with the admin:enterprise scope and no expiration and copy it to your clipboard. For more information about creating a new token, see "Creating a personal access token."
-
In the settings for the GitHub Enterprise Managed User (OIDC) application in Azure Portal, under "Tenant URL", type
https://api.github.com/scim/v2/enterprises/YOUR_ENTERPRISE
, replacing YOUR_ENTERPRISE with the name of your enterprise account.For example, if your enterprise account's URL is
https://github.com/enterprises/octo-corp
, the name of the enterprise account isocto-corp
. -
Under "Secret token", paste the personal access token (classic) with the admin:enterprise scope that you created earlier.
-
To test the configuration, click Test Connection.
-
To save your changes, at the top of the form, click Save.
-
In Azure Portal, copy the users and groups from the old GitHub Enterprise Managed User application to the new GitHub Enterprise Managed User (OIDC) application.
-
Test your configuration by provisioning a single new user.
-
If your test is successful, start provisioning for all users by clicking Start provisioning.