Skip to main content

Migrating from SAML to OIDC

If you're using SAML to authenticate members in your enterprise with managed users, you can migrate to OpenID Connect (OIDC) and benefit from support for your IdP's Conditional Access Policy.

Para administrar a los usuarios de tu empresa con tu proveedor de identidad, esta debe habilitarse para Enterprise Managed Users, los cuales están disponibles con GitHub Enterprise Cloud. Para obtener más información, vea "Enterprise Managed Users".

Nota: La compatibilidad de OpenID Connect (OIDC) y la directiva de acceso condicional (CAP) con Enterprise Managed Users solo está disponible para 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."

  1. Before you begin the migration, sign in to Azure and disable provisioning in the existing GitHub Enterprise Managed User application.

  2. 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."

  3. Sign into GitHub.com as the setup user for your enterprise with the username @SHORT-CODE_admin.

  4. When prompted to continue to your identity provider, click Use a recovery code and sign in using one of your enterprise's recovery codes.

  5. En la esquina superior derecha de GitHub.com, haga clic en la imagen de perfil y después en Your enterprises. "Your enterprises" en el menú desplegable de la imagen de perfil en GitHub Enterprise Cloud

  6. En la lista de empresas, da clic en aquella que quieras ver. Nombre de una empresa en la lista de sus empresas

  7. En la barra lateral de la cuenta de empresa, haga clic en Configuración. Pestaña Configuración en la barra lateral de la cuenta de empresa

  8. In the left sidebar, click Authentication security. Security tab in the enterprise account settings sidebar

  9. 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.

    Screenshot showing the "Configure with Azure" button

  10. Read both warnings and click to continue.

  11. Cuando GitHub Enterprise Cloud te redirija a tu proveedor de identidades, inicia sesión en el proveedor de identidades y sigue las instrucciones para dar tu consentimiento e instalar la aplicación GitHub Enterprise Managed User (OIDC). Cuando Azure AD solicite permisos para GitHub Enterprise Managed Users con OIDC, habilita Consentimiento en nombre de la organización y, a continuación, haz clic en Aceptar.

    Advertencia: Debes iniciar sesión en Azure AD como usuario con derechos de administrador global para dar tu consentimiento a la instalación de la aplicación GitHub Enterprise Managed User (OIDC).

  12. 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."

  13. 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 is octo-corp.

  14. Under "Secret token", paste the personal access token (classic) with the admin:enterprise scope that you created earlier.

  15. To test the configuration, click Test Connection.

  16. To save your changes, at the top of the form, click Save.

  17. 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.

  18. Test your configuration by provisioning a single new user.

  19. If your test is successful, start provisioning for all users by clicking Start provisioning.