Enforcing security settings in your enterprise account

Enterprise owners can enforce certain security policies for all organizations owned by an enterprise account.

Enterprise accounts are available with GitHub Enterprise Cloud. For more information, see "About enterprise accounts."

In this guide

Requiring two-factor authentication for organizations in your enterprise account

Enterprise owners can require that organization members, billing managers, and outside collaborators in all organizations owned by an enterprise account use two-factor authentication to secure their personal accounts.

Before you can require 2FA for all organizations owned by your enterprise account, you must enable two-factor authentication for your own account. For more information, see "Securing your account with two-factor authentication (2FA)."

Warnings:

  • When you require two-factor authentication for your enterprise account, members, outside collaborators, and billing managers (including bot accounts) in all organizations owned by your enterprise account who do not use 2FA will be removed from the organization and lose access to its repositories. They will also lose access to their forks of the organization's private repositories. You can reinstate their access privileges and settings if they enable two-factor authentication for their personal account within three months of their removal from your organization. For more information, see "Reinstating a former member of your organization."
  • Any organization owner, member, billing manager, or outside collaborator in any of the organizations owned by your enterprise account who disables 2FA for their personal account after you've enabled required two-factor authentication will automatically be removed from the organization.
  • If you're the sole owner of a enterprise account that requires two-factor authentication, you won't be able to disable 2FA for your personal account without disabling required two-factor authentication for the enterprise account.

Before you require use of two-factor authentication, we recommend notifying organization members, outside collaborators, and billing managers and asking them to set up 2FA for their accounts. Organization owners can see if members and outside collaborators already use 2FA on each organization's People page. For more information, see "Viewing whether users in your organization have 2FA enabled."

  1. Navigate to your enterprise account by visiting https://github.com/enterprises/ENTERPRISE-NAME, replacing ENTERPRISE-NAME with your enterprise account's name.

  2. In the enterprise account sidebar, click Settings.

    Settings tab in the enterprise account sidebar

  3. In the left sidebar, click Security.

    Security tab in the enterprise account settings sidebar

  4. Under "Two-factor authentication", review the information about changing the setting. Optionally, to view the setting's current configuration for all organizations in the enterprise account before enforcing the setting, click View your organizations' current configurations.

    Link to view the current policy configuration for organizations in the business

  5. Under "Two-factor authentication", select Require two-factor authentication for all organizations in your business, then click Save.

    Checkbox to require two-factor authentication

  6. If prompted, read the information about members and outside collaborators who will be removed from the organizations owned by your enterprise account. To confirm the change, type your enterprise account's name, then click Remove members & require two-factor authentication.

    Confirm two-factor enforcement box

  7. Optionally, if any members or outside collaborators are removed from the organizations owned by your enterprise account, we recommend sending them an invitation to reinstate their former privileges and access to your organization. Each person must enable two-factor authentication before they can accept your invitation.

Enabling SAML single sign-on for organizations in your enterprise account

Enterprise owners can enable SAML single sign-on (SAML SSO) and configure a SAML identity provider across all organizations owned by an enterprise account. After you enable SAML SSO for your enterprise account, SAML SSO is enabled by default for all organizations owned by your enterprise account. All members will be required to authenticate using SAML SSO to gain access to the organizations where they are a member, and enterprise owners will be required to authenticate using SAML SSO when accessing an enterprise account.

We offer limited support for all identity providers that implement the SAML 2.0 standard. We officially support these identity providers that have been internally tested:

  1. Navigate to your enterprise account by visiting https://github.com/enterprises/ENTERPRISE-NAME, replacing ENTERPRISE-NAME with your enterprise account's name.

  2. In the enterprise account sidebar, click Settings.

    Settings tab in the enterprise account sidebar

  3. In the left sidebar, click Security.

    Security tab in the enterprise account settings sidebar

  4. Optionally, to view the setting's current configuration for all organizations in the enterprise account before enforcing the setting, click View your organizations' current configurations.

    Link to view the current policy configuration for organizations in the business

  5. Under "SAML single sign-on", select Enable SAML authentication.

    Checkbox for enabling SAML SSO

  6. In the Sign on URL field, type the HTTPS endpoint of your IdP for single sign-on requests. This value is available in your IdP configuration.

    Field for the URL that members will be forwarded to when signing in

  7. Optionally, in the Issuer field, type your SAML issuer's name. This verifies the authenticity of sent messages.

    Field for the SAML issuer's name

  8. Under Public Certificate, paste a certificate to verify SAML responses.

    Field for the public certificate from your identity provider

  9. To verify the integrity of the requests from your SAML issuer, click . Then in the Signature Method and Digest Method drop-downs, choose the hashing algorithm used by your SAML issuer.

    Drop-downs for the Signature Method and Digest method hashing algorithms used by your SAML issuer

  10. Before enabling SAML SSO for your enterprise, click Test SAML configuration to ensure that the information you've entered is correct.

    Button to test SAML configuration before enforcing

  11. Click Save.

Managing your enterprise account's SSH certificate authorities

Enterprise owners can add and delete an enterprise account's SSH certificate authorities (CA).

By adding an SSH CA to your enterprise account, you can allow members of any organization owned by your enterprise account to access that organization's repositories using SSH certificates you provide. You can require that members use SSH certificates to access organization resources,. For more information, see "About SSH certificate authorities."

Adding an SSH certificate authority

When you issue each client certificate, you must include an extension that specifies which GitHub user the certificate is for. For more information, see "About SSH certificate authorities."

  1. Navigate to your enterprise account by visiting https://github.com/enterprises/ENTERPRISE-NAME, replacing ENTERPRISE-NAME with your enterprise account's name.

  2. In the enterprise account sidebar, click Settings.

    Settings tab in the enterprise account sidebar

  3. In the left sidebar, click Security.

    Security tab in the enterprise account settings sidebar

  4. To the right of "SSH Certificate Authorities", click New CA.

    New CA button

  5. Under "Key," paste your public SSH key.

    Key field to add CA

  6. Click Add CA.

  7. Optionally, to require members to use SSH certificates, select Require SSH Certificates, then click Save.

    Require SSH Certificate checkbox and save button

Deleting an SSH certificate authority

Deleting a CA cannot be undone. If you want to use the same CA in the future, you'll need to upload the CA again.

  1. Navigate to your enterprise account by visiting https://github.com/enterprises/ENTERPRISE-NAME, replacing ENTERPRISE-NAME with your enterprise account's name.

  2. In the enterprise account sidebar, click Settings.

    Settings tab in the enterprise account sidebar

  3. In the left sidebar, click Security.

    Security tab in the enterprise account settings sidebar

  4. Under "SSH Certificate Authorities", to the right of the CA you want to delete, click Delete.

    Delete button

  5. Read the warning, then click I understand, please delete this CA.

    Delete confirmation button

Ask a human

Can't find what you're looking for?

Contact us