GitHub Enterprise CloudをSAMLサービスプロバイダーとして構成する

Auth0をGitHub Enterprise Cloud(github.com)のIDプロバイダーとして構成することができます。SAML IdPを使用して有効化するには、GitHubにエンタープライズレベルのサブスクリプションが必要です。

  • GitHubでのSSOについては、https://docs.github.comで「SAMLのシングルサインオンでの認証について」をお読みください。

  • Auth0をGitHub Enterprise Server(プライベートインスタンス)のIDプロバイダーとして構成する方法については、「Auth0をGitHub Enterprise ServerのIDプロバイダーとして構成する」をお読みください。

Auth0でSAML SSOを構成する

  1. [Auth0 Dashboard]>[Applications(アプリケーション)]>[APIs(API)]に移動して、新しいAPIを作成します。GitHubなど、分かりやすい名前を入力します。アプリケーションの種類は任意ですが、[Regular Web App(通常のWebアプリ)]が推奨されます。

  2. [Addons(アドオン)]タブに移動し、[SAML2 Web App(SAML2 Webアプリ)]トグルを有効にします。

  3. [Settings(設定)]タブで、[Application CallbackURL(アプリケーションのコールバックURL)]https://github.com/orgs/{YOUR_GITHUB_ORG_NAME}/saml/consume.

    Dashboard アプリケーション アプリケーションアドオンタブ SAML2 Webアプリ 設定タブ

  4. 以下のコードを[Settings(設定)]テキストボックスに貼り付けて、[Debug(デバッグ)]をクリックします。

    {
          "audience": "https://github.com/orgs/{yourGitHubOrgName}",
          "mappings": {
        "user_id": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
        "email": "emails",
        "name": "full_name"
          },
          "passthroughClaimsWithNoMapping": false,
          "mapIdentities": false,
          "signatureAlgorithm": "rsa-sha256",
          "digestAlgorithm": "sha256",
          "nameIdentifierProbes": [
        "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"
          ]
        }

    Was this helpful?

    /

    1. {YOUR_GITHUB_ORG_NAME}をサブスクリプションに対応するGitHubの組織名に置き換えます。マッピングがuser_id[Name Identifier(名前識別子)]としてGitHubに送信します。GitHubアプリケーションに1つ以上の接続を有効化する場合には、これによって確実に一意となる(ユーザーがそれぞれ異なるIDを持つようになる)ため、賢明な方法です。

    2. 使用する接続が1つだけの場合には、nickname(ニックネーム)などの一意の識別子を分かりやすい[Name Identifier(名前識別子)]として使用しても構いませんが、そのプロパティが一意であることを必ず確認してください。たとえば、nickname[Name Identifier(名前識別子)]にしたい場合、上記のmappingsセクションは以下のようになります。

  5. タブの最後までスクロールし、[Enable(有効)]をクリックします。

  6. [Usage(使用状況)]タブで[Identity Provider Metadata(IDプロバイダーのメタデータ)]を見つけ、[Download(ダウンロード)]をクリックしてメタデータファイルをダウンロードします。これは、Auth0をIDプロバイダーとして構成する際に必要になります。

    Dashboard アプリケーション アプリケーションアドオンタブ SAML2 Webアプリ 使用状況タブ

GitHubでSAML SSOを構成する

  1. GitHubドキュメントの「Organization 向けの SAML シングルサインオンを有効化してテストする」を参考にしながら、GitHub Enterprise Cloudで構成を完了させます。

  2. 以下の情報が必要になります。

    フィールド エントリ
    Sign On(サインオン)URL https://{yourDomain}/samlp/{CLIENT_ID}
    {CLIENT_ID}は、Auth0で作成したばかりのGitHubアプリケーションのclient_idになります。
    Issuer(発行者) urn:auth0:{yourTenant}
    Public Certificate(公開証明書) https://{yourDomain}/pemからダウンロードします。テキストエディターでダウンロードしたファイルを開き、コンテンツをコピーして、GitHubのテキストエリアに貼り付けます。
    Signature method(署名メソッド) RSA256-SHA256
    Digest method(ダイジェストメソッド) SHA256

  3. GitHubドキュメントの推奨に従って、組織にSAML SSOを有効化する前に[Test SAML configuration(SAML構成のテスト)]をクリックし、入力した情報が正しいことを確認します。

組織にSAMLのシングルサインオン(SSO)をセットアップする場合には、[Require SAML SSO authenticationfor all members of the organization(組織のすべてのメンバーに対してSAML SSO認証を要求する)]チェックボックスを選択解除すると、組織のメンバーに影響を与えることなく、実装をテストすることができます。