Managing team synchronization for your organization

You can enable and disable team synchronization between your identity provider (IdP) and your organization on GitHub.

Organization owners can manage team synchronization for an organization.

Team synchronization is available for organizations and enterprise accounts using GitHub Enterprise Cloud. For more information, see "GitHub's products."

Note: If your enterprise uses Enterprise Managed Users, you cannot use team synchronization and must instead configure SCIM to manage membership with your identity provider. For more information, see "Configuring SCIM provisioning for Enterprise Managed Users."

Note: Team synchronization with Okta is currently in beta and subject to change. Please contact your GitHub Sales account representative to register for the beta.

About team synchronization

You can enable team synchronization between your IdP and GitHub to allow organization owners and team maintainers to connect teams in your organization with IdP groups.

When you synchronize a GitHub team with an IdP group, changes to the IdP group are reflected on GitHub automatically, reducing the need for manual updates and custom scripts. You can use an IdP with team synchronization to manage administrative tasks such as onboarding new members, granting new permissions for movements within an organization, and removing member access to the organization.

You can use team synchronization with supported IdPs.

  • Azure AD
  • Okta

After you enable team synchronization, team maintainers and organization owners can connect a team to an IdP group on GitHub or through the API. For more information, see "Synchronizing a team with an identity provider group" and "Team synchronization."

You can also enable team synchronization for organizations owned by an enterprise account. For more information, see "Enforcing security settings in your enterprise account."

If your organization is owned by an enterprise account, enabling team synchronization or SCIM provisioning for the enterprise account will override your organization-level team synchronization settings. For more information, see "Managing team synchronization for organizations in your enterprise account" and "Configuring SCIM provisioning for Enterprise Managed Users."

Usage limits

There are usage limits for the team synchonization feature. Exceeding these limits will lead to a degredation in performance and may cause synchronization failures.

  • Maximum number of members in a GitHub team: 5,000
  • Maximum number of members in a GitHub organization: 10,000
  • Maximum number of teams in a GitHub organization: 1,500

Enabling team synchronization

The steps to enable team synchronization depend on the IdP you want to use. There are prerequisites to enable team synchronization that apply to every IdP. Each individual IdP has additional prerequisites.

Prerequisites

To enable team synchronization with any IdP, you must obtain administrative access to your IdP or work with your IdP administrator to configure the IdP integration and groups. The person who configures your IdP integration and groups must have one of the required permissions.

IdPRequired permissions
Azure AD
  • Global administrator
  • Privileged Role administrator
Okta
  • Service user with read-only administrator permissions

You must enable SAML single sign-on for your organization and your supported IdP. For more information, see "Enforcing SAML single sign-on for your organization."

You must authenticate to your organization using SAML SSO and the supported IdP. For more information, see "Authenticating with SAML single sign-on."

Enabling team synchronization for Azure AD

To enable team synchronization for Azure AD, your Azure AD installation needs the following permissions.

  • Read all users’ full profiles
  • Sign in and read user profile
  • Read directory data
  1. In the top right corner of GitHub, click your profile photo, then click Your organizations. Your organizations in the profile menu

  2. Next to the organization, click Settings. The settings button

  3. In the left sidebar, click Organization security.

    Organization security settings

  4. Confirm that SAML SSO is enabled. For more information, see "Managing SAML single sign-on for your organization."

  5. Under "Team synchronization", click Enable for Azure AD. Enable team synchronization button on security settings page

  6. Confirm team synchronization.

    • If you have IdP access, click Enable team synchronization. You'll be redirected to your identity provider's SAML SSO page and asked to select your account and review the requested permissions.
    • If you don't have IdP access, copy the IdP redirect link and share it with your IdP administrator to continue enabling team synchronization. Enable team synchronization redirect button
  7. Review the identity provider tenant information you want to connect to your organization, then click Approve. Pending request to enable team synchronization to a specific IdP tenant with option to approve or cancel request

Enabling team synchronization for Okta

To enable team synchronization for Okta, you or your IdP administrator must:

  1. In the top right corner of GitHub, click your profile photo, then click Your organizations. Your organizations in the profile menu

  2. Next to the organization, click Settings. The settings button

  3. In the left sidebar, click Organization security.

    Organization security settings

  4. Confirm that SAML SSO is enabled. For more information, see "Managing SAML single sign-on for your organization."

  5. Under "Team synchronization", click Enable for Okta. Enable team synchronization for Okta button on security settings page

  6. Under your organization's name, type a valid SSWS token and the URL to your Okta instance. Enable team synchronization Okta organization form

  7. Review the identity provider tenant information you want to connect to your organization, then click Create. Enable team synchronization create button

Disabling team synchronization

Warning: When you disable team synchronization, any team members that were assigned to a GitHub team through the IdP group are removed from the team and may lose access to repositories.

  1. In the top right corner of GitHub, click your profile photo, then click Your organizations. Your organizations in the profile menu

  2. Next to the organization, click Settings. The settings button

  3. In the left sidebar, click Organization security.

    Organization security settings

  4. Under "Team synchronization", click Disable team synchronization. Disable team synchronization

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.