Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-06-03. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

SAML認証

If you use SAML single sign-on (SSO) and people are unable to authenticate to access GitHub Enterprise Serverインスタンス, you can troubleshoot the problem.

About problems with SAML authentication

GitHub Enterprise Server logs error messages for failed SAML authentication in the authentication log at /var/log/github/auth.log. You can review responses in this log file, and you can also configure more verbose logging.

For more information about SAML response requirements, see "SAML configuration reference."

Configuring SAML debugging

You can configure GitHub Enterprise Server to write verbose debug logs to /var/log/github/auth.log for every SAML authentication attempt. You may be able to troubleshoot failed authentication attempts with this extra output.

警告:

  • Only enable SAML debugging temporarily, and disable debugging immediately after you finish troubleshooting. If you leave debugging enabled, the size of your log may increase much faster than usual, which can negatively impact the performance of GitHub Enterprise Server.
  • Test new authentication settings for GitHub Enterprise Serverインスタンス in a staging environment before you apply the settings in your production environment. 詳しい情報については "ステージングインスタンスのセットアップ"を参照してください。
  1. GitHub Enterprise Serverの右上で、プロフィール写真をクリックし、続いてEnterprise settings(Enterpriseの設定)をクリックしてください。 GitHub Enterprise Serverのプロフィール写真のドロップダウンメニュー内の"Enterprise settings"

  2. Enterpriseアカウントのサイドバーで、 Policies(ポリシー)をクリックしてください。 Enterpriseアカウントサイドバー内のポリシータブ

  3. Policies(ポリシー)の下で、Options(オプション)をクリックしてください。 Enterpriseアカウント設定サイドバー内のオプションタブ

  4. Under "SAML debugging", select the drop-down and click Enabled.

    Screenshot of drop-down to enable SAML debugging

  5. Attempt to sign into GitHub Enterprise Serverインスタンス through your SAML IdP.

  6. Review the debug output in /var/log/github/auth.log on GitHub Enterprise Serverインスタンス.

  7. When you're done troubleshooting, select the drop-down and click Disabled.

    Screenshot of drop-down to disable SAML debugging

Decoding responses in auth.log

Some output in auth.log may be Base64-encoded. You can access the administrative shell and use the base64 utility on GitHub Enterprise Serverインスタンス to decode these responses. 詳しい情報については「管理シェル(SSH)にアクセスする」を参照してください。

$ base64 --decode ENCODED OUTPUT

エラー:「別のユーザがすでにアカウントを所有しています」

When a user signs into GitHub Enterprise Serverインスタンス for the first time with SAML authentication, GitHub Enterprise Server creates a user account on the instance and maps the SAML NameID to the account.

ユーザが再度サインインすると、GitHub Enterprise Server はアカウントの NameID マッピングを IdP のレスポンスと比較します。 IdP のレスポンスの NameID が、GitHub Enterprise Server がユーザに対して想定している NameID とマッチしなくなると、サインインは失敗します。 ユーザには次のメッセージが表示されます。

別のユーザが既にアカウントを所有しています。 管理者に認証ログを確認するようご依頼ください。

このメッセージは通常、その人のユーザ名またはメールアドレスが IdP で変更されたということを示します。 Ensure that the NameID mapping for the user account on GitHub Enterprise Server matches the user's NameID on your IdP. For more information, see "Updating a user's SAML NameID."

SAMLレスポンスが署名されていなかった場合、あるいは署名が内容とマッチしなかった場合、authログに以下のエラーメッセージが残されます。

If the Recipient does not match the ACS URL for GitHub Enterprise Serverインスタンス, one of the following two error messages will appear in the authentication log when a user attempts to authenticate.

Recipient in the SAML response must not be blank.
Recipient in the SAML response was not valid.

Ensure that you set the value for Recipient on your IdP to the full ACS URL for GitHub Enterprise Serverインスタンス. たとえば、https://ghe.corp.example.com/saml/consume などです。

エラー:「SAML レスポンスが署名されていないか、変更されています」

IdP が SAML レスポンスに署名しない場合、または署名が内容と一致しない場合、次のエラーメッセージが認証ログに表示されます。

SAML Response is not signed or has been modified.

IdP で GitHub Enterprise Server アプリケーションの署名済みアサーションを設定していることを確認してください。

エラー:「Audience が無効です」または「アサーションが見つかりません」

IdP のレスポンスに Audience の値がないか、または正しくない場合、次のエラーメッセージが認証ログに表示されます。

Audience is invalid. Audience attribute does not match https://<em>YOUR-INSTANCE-URL</em>

Ensure that you set the value for Audience on your IdP to the EntityId for GitHub Enterprise Serverインスタンス, which is the full URL to your instance. たとえば、https://ghe.corp.example.com などです。