Skip to main content

このバージョンの GitHub Enterprise サーバーはこの日付をもって終了となりました: 2024-12-19. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの 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 からの応答を検証してから、ユーザーにアクセスを許可します。

ユーザーが IdP で正常に認証されると、お使いの GitHub Enterprise Server インスタンス に対するユーザーの SAML セッションはブラウザーで 24 時間アクティブになります。 24 時間後、ユーザは IdP で再度認証を行う必要があります。

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

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

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

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

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

Entra ID をエンタープライズに接続する方法の詳細については、Microsoft Docs の「チュートリアル: Microsoft Entra SSO と GitHub Enterprise Server の統合」を参照してください。

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

GitHub は、外部認証プロバイダーからの値を正規化して、お使いの GitHub Enterprise Server インスタンス 上の Enterprise 内の新しい個人アカウントごとのユーザー名を決定します。詳しくは、「外部認証のユーザー名に関する考慮事項」をご覧ください。

SAML SSO の設定

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

Note

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

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

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

  3. [ サイト管理者] サイドバーで [Management Console] をクリックします。

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

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

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

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

    Tip

    この値は未選択のままにしておくことをお勧めします。 この機能を有効にするのは、SAML の実装がサービス プロバイダーによって開始される SSO をサポートしないまれな場合と、GitHub Enterprise サポート によって推奨された場合のみです。

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

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

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

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

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

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

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

  14. [検証証明書] で [ファイルの選択] をクリックし、IdP からの SAML 応答を検証する証明書を選択します。

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

参考資料