Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となります: 2026-06-02. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise サーバーにアップグレードしてください。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせください

Enterprise 向けの SAML シングルサインオンを設定する

ID プロバイダー (IdP) を通じて SAML シングル サインオン (SSO) を適用することで、お使いの GitHub Enterprise Server インスタンスへのアクセスを管理、保護することができます。

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

Site administrators can configure SAML SSO for a GitHub Enterprise Server instance.

SAML SSO について

SAML SSO を使用すると、SAML IdP から お使いの GitHub Enterprise Server インスタンス へのアクセスを一元的に制御し、セキュリティで保護することができます。

認証されていないユーザーが お使いの GitHub Enterprise Server インスタンス へのサインインを試み、 組み込み認証を無効にした場合、 GitHub は認証のためにユーザーを SAML IdP にリダイレクトします。 ユーザーが IdP のアカウントで正常に認証されると、IdP はユーザーを お使いの GitHub Enterprise Server インスタンス にリダイレクトします。 GitHub は IdP からの応答を検証し、ユーザーへのアクセスを許可します。 ユーザーの SAML セッションは、ブラウザーで 24 時間アクティブになっています。 それを過ぎると、ユーザーは IdP で再度認証を行う必要があります。

JIT プロビジョニングでは、IdP からユーザーを削除する場合、お使いの GitHub Enterprise Server インスタンス でユーザーのアカウントを手動で中断する必要があります。 そうしないと、アカウントの所有者はアクセス トークンまたは SSH キーを使って引き続き認証を行うことができます。 詳しくは、「ユーザーのサスペンドとサスペンドの解除」をご覧ください。

サポートされているアイデンティティプロバイダ

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

GitHub は、SAML に対して次の IdP を正式にサポートし、内部的にテストします。GitHub Enterprise Server で SCIM に対してサポートされている IdP の詳細については、「GitHub Enterprise Server での SCIM を使用したユーザー プロビジョニングについて」を参照してください。

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

企業への Entra ID の接続の詳細については、Microsoft Docs の「Tutorial: GitHub Enterprise ServerとのMicrosoft Entra SSO統合」をご参照ください。

メモ

GitHub では、Microsoft Entra ID Government Cloud や Okta Government Cloud など、Government Cloud 環境で使用するための ID プロバイダー (IdP) ギャラリー アプリケーションはテストまたは検証されません。 これらの環境のギャラリー アプリケーションに関連する認証と SCIM プロビジョニングの問題は、GitHubのサポート範囲外です。

SAMLでのユーザ名についての考慮

GitHub は、外部認証プロバイダーからの値を正規化して、お使いの GitHub Enterprise Server インスタンス 上の Enterprise 内の新しい個人アカウントごとのユーザー名を決定します。 詳細については、 AUTOTITLE を参照してください。

SAML SSO の設定

お使いの GitHub Enterprise Server インスタンスの SAML 認証を有効または無効にすることも、既存の構成を編集することもできます。 [Management Console]で認証設定を表示および編集できます。 詳しくは、「Web UI からインスタンスを管理する」をご覧ください。

メモ

GitHub は、ステージング環境では認証のために新しい構成を確認することを強くお勧めします。 構成が正しくないと、お使いの GitHub Enterprise Server インスタンス のダウンタイムにつながる可能性があります。 詳しくは、「ステージングインスタンスのセットアップ」をご覧ください。

  1. GitHub Enterprise Server の管理アカウントから、任意のページの右上隅にある をクリックします。

  2. [サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。

  3. [ Site admin] サイドバーで、[[Management Console]] をクリックします。

  4. [設定] サイドバーで [認証] をクリックします。

  5. [認証] で [SAML] を選択します。

  6. 必要に応じて、外部認証システムのアカウントを持たないユーザーがビルトイン認証でサインインできるようにするには、 [Allow built-in authentication](ビルトイン認証を許可する) を選択します。 詳しくは、「使用しているプロバイダーの外部ユーザーのためのビルトイン認証の許可」をご覧ください。

  7. 必要に応じて、未承諾応答 SSO を有効にするには、 [IdP Initiated SSO] を選択します。 既定では、 GitHub Enterprise Server は、要求されていない ID プロバイダー (IdP) によって開始された要求に応答し、idP に AuthnRequest 返されます。

    ヒント

    この値は未選択のままにしておくことをお勧めします。 この 機能は 、まれなインスタンスでのみ有効にする必要があります。SAML 実装では、サービス プロバイダーによって開始される SSO がサポートされておらず、 GitHub Enterprise サポートから通知を受けた場合です。

  8. 必要に応じて、SAML プロバイダーが お使いの GitHub Enterprise Server インスタンス でユーザーの管理者権限を決定しない場合は、[管理者降格/昇格を無効にする] を選択します

  9. 必要に応じて、 お使いの GitHub Enterprise Server インスタンス が SAML IdP から暗号化されたアサーションを受信できるようにするには、[ 暗号化されたアサーションを要求する] を選択します。

    IdP で暗号化されたアサーションがサポートされていること、および管理コンソールの暗号化とキー トランスポート方法が IdP で構成されている値と一致していることを確認する必要があります。 また、 お使いの GitHub Enterprise Server インスタンスのパブリック証明書を IdP に提供する必要があります。 詳しくは、「暗号化されたアサーションの有効化」をご覧ください。

  10. [シングル サインオン URL] フィールドに、シングル サインオンの要求のための IdP の HTTP または HTTPS エンドポイントを入力します。 この値はIdpの設定によって決まります。 ホストが内部ネットワークからのみ使用できる場合は、 内部ネームサーバーを使用するように お使いの GitHub Enterprise Server インスタンス を構成することが必要になる場合があります。

  11. または、 [発行者] フィールドに SAML 発行者の名前を入力します。 これにより、 お使いの GitHub Enterprise Server インスタンスに送信されたメッセージの信頼性が検証されます。

  12. [ 署名方法 ] と [ ダイジェスト メソッド ] ドロップダウン メニューを選択し、SAML 発行者が使用するハッシュ アルゴリズムをクリックして、 お使いの GitHub Enterprise Server インスタンスからの要求の整合性を確認します。

  13. [名前識別子形式] ドロップダウン メニューを選択し、形式をクリックします。

  14. [Verification certificate] で [Choose File] をクリックし、IdP からの SAML 応答を検証するための証明書を選びます。

    メモ

    GitHub は、この SAML IdP 証明書の有効期限を管理しません。 つまり、この証明書の有効期限が切れても、SAML 認証は引き続き機能します。 ただし、IdP 管理者が SAML 証明書を再生成し、 GitHub 側で更新しない場合、ユーザーは証明書の不一致のために SAML 認証の試行中に digest mismatch エラーが発生します。 「エラー: "Digest mismatch"」を参照してください。

  15. [ユーザー属性] で、必要に応じて IdP に合うように SAML 属性の名前を変更するか、既定の名前をそのまま使います。

参考資料