SAML SSO について
SAML SSO を使用すると、SAML IdP から お使いの GitHub Enterprise Server インスタンス へのアクセスを一元的に制御し、セキュリティで保護できます。 認証されていないユーザーがブラウザで お使いの GitHub Enterprise Server インスタンス にアクセスすると、GitHub Enterprise Server は認証するためにユーザーを SAML IdP にリダイレクトします。 ユーザーが IdP のアカウントで正常に認証されると、IdP はもう一度ユーザーを お使いの GitHub Enterprise Server インスタンス にリダイレクトします。 GitHub Enterprise Server は、IdP からのレスポンスを検証してから、ユーザにアクセスを許可します。
ユーザーが IdP で正常に認証されると、お使いの GitHub Enterprise Server インスタンス に対するユーザーの SAML セッションはブラウザーで 24 時間アクティブになります。 24 時間後、ユーザは IdP で再度認証を行う必要があります。
JIT プロビジョニングでは、IdP からユーザーを削除する場合、お使いの GitHub Enterprise Server インスタンス でユーザーのアカウントを手動で中断する必要があります。 そうしないと、アカウントの所有者はアクセス トークンまたは SSH キーを使って引き続き認証を行うことができます。 詳しくは、「ユーザーのサスペンドとサスペンドの解除」をご覧ください。
サポートされているアイデンティティプロバイダ
GitHub Enterprise Server は、SAML2.0 標準を実装し IdP を使用した SAML SSO をサポートします。 詳細については、OASIS の Web サイトの SAML Wiki を参照してください。
GitHub は、次の IdP を正式にサポートし、内部的にテストします。
- Active Directory フェデレーション サービス (AD FS)
- Azure Active Directory (Azure AD)
- Okta
- OneLogin
- PingOne
- Shibboleth
SAML SSO の設定
お使いの GitHub Enterprise Server インスタンス の SAML 認証を有効または無効にすることも、既存の構成を編集することもできます。 GitHub Enterprise Server の認証設定は、[Management Console] で表示および編集できます。 詳しくは、「管理コンソールからのインスタンスの管理」を参照してください。
注: GitHub は、ステージング環境では認証のために新しい構成を確認することを強くお勧めします。 構成が正しくないと、お使いの GitHub Enterprise Server インスタンス のダウンタイムにつながる可能性があります。 詳しくは、「ステージングインスタンスのセットアップ」を参照してください。
-
GitHub Enterprise Server の管理アカウントから、任意のページの右上隅で をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。 1. [ サイト管理者] サイドバーで [Management Console] をクリックします。 1. [設定] サイドバーで [認証] をクリックします。
-
[認証] で [SAML] を選択します。
-
必要に応じて、外部認証システムのアカウントを持たないユーザーがビルトイン認証でサインインできるようにするには、 [Allow built-in authentication](ビルトイン認証を許可する) を選択します。 詳しくは、「使用しているプロバイダーの外部ユーザーのためのビルトイン認証の許可」を参照してください。
-
必要に応じて、未承諾応答 SSO を有効にするには、 [IdP Initiated SSO] を選択します。 既定では、GitHub Enterprise Server は、未承諾の ID プロバイダー (IdP) によって開始された要求に対して、IdP への
AuthnRequest
で応答します。注: この値は未選択の状態にしておくことをお勧めします。 この機能を有効にするのは、SAML の実装がサービス プロバイダーによって開始される SSO をサポートしないまれな場合と、GitHub Enterprise サポート によって推奨された場合のみです。
-
必要に応じて、SAML プロバイダーが お使いの GitHub Enterprise Server インスタンス のユーザーの管理者権限を決定しないようにする場合は、 [管理者の降格と昇格を無効にする] を選択します
-
必要に応じて、お使いの GitHub Enterprise Server インスタンス が SAML IdP から暗号化アサーションを受信できるようにするには、 [Require encrypted assertions] を選択します。
IdP で暗号化されたアサーションがサポートされていること、および管理コンソールの暗号化とキー トランスポート方法が IdP で構成されている値と一致していることを確認する必要があります。 また、IdP に お使いの GitHub Enterprise Server インスタンス のパブリック証明書を指定する必要もあります。 詳しくは、「暗号化されたアサーションの有効化」を参照してください。
-
[シングル サインオン URL] で、シングル サインオンの要求のための IdP の HTTP または HTTPS エンドポイントを入力します。 この値はIdpの設定によって決まります。 ホストが内部ネットワークからのみ使用できる場合は、内部ネームサーバーを使用するように お使いの GitHub Enterprise Server インスタンス を構成する必要がある場合があります。
-
または、 [発行者] フィールドに SAML 発行者の名前を入力します。 これにより、お使いの GitHub Enterprise Server インスタンス に送信されたメッセージの信頼性が検証されます。
-
[署名方法] および [ダイジェスト方法] ドロップダウン メニューを選択し、SAML 発行者が お使いの GitHub Enterprise Server インスタンス からの要求の整合性を検証するために使用するハッシュ アルゴリズムをクリックします。
-
[名前識別子形式] ドロップダウン メニューを選択し、形式をクリックします。
-
[検証証明書] で [ファイルの選択] をクリックし、IdP からの SAML 応答を検証する証明書を選択します。
-
[ユーザー属性] で、必要に応じて IdP に合うように SAML 属性の名前を変更するか、既定の名前をそのまま使います。