Skip to main content

Configuring SAML single sign-on for your enterprise

You can control and secure access to resources like repositories, issues, and pull requests within your enterprise's organizations by enforcing SAML single sign-on (SSO) through your identity provider (IdP).

この機能を使用できるユーザーについて

Enterprise owners can configure SAML SSO for an enterprise on GitHub Enterprise Cloud.

Before following the steps in this article, make sure that your enterprise uses personal accounts. You can do so by checking whether your enterprise view has the "Users managed by ACCOUNT NAME" header bar at the top of the screen.

If you see this, your enterprise uses managed users and you must follow a different process to configure SAML single sign-on. See "Enterprise マネージド ユーザーの SAML シングル サインオンの構成."

About SAML SSO

SAML シングル サインオン (SSO) により、GitHub Enterprise Cloud を使用する組織の所有者とエンタープライズの所有者は、リポジトリ、issue、pull request などの組織のリソースへのアクセス権を制御し、セキュリティで保護することができます。

SAML SSO を構成する場合、組織のメンバーは引き続き GitHub.com で個人アカウントにサインインします。 組織内のほとんどのリソースは、メンバーがアクセスすると、GitHub によってメンバーは IdP にリダイレクトされ、認証を受けます。 認証に成功すると、IdP はメンバーを GitHub にリダイレクトして戻します。 詳しくは、「SAMLのシングルサインオンでの認証について」を参照してください。

注: SAML SSO は、GitHub の通常のサインイン プロセスに代わるものではありません。 Enterprise Managed Users を使用する場合を除き、メンバーは GitHub.com で引き続き個人アカウントにサインインし、各個人アカウントは IdP で外部 ID にリンクされます。

For more information, see "SAML シングルサインオンを使うアイデンティティおよびアクセス管理について."

Enterprise のオーナーは、Enterprise アカウントが所有するすべての Organization 全体で、SAML IdP によって SAML SSO と中央での認証を有効にすることができます。 Enterprise アカウントに対して SAML SSO を有効にすると、その Enterprise アカウントによって所有されているすべての組織に対して SAML SSO が有効になります。 すべてのメンバーは、自分がメンバーである Organization にアクセスするために SAML SSO を使用して認証するよう求められ、企業のオーナーは Enterprise アカウントにアクセスする際に SAML SSO を使用して認証するよう求められます。

GitHub Enterprise Cloud上の各Organizationのリソースにアクセスするには、メンバーはアクティブなSAMLセッションをブラウザーに持っていなければなりません。 各組織の保護されたリソースに API や Git を使ってアクセスするには、メンバーは、メンバーが組織での使用を認可した personal access token または SSH キーを使う必要があります。 Enterpriseのオーナーは、メンバーのリンクされたアイデンティティ、アクティブなセッション、認可されたクレデンシャルをいつでも見たり取り消ししたりできます。 For more information, see "Enterprise へのユーザの SAML アクセスの表示および管理."

注: ユーザーのアカウントが Enterprise Managed Users 用に作成されたものでない場合、ユーザーはエンタープライズ アカウントに SCIM を構成できません。 詳しくは、「Enterprise Managed Users について」を参照してください。

Enterprise Managed Users を使っていなくて、SCIM プロビジョニングを使いたい場合は、エンタープライズ レベルではなく、組織レベルで SAML SSO を構成する必要があります。 詳しくは、「SAML シングルサインオンを使うアイデンティティおよびアクセス管理について」を参照してください。

SAML SSO が無効になっているとき、リンクされているすべての外部 ID が GitHub Enterprise Cloud から削除されます。

SAML SSO を有効にした後、OAuth app と GitHub App の認可を取り消して再承認してからでないと、組織にアクセスできない場合があります。 詳しくは、「OAuth アプリの承認」を参照してください。

Supported identity providers

GitHub Enterprise Cloud は、SAML2.0 標準を実装し IdP を使用した SAML SSO をサポートします。 詳細については、OASIS の Web サイトの SAML Wiki を参照してください。

GitHub は、次の IdP を正式にサポートし、内部的にテストします。

  • Microsoft Active Directory フェデレーション サービス (AD FS)
  • Microsoft Entra ID (旧称 Azure AD)
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

For more information about connecting Microsoft Entra ID (previously known as Azure AD) to your enterprise, see Tutorial: Microsoft Entra SSO integration with GitHub Enterprise Cloud - Enterprise Account in Microsoft Docs.

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

When you enforce SAML SSO for your enterprise, the enterprise configuration will override any existing organization-level SAML configurations. エンタープライズ アカウントが所有する組織のいずれかが SAML SSO を使用するように既に構成されている場合、エンタープライズ アカウントに対して SAML SSO を有効にするときに特別な考慮事項があります。 For more information, see "組織からエンタープライズ アカウントへの SAML 構成の切り替え."

When you enforce SAML SSO for an organization, GitHub removes any members of the organization that have not authenticated successfully with your SAML IdP. When you require SAML SSO for your enterprise, GitHub does not remove members of the enterprise that have not authenticated successfully with your SAML IdP. The next time a member accesses the enterprise's resources, the member must authenticate with your SAML IdP.

For more detailed information about how to enable SAML using Okta, see "Okta を使用して Enterprise 向けの SAML シングル サインオンを設定する."

  1. GitHub の右上の自分のプロフィール写真をクリックし、[自分の Enterprise] をクリックします。

  2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。

  3. ページの左側にある Enterprise アカウントのサイドバーで、 [設定] をクリックします。

  4. [設定] で、 [認証セキュリティ] をクリックします。

  5. 必要に応じて、設定を変更する前に Enterprise アカウントのすべての Organization の現在の構成を確認するには、 [Organization の現在の構成を表示する] をクリックします。

    Enterprise 設定のポリシーのスクリーンショット。 [Organization の現在の構成を表示する] というラベルの付いたリンクが、オレンジ色の枠線で強調表示されています。

  6. Under "SAML single sign-on", select Require SAML authentication.

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

  8. Optionally, in the Issuer field, type your SAML issuer URL to verify the authenticity of sent messages.

  9. Under Public Certificate, paste a certificate to verify SAML responses. This is the public key corresponding to the private key used to sign SAML responses.

    To find the certificate, refer to the documentation for your IdP. Some IdPs call this an X.509 certificate.

  10. 公開証明書で、現在のシグネチャ メソッドとダイジェスト メソッドの右側にある をクリックします。

    SAML 設定の現在のシグネチャ メソッドとダイジェスト メソッドのスクリーンショット。 鉛筆アイコンがオレンジ色の枠線で強調表示されています。

  11. [シグネチャ メソッド][ダイジェスト メソッド] のドロップダウン メニューを選び、SAML 発行者が使っているハッシュ アルゴリズムをクリックします。

  12. Before enabling SAML SSO for your enterprise, to ensure that the information you've entered is correct, click Test SAML configuration . このテストではサービス プロバイダーによって開始される (SP によって開始される) 認証が使われ、SAML 設定を保存するにはこれに成功する必要があります。

  13. Click Save.

  14. 将来的に ID プロバイダーが利用できなくなった場合でも エンタープライズ GitHub.com にアクセスできるように,[ダウンロード],[印刷],または [コピー] をクリックして回復コードを保存してください。 詳しくは、「エンタープライズ アカウントのシングル サインオンの回復コードをダウンロードする」を参照してください。

Further reading