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

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

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

SAML SSO について

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

SAML SSO を設定すると、GitHub Organization のメンバーは GitHub 上の各自のユーザアカウントに引き続きログインできるようになります。 SAML SSO を使用する Organization 内のリソースにメンバーがアクセスすると、GitHub は認証のためにメンバーを IdP にリダイレクトします。 認証に成功すると、IdP はメンバーを GitHub にリダイレクトして戻し、そこでメンバーは Organization のリソースにアクセスできます。

Organization のオーナーは、個々の Organization に SAML SSO を適用できます。または、Enterprise のオーナーは、Enterprise アカウント内のすべての Organization に SAML SSO を適用できます。 詳しい情報については、「Enterprise アカウントで Organization 用に SAML シングルサインオンを有効にする」参照してください。

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 セッションでサインインする場合、そのリポジトリのデフォルトの可視性はプライベートになります。 それ以外の場合、デフォルトの可視性はパブリックです。 リポジトリの可視性に関する詳しい情報については、「リポジトリの可視性について」を参照してください。

OAuth Appを認可するために、Organization メンバーにはアクティブな SAML セッションが必要です。 GitHub Supportあるいは GitHub Premium 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

一部の IdPs は、SCIM を介した GitHub Organization へのプロビジョニングアクセスをサポートしています。 詳しい情報については「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, コントリビューションの方法を学んでください。

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

GitHubコミュニティで質問するサポートへの連絡