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を構成する
[Auth0 Dashboard]>[Applications(アプリケーション)]>[APIs(API)]に移動して、新しいAPIを作成します。GitHubなど、分かりやすい名前を入力します。アプリケーションの種類は任意ですが、[Regular Web App(通常のWebアプリ)]が推奨されます。
[Addons(アドオン)]タブに移動し、[SAML2 Web App(SAML2 Webアプリ)]トグルを有効にします。
[Settings(設定)]タブで、[Application CallbackURL(アプリケーションのコールバックURL)]を
https://github.com/orgs/{YOUR_GITHUB_ORG_NAME}/saml/consume
.以下のコードを[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?
/{YOUR_GITHUB_ORG_NAME}
をサブスクリプションに対応するGitHubの組織名に置き換えます。マッピングがuser_id
を[Name Identifier(名前識別子)]としてGitHubに送信します。GitHubアプリケーションに1つ以上の接続を有効化する場合には、これによって確実に一意となる(ユーザーがそれぞれ異なるIDを持つようになる)ため、賢明な方法です。使用する接続が1つだけの場合には、
nickname
(ニックネーム)などの一意の識別子を分かりやすい[Name Identifier(名前識別子)]として使用しても構いませんが、そのプロパティが一意であることを必ず確認してください。たとえば、nickname
を[Name Identifier(名前識別子)]にしたい場合、上記のmappings
セクションは以下のようになります。
タブの最後までスクロールし、[Enable(有効)]をクリックします。
[Usage(使用状況)]タブで[Identity Provider Metadata(IDプロバイダーのメタデータ)]を見つけ、[Download(ダウンロード)]をクリックしてメタデータファイルをダウンロードします。これは、Auth0をIDプロバイダーとして構成する際に必要になります。
GitHubでSAML SSOを構成する
GitHubドキュメントの「Organization 向けの SAML シングルサインオンを有効化してテストする」を参考にしながら、GitHub Enterprise Cloudで構成を完了させます。
以下の情報が必要になります。
フィールド エントリ 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
GitHubドキュメントの推奨に従って、組織にSAML SSOを有効化する前に[Test SAML configuration(SAML構成のテスト)]をクリックし、入力した情報が正しいことを確認します。
組織にSAMLのシングルサインオン(SSO)をセットアップする場合には、[Require SAML SSO authenticationfor all members of the organization(組織のすべてのメンバーに対してSAML SSO認証を要求する)]チェックボックスを選択解除すると、組織のメンバーに影響を与えることなく、実装をテストすることができます。