Skip to main content

Organization の Team 同期を管理する

GitHub 上の ID プロバイダー (IdP) と organization の間でチームの同期の有効/無効を切り替えることができます。

この機能を使用できるユーザーについて

Organization owners can manage team synchronization for an organization.

Note

Enterprise で Enterprise Managed Users を使う場合は、チーム同期を使う必要はありません。 代わりに、Enterprise のセットアップ中に作成した SCIM 構成を使って、Team のメンバーシップを管理できます。 詳しくは、「ID プロバイダー グループを使用したチーム メンバーシップの管理」をご覧ください。

Team の同期について

IdP と GitHub の間でチームの同期を有効にすると、organization 所有者とチーム メンテナが organization のチームを IdP グループに接続できるようになります。

Organization または Enterprise アカウントでチームの同期が有効になっている場合は、GitHub チームを IdP グループと同期できます。 これを行うと、IdP グループに対するメンバーシップ変更が GitHub に自動的に反映され、手動更新とカスタム スクリプトの必要性が軽減されます。

GitHub のチームを IdP グループに接続するには、チームが organization 内に既に存在している必要があります。 SCIM プロビジョニングを構成している場合でも、IdP でグループを作成することで、GitHub にチームが自動的に作成されることはありません。

Note

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シングルサインオンで認証する」をご覧ください。

Note

チームの同期が機能するには、SAML 設定の [Issuer] フィールドに有効な IdP URL を含める必要があります。 詳細については、「Organization 向けの SAML シングル サインオンを有効化してテストする」を参照してください。

Entra ID で Team の同期を有効化する

Entra ID に対して Team の同期を有効にするには、Entra ID のインストールに次のアクセス許可が必要です。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. エンタープライズで SAML SSO が有効になっていることを確認します。
  5. [Team synchronization] (Team 同期) で、[Enable for Entra ID] (Entra ID での有効化) をクリックします。
  6. Teamの同期を確認してください。
    • IdP にアクセスできる場合は、 [Enable team synchronization] (Team 同期を有効にする) をクリックします。 アイデンティティプロバイダの SAML SSO ページにリダイレクトされ、アカウントを選択して、要求された権限を確認するよう求められます。
    • IdP にアクセスできない場合は、IdP のリダイレクトリンクをコピーして IdP の管理者に渡し、Team 同期の有効化を続けてください。
  7. 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 の管理者は以下を実行しなければなりません。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. エンタープライズで SAML SSO が有効になっていることを確認します。
  5. 潜在的なプロビジョニング エラーを回避するために、ユーザーが SAML を有効にしていて、リンクされた SCIM ID を持っていることを確認することをお勧めします。 詳しくは、「組織の ID とアクセス管理のトラブルシューティング」をご覧ください。
  6. OrganizationでSAMLを施行し、OrganizationのメンバーがSAMLとSCIMのアイデンティティを確実にリンクするようにすることを検討してください。 詳しくは、「Organization で SAML シングルサインオンを施行する」をご覧ください。
  7. [Team synchronization](Team 同期) で、 [Enable for Okta] (Okta での有効化) をクリックします。
  8. 組織の名前の下にある [SSWS トークン] フィールドに、有効な SSWS トークンを入力します。
  9. [URL] フィールドに、Okta インスタンスの URL を入力します。
  10. Organization に接続したい ID プロバイダーのテナント情報を確認してから、 [作成] をクリックします。

チームの同期でメンバー以外を組織に再び招待できるかどうかの管理

この設定を変更しても、保留中の招待には影響しません。 チーム同期で過去のメンバーを組織に再招待することが許可されている間に生成された招待は、その後再招待が許可されなくなった場合でも、メンバーが組織に再追加される可能性があります。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. [チームの同期] で、 [チームの同期で組織の所有者によって削除された過去のメンバーをこの組織に再び招待することを許可しない] を選択または選択解除します。

Team の同期を無効化する

Warning

チームの同期を無効にしても、IdP グループを通じて GitHub チームに割り当てられていたチーム メンバーはチームから削除されず、リポジトリへのアクセスは保持されます。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. [Team の同期] で、 [Team の同期を無効にする] をクリックします。