メモ: Enterprise で Enterprise Managed Users を使う場合は、Team 同期を使う必要はありません。 代わりに、Enterprise のセットアップ中に作成した SCIM 構成を使って、Team のメンバーシップを管理できます。 詳しくは、「ID プロバイダー グループを使用したチーム メンバーシップの管理」を参照してください。
Team の同期について
IdP と GitHub Enterprise Cloud の間で Team の同期を有効化すると、Organization のオーナーとチームメンテナが Organization の Team を IdP グループに接続できるようになります。
Organization または Enterprise アカウントで Team の同期が有効になっている場合は、GitHub Team を IdP グループと同期できます。 GitHub Team を IdP グループと同期すると、IdP グループへの変更が GitHub Enterprise Cloud に自動的に反映され、必要な手動更新やカスタム スクリプトを減らすことができます。
GitHub Enterprise Cloud のチームを IdP グループに接続するには、チームが組織内に既に存在している必要があります。 SCIM プロビジョニングを構成している場合でも、IdP でグループを作成することで、GitHub Enterprise Cloud にチームが自動的に作成されることはありません。
注: SAML シングル サインオンを使うには、Organization で GitHub Enterprise Cloud を使用している必要があります。 GitHub Enterprise Cloud を無料で試す方法の詳細については、「GitHub Enterprise Cloud の試用版を設定する」を参照してください。
Team同期は、サポートされているIdPで使えます。
- Entra ID 商用テナント (Gov Cloud はサポートされていません)
- Okta
チーム同期はユーザー プロビジョニング サービスではなく、ほとんどの場合、組織に参加するようメンバー以外を招待することはありません。 つまり、ユーザーをチームに追加できるのは、ユーザーが既に組織のメンバーである場合のみです。 ただし、チーム同期では必要に応じて、以前に組織のメンバーだったがそれ以降削除されているユーザーを再び招待することができます。
Team同期を有効化すると、チームメンテナとOrganizationのオーナーは、GitHub上で、あるいはAPIを通じてTeamをIdPグループに接続できます。 詳細については、「Team をアイデンティティプロバイダグループと同期する」および「チームの REST API エンドポイント」を参照してください。
エンタープライズ アカウントが所有するすべての組織に対してチーム同期を有効にすることもできます。 SAML がエンタープライズ レベルで構成されている場合、個々の組織に対してチーム同期を有効にすることはできません。 代わりに、エンタープライズ全体のチーム同期を構成する必要があります。 詳しくは、「Enterprise で Organization の Team 同期を管理する」を参照してください。
Organization が Enterprise アカウントによって所有されている場合、その Enterprise アカウントで Team の同期を有効にすると、Organization レベルでの Team の同期の設定はオーバーライドされます。 詳しくは、「Enterprise で Organization の Team 同期を管理する」を参照してください。
Usage limits (使用状況の制限)
チームの同期機能には使用制限があります。 これらの制限を超えると、パフォーマンスが低下し、同期エラーが発生する可能性があります。
- GitHub Team のメンバーの最大数: 5,000
- GitHub Organization のメンバーの最大数: 10,000
- GitHub Organization の Team の最大数: 1,500
Team の同期を有効化する
Team の同期を有効にする手順は、使用したい IdP によって異なります。 各 IdP によって、Team の同期を有効化するうえで必要な環境があります。 個々の IdP ごとに、さらに必要な環境があります。
前提条件
任意のIdPとのTeam同期を有効化するには、Idpインテグレーション及びグループを設定するために、IdPへの管理アクセスを取得するか、IdPの管理者と作業をしなければなりません。 IdPインテグレーション及びグループを設定する人は、必要な権限のいずれかを持っていなければなりません。
IdP | 必要なアクセス許可 |
---|---|
Entra ID |
|
Okta |
|
Organization と、サポートされている IdP について、SAMLシングルサインオンを有効にする必要があります。 詳しくは、「Organization で SAML シングルサインオンを施行する」を参照してください。
リンクされたSAMLアイデンティティを持っていなければなりません。 リンクされたアイデンティティを作成するには、最低一回はSAML SSOとサポートされたIdPを使ってOrganizationに認証を受けていなければなりません。 詳しくは、「SAMLシングルサインオンで認証する」を参照してください。
注: チームの同期が機能するには、SAML 設定の [発行元] フィールドに有効な IdP URL を含める必要があります。 詳細については、「Organization 向けの SAML シングル サインオンを有効化してテストする」を参照してください。
Entra ID で Team の同期を有効化する
Entra ID に対して Team の同期を有効にするには、Entra ID のインストールに次のアクセス許可が必要です。
- すべてのグループ メンバーシップの読み取り: GitHub は Entra グループの一覧を取得するため、ユーザーは 1 つを選択して特定の GitHub チームに同期できます。
- すべてのユーザーの完全なプロファイルの読み取り: GitHub は、Entra グループと GitHub チームを同期するためのメンバーの Entra ID と Entra のディスプレイ/フル ネームの一覧を取得します。
- サインインしてユーザー プロファイルを読み取る: SAML SSO が有効になっている場合、ユーザーはチーム同期の前提条件として Entra アプリケーションにシングル サインオンする必要があります。
- GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
- 組織の隣の [設定] をクリックします。
- サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
- エンタープライズで SAML SSO が有効になっていることを確認します。
- [Team synchronization] (Team 同期) で、[Enable for Entra ID] (Entra ID での有効化) をクリックします。
- Teamの同期を確認してください。
- IdP にアクセスできる場合は、 [Enable team synchronization] (Team 同期を有効にする) をクリックします。 アイデンティティプロバイダの SAML SSO ページにリダイレクトされ、アカウントを選択して、要求された権限を確認するよう求められます。
- IdP にアクセスできない場合は、IdP のリダイレクトリンクをコピーして IdP の管理者に渡し、Team 同期の有効化を続けてください。
- Organization に接続したい ID プロバイダーのテナント情報を確認してから、 [承認] をクリックします。
Okta で Team の同期を有効化する
OktaのTeam同期には、事前にOrganizationでOktaでのSAMLとSCIMがセットアップされていることが必要です。
OktaでのTeam同期のエラーの可能性を回避するために、GitHubでTeam同期を有効化する前に、選択したOktaのグループのメンバーになっているすべてのOrganizationメンバーに対して、SCIMのリンクされたアイデンティティが正しくセットアップされているのを確認することをおすすめします。
OrganizationのメンバーがリンクされたSCIMアイデンティティを持たない場合、Teamの同期は期待された動作をせず、そのユーザはTeamに追加も削除もされないかもしれません。 もしもユーザの中にSCIMのリンクされたアイデンティティを持たない者がいた場合、それらのユーザはプロビジョニングし直さなければなりません。
SCIM リンク ID が欠落しているユーザーのプロビジョニングについては、「組織の ID とアクセス管理のトラブルシューティング」を参照してください。
Okta で Team 同期を有効にする前に、あなたもしくは IdP の管理者は以下を実行しなければなりません。
- Okta を利用する Organization で SAML SSO と SCIM を有効化する。 詳しくは、「Okta を使う SAML シングルサインオンおよび SCIM を設定する」を参照してください。
- Okta インスタンスのテナント URL を指定する。
- サービス ユーザーとして、Okta のインストールに対する読み取り専用の管理者アクセス許可を持つ有効な SSWS トークンを生成する。 詳細については、Okta でのトークンの作成とサービス ユーザーに関する説明を参照してください。
- GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
- 組織の隣の [設定] をクリックします。
- サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
- エンタープライズで SAML SSO が有効になっていることを確認します。
- 潜在的なプロビジョニング エラーを回避するために、ユーザーが SAML を有効にしていて、リンクされた SCIM ID を持っていることを確認することをお勧めします。 詳しくは、「組織の ID とアクセス管理のトラブルシューティング」を参照してください。
- OrganizationでSAMLを施行し、OrganizationのメンバーがSAMLとSCIMのアイデンティティを確実にリンクするようにすることを検討してください。 詳しくは、「Organization で SAML シングルサインオンを施行する」を参照してください。
- [Team synchronization](Team 同期) で、 [Enable for Okta] (Okta での有効化) をクリックします。
- 組織の名前の下にある [SSWS トークン] フィールドに、有効な SSWS トークンを入力します。
- [URL] フィールドに、Okta インスタンスの URL を入力します。
- Organization に接続したい ID プロバイダーのテナント情報を確認してから、 [作成] をクリックします。
チームの同期でメンバー以外を組織に再び招待できるかどうかの管理
この設定を変更しても、保留中の招待には影響しません。 チーム同期で過去のメンバーを組織に再招待することが許可されている間に生成された招待は、その後再招待が許可されなくなった場合でも、メンバーが組織に再追加される可能性があります。
- GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
- 組織の隣の [設定] をクリックします。
- サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
- [チームの同期] で、 [チームの同期で組織の所有者によって削除された過去のメンバーをこの組織に再び招待することを許可しない] を選択または選択解除します。
Team の同期を無効化する
警告: Team の同期を無効化すると、IdP グループを通じて GitHub Team に割り当てられた Team メンバーは、すべてその Team から削除され、リポジトリへのアクセスを失う場合もあります。
- GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
- 組織の隣の [設定] をクリックします。
- サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
- [Team の同期] で、 [Team の同期を無効にする] をクリックします。