SAML シングルサインオンを使うアイデンティティおよびアクセス管理について

ユーザのアイデンティティとアプリケーションをアイデンティティプロバイダ (IdP) で集中管理する場合、Security Assertion Markup Language (SAML) シングルサインオン (SSO) を設定して GitHub での Organization のリソースを保護することができます。

SAMLシングルサインオンは、GitHub Enterprise Cloudで利用できます。 詳しい情報については「GitHubの製品」を参照してください。

Note: If your enterprise uses Enterprise Managed Users, you must follow a different process to configure SAML single sign-on. For more information, see "Configuring SAML single sign-on for Enterprise Managed Users."

SAML SSO について

SAMLシングルサインオン(SSO)は、GitHub上のOrganizationのオーナー及びEnterpriseのオーナーに対し、リポジトリ、Issue、Pull RequestのようなOrganizationのリソースに対するアクセスをコントロールし、セキュアに保つ方法を提供します。

If you configure SAML SSO, members of your GitHub organization will continue to log into their user accounts on GitHub. SAML SSO を使用する Organization 内のリソースにメンバーがアクセスすると、GitHub は認証のためにメンバーを IdP にリダイレクトします。 認証に成功すると、IdP はメンバーを GitHub にリダイレクトして戻し、そこでメンバーは Organization のリソースにアクセスできます。

Organization のオーナーは、個々の Organization に SAML SSO を適用できます。または、Enterprise のオーナーは、Enterprise アカウント内のすべての Organization に SAML SSO を適用できます。 For more information, see "Enforcing SAML single sign-on for organizations in your enterprise account."

SAML SSO requires GitHub Enterprise Cloud. For more information about how you can try GitHub Enterprise Cloud for free, see "Setting up a trial of GitHub Enterprise Cloud."

Note: 外部のコラボレータは、SAML SSOを使っているOrganization内のリソースにアクセスするために、IdPでの認証を受ける必要はありません。 外部コラボレーターに関する詳しい情報については「Organization の権限レベル」を参照してください。

Organization で SAML SSO を有効化する前に、IdP を Organization に接続する必要があります。 詳細は「アイデンティティプロバイダを Organization に接続する」を参照してください。

1 つの Organization に対して、SAML SSO は無効化、強制なしの有効化、強制ありの有効化ができます。 Organization に対して SAML SSO を有効にし、Organization のメンバーが IdP での認証に成功した後、SAML SSO 設定を強制できます。 GitHub Organization に対して SAML SSO を強制する方法については、「Organization で SAML シングルサインオンを施行する」を参照してください。

認証を受けて Organization のリソースにアクセスするために、メンバーは定期的に IdP の認証を受ける必要があります。 このログイン間隔は利用しているアイデンティティプロバイダ (IdP) によって指定されますが、一般的には 24 時間です。 このように定期的にログインしなければならないことから、アクセスの長さには制限があり、ユーザがアクセスを続行するには再認証が必要になります。

コマンドラインで API と Git を使用して、Organization の保護されているリソースにアクセスするには、メンバーが個人アクセストークンまたは SSH キーで認可および認証を受ける必要があります。 詳しい情報については、「SAMLシングルサインオンで利用するために個人アクセストークンを認可する」と、「SAML シングルサインオンで使用するために SSH キーを認可する」を参照してください。

メンバーが初めて SAML SSO を使用して Organization にアクセスする場合は、Organization にリンクするレコード、メンバーの GitHub アカウント、およびメンバーの IdP 上のアカウントを GitHub が自動的に作成します。 Organization または Enterprise アカウントのメンバーについて、リンクされた SAML アイデンティティ、アクティブセッション、認可されたクレデンシャルの表示と取り消しが可能です。 詳細は、「Organization へのメンバーの SAML アクセスの表示と管理」と「Enterprise アカウントへのユーザの SAML アクセスの表示および管理」を参照してください。

新しいリポジトリを作成するときにメンバーが SAML SSO セッションでサインインする場合、そのリポジトリのデフォルトの可視性はプライベートになります。 それ以外の場合、デフォルトの可視性はパブリックです。 For more information on repository visibility, see "About repositories."

OAuth Appを認可するために、Organization メンバーにはアクティブな SAML セッションが必要です。 GitHub Support に連絡すれば、この要件をオプトアウトできます。 ただし、この要件をオプトアウトすることを GitHub はお勧めしません。Organization でアカウント乗っ取りやデータ漏えいのリスクが高くなるからです。

GitHubはSAMLシングルログアウトをサポートしていません。 アクティブなSAMLセッションを終了させるには、ユーザーは直接SAML IdPでログアウトしなければなりません。

サポートされているSAMLサービス

SAML 2.0標準を実装するすべてのアイデンティティプロバイダには、限定的なサポートを提供します。 内部的にテストを行った以下のアイデンティティプロバイダは公式にサポートされます。

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

一部の IdPは、SCIM を介した GitHub Organization へのプロビジョニングアクセスをサポートしています。 SCIMでのユーザアクセスのプロビジョニングとプロビジョニング解除は、Enterpriseアカウントでは利用できません。 詳しい情報については、「SCIM について 」を参照してください。

SAML SSO で Organization にメンバーを追加する

SAML SSO を有効化後、Organization に新しいメンバーを追加する方法はいくつかあります。 Organization のオーナーは、GitHub で手作業または API を使って、新しいメンバーを招待できます。 詳細は {} の「Organization に参加するようユーザを招待する」および「メンバー」を参照してください。

新しいユーザを、Organization のオーナーから招待せずにプロビジョニングするには、https://github.com/orgs/ORGANIZATION/sso/sign_up の URL の ORGANIZATION をあなたの Organization 名に置き換えてアクセスします。 たとえば、あなたの IdP にアクセスできる人なら誰でも、IdP のダッシュボードにあるリンクをクリックして、あなたの GitHub Organization に参加できるよう、IdP を設定できます。

IdP が SCIM をサポートしている場合、GitHub は、IdP でアクセス権限が付与されたとき Organization に参加するよう自動的にメンバーを招待できます。 SAML IdP での メンバーの GitHub Organization へのアクセス権限を削除すると、そのメンバーは GitHub Organization から自動的に削除されます。 詳しい情報については「SCIMについて」を参照してください。

Teamの同期を使い、アイデンティティプロバイダを通じてOrganizationのメンバーのTeamへの追加や削除を自動的に行えます。 詳しい情報については「アイデンティティプロバイダグループとTeamの同期」を参照してください。

GitHubはSAMLシングルログアウトをサポートしていません。 アクティブなSAMLセッションを終了させるには、ユーザーは直接SAML IdPでログアウトしなければなりません。

参考リンク

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?