Skip to main content

ID プロバイダー グループを使用したチーム メンバーシップのトラブルシューティング

ID プロバイダー (IdP) 上にあるグループを使用してチーム メンバーシップを管理しているが、チーム メンバーシップが同期していない場合は、問題をトラブルシューティングできます。

IdP グループを使用するチーム メンバーシップの管理について

SCIM プロビジョニングを構成した場合、GitHub 上のチームと IdP 上のグループを接続することで、IdP を介して Enterprise 内のチームと organization のメンバーシップを管理できます。 IdP グループに同期したチームの一覧は、企業の設定から確認できます。 詳しくは、「ID プロバイダー グループを使用したチーム メンバーシップの管理」をご覧ください。

GitHub また、1 日に 1 回調整ジョブを実行します。チーム メンバーシップは、SCIM 経由で IdP から以前に送信された情報に基づいて、 GitHubに格納されている IdP グループ メンバーシップと同期されます。 このジョブで、あるユーザーがエンタープライズ内の IdP グループのメンバーであるが、マップされたチームまたはその組織のメンバーではないことが明らかになった場合、ジョブはそのユーザーを組織とチームに追加しようとします。

GitHub IdP 上のグループとチーム メンバーシップを同期できない場合は、エラー メッセージを表示し、問題のトラブルシューティングを行うことができます。

チームと IdP グループとの同期に関するエラーの表示

  1. GitHub Enterprise Server の右上隅にあるプロフィール画像をクリックしてから、[Enterprise settings] をクリックします。

  2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。

  3. IdP グループの一覧を確認するには、左側のサイドバーで [Identity provider] をクリックします。

  4. [ID プロバイダー] で、[グループ] をクリックします。

  5. グループの同期で問題が発生している場合は、次のメッセージが表示されます。"Some groups are failing to synchronize to teams. (一部のグループがチームとの同期に失敗しています)。 Check that you have available licenses. (使用可能なライセンスがあることを確認してください)"。

  6. Idp グループの一覧で、確認しようとするグループをクリックします。

  7. そのグループに関する同期エラーを確認するには、グループの名前の下にある [Teams (チーム)] をクリックします。

    チームが IdP 上にあるグループとメンバーシップを同期できない場合は、チーム名とメンバーシップ数の下に問題の説明が表示されます。

Error: "Out of sync" (エラー: "同期していません")

ライセンス以外の問題が原因で IdP 上のグループとチーム メンバーシップとの同期が失敗した場合は、"Out of sync" (同期していません) というメッセージが表示されます。

[IdP group (Idp グループ)] ページのスクリーンショット。 a team is out of sync (チームが同期していない) という警告は、濃いオレンジの枠線で囲まれています。

GitHub は、次の同期中に自動的にこの問題を解決しようとします。これは少なくとも 1 日に 1 回発生します。 影響を受けているチームを IdP グループからリンク解除し、同じグループにもう一度リンクすると、問題を解決できることがあります。 詳しくは、「ID プロバイダー グループを使用したチーム メンバーシップの管理」をご覧ください。

問題が解決しない場合は、 GitHub Enterprise サポート に連絡し、問題が発生している組織、チーム、IdP グループに関する詳細を入力します。

SCIM API 未完了イベント

エンタープライズ監査ログに external_identity.scim_api_incomplete または external_group.scim_api_incomplete イベントが表示された場合、ID プロバイダーからの SCIM 要求は GitHub によって受信されましたが、正常に完了しませんでした。 応答が ID プロバイダーに送り返されませんでした。これは、操作が失敗またはタイムアウトとして報告される可能性があります。

問題の解決

影響を受けるユーザーまたはグループの ID プロバイダーからのプロビジョニングを再トリガーします。 SCIM 操作は冪等であるため、再プロビジョニングを行っても重複は作成されません。

  • Entra ID: Microsoft Entra 管理センターで、エンタープライズ アプリケーション > SCIM アプリ > に移動します。プロビジョニングし、影響を受けるユーザーまたはグループに対してオンデマンドでプロビジョニングを使用するか、完全同期のためにプロビジョニングを再開します。詳細については、MicrosoftドキュメントのMicrosoft Entra IDのオンデマンド プロビジョニングを参照してください。
  • Okta: 影響を受けるグループを プッシュ グループから再プッシュするか、影響を受けるユーザーにアプリを再割り当てします。 詳細については、Okta ドキュメントの プッシュ グループ を参照してください。
  • その他の ID プロバイダー: 特定のユーザーまたはグループに対して SCIM プロビジョニングを再トリガーする方法については、ID プロバイダーのドキュメントを参照してください。

変更が適用されたかどうかを確認する

監査ログ ストリーミングが構成されている場合は、ストリーミングされたログで、request_id イベントと同じscim_api_incomplete値を持つ他のイベントを検索できます。 詳しくは、「企業の監査ログのストリーミング」をご覧ください。

1 つのグループ SCIM API 呼び出しで、処理中に次のいずれかのイベントをトリガーできます。

監査ログイベントDescription
external_group.provisionグループが作成されました
external_group.deleteグループが削除されました
external_group.updateグループ メタデータが更新されました
external_group.update_display_name表示名が変更されました
external_group.add_member特定のメンバーが追加されました
external_group.remove_member特定のメンバーが削除されました

中断前に適用されたメンバー変更を特定するには、 add_member イベントと remove_member イベントが最も役立ちます。 影響を受ける特定のメンバーを識別します。 要求が意図した数よりも少ないメンバー イベントが見つかると、残りのメンバーは処理されませんでした。

メモ

エンタープライズ監査ログ UI と REST API は現在、 request_idによるフィルター処理をサポートしていません。 この手順では、SIEM またはログ プラットフォームへの監査ログ ストリーミングが必要です。

一般的な原因

不完全なイベントの一般的な原因

  • 処理時間が接続タイムアウトを超えています。多くの場合、グループが大きいためです。
  • ID プロバイダーと GitHubの間でネットワークの中断が発生します。
  • GitHubのインフラストラクチャで一時的な問題が発生します。
  • 企業プロキシ、ファイアウォール、CASB ソリューションなどのネットワーク環境が接続を妨げます。
  • ID プロバイダーの SCIM クライアントのタイムアウト設定が制限されすぎます。

同じグループまたはユーザーに対してこのイベントが繰り返し発生する場合は、影響を受けるイベントのGitHub Enterprise サポート値をrequest_idにお問い合わせください。

大規模グループのタイムアウト

メンバー数が多いグループに対する単一の SCIM PUT または PATCH 要求が、要求タイムアウトを超える可能性があります。 この場合、ID プロバイダーは操作を失敗として報告し、エンタープライズ監査ログに external_group.scim_api_incomplete イベントが表示される場合があります。

SCIM プロビジョニングレートの制限では、グループあたり 1 時間あたり 1,000 ユーザーの制限が記述されますが、大規模なグループのメンバーシップを変更する単一の PUT または PATCH 要求も、すべてのメンバーが処理される前に要求タイムアウトを超える可能性があります。 詳しくは、「REST API を使用した SCIM でユーザーとグループのプロビジョニング」をご覧ください。

タイムアウトの防止

  • 大きなグループを小さなグループに分割します。 ID プロバイダーでサポートされている場合は、頻繁にタイムアウトするグループを複数の小さなグループに分割することを検討してください。 これにより、SCIM 要求あたりの処理時間が短縮されます。
  • 増分更新を使用します。 可能であれば、 PATCH 要求を使用して、メンバーシップ リスト全体を置き換える要求 PUT ではなく、個々のメンバーを追加または削除します。
  • 不完全なイベントを監視します。 scim_api_incomplete イベントに対して監査ログのストリーミングとアラートを設定して、プロビジョニングを迅速に再トリガーできるようにします。