小組同步處理

已完成

如果您的公司使用 Microsoft Entra ID 或 Okta 作為識別提供者 (IdP),您可以透過 小組同步處理來管理 GitHub 小組成員資格。 啟用時,小組同步會自動反映 GitHub 上的 IdP 群組變更,減少手動更新或自定義腳本的需求。 此集中式方法可簡化上線、許可權管理和存取撤銷。

特徵 / 功能 描述
同步使用者 讓 GitHub Teams 與 IdP (例如 Active Directory) 群組成員資格保持一致
在新小組上同步處理 在建立時自動填入小組
自訂小組對應 使用 syncmap.yml 定義小組動態資料欄位與群組名稱之間的自訂對應
動態設定 使用settings檔案來從目錄結構衍生同步設定

小組同步處理使用案例

小組同步很適合想要簡化 GitHub 組織內成員資格管理的企業。 系統管理員可以將 GitHub 小組對應至 IdP 群組,並自動管理成員資格。 這適用於:

  • 上線新員工
  • 當使用者在小組之間移動時調整存取權
  • 拿掉離開組織的使用者

⚠️ 若要使用小組同步處理,您的IdP系統管理員必須啟用 SAML SSOSCIM

Enterprise 受控使用者和 GitHub Enterprise Server

小組同步處理也適用於使用 GitHub Enterprise Cloud 或 GitHub Enterprise Server (GHE.com) 的組織和企業帳戶,這是基於合規性原因而可用或需要的區域中的慣用解決方案。

企業受控使用者 (EMU) 是 GitHub Enterprise Cloud 功能,可讓企業完全掌控使用者身分識別和帳戶生命週期。 使用 EMU,GitHub 帳戶完全由企業的身分識別提供者 (IdP) 管理。 這表示使用者不需要手動註冊 GitHub,所有使用者佈建、存取和離職都是透過 Microsoft Entra ID 或 Okta 等工具自動化的。

EMU 非常適合具有嚴格合規性、審計或用戶治理需求的組織。 它們有助於確保:

  • 所有帳戶均歸企業所有
  • 存取權會根據 IdP 成員資格自動授與或移除
  • 沒有外部協作無意中發生

使用動車組時:

  • 受管理使用者無法將程式碼推送至企業外部的儲存庫或分支儲存庫
  • 他們只能與企業內部的其他使用者和資源互動

您可以使用 IdP 中的群組來管理 EMU 型組織和團隊成員資格,並選擇性地整合 團隊同步以 自動化群組到團隊對應。

對於有自我裝載或特定區域法規需求的組織, GitHub Enterprise Server (GHE.com) 提供內部部署解決方案,可讓您保持對 GitHub 環境的完全控制。

如需詳細資訊,請參閱開始使用 GitHub Enterprise Cloud關於 GitHub Enterprise Server

Team Synchronization 與 SCIM for GHES

在 GitHub Enterprise Server (GHES)中,您可以透過各種方法來管理使用者存取權和小組成員資格,包括小組同步處理和跨網域身分識別管理系統(SCIM)。 了解這些方法對於有效管理而言至關重要。

GHES 中的小組同步處理

小組同步處理可讓您連結 GitHub 小組與身分識別提供者 (IdP) 中的群組。 這項整合可確保IdP群組中的任何變更,例如新增或移除成員,都會自動反映在對應的 GitHub 小組中。 這種方法可集中管理 IdP 內的使用者存取控制,以簡化小組管理。

不過,請務必注意,小組同步處理不是使用者布建服務,而且在大部分情況下不會邀請非成員加入組織。 因此,只有在使用者已經是組織成員時,才會成功新增至小組。

請考慮下列案例,以瞭解小組同步處理在實務上的運作方式:

  • 當 Azure AD 群組「DevOps Engineers」對應到 GitHub 小組「DevOps」時
  • 當 Alice 新增至 IdP 群組時,→自動新增至 GitHub 小組
  • 當她離開群組→自動從小組中移除

備註

GHES 中的小組同步不會建立帳戶。 用戶必須是 GitHub 組織成員。

啟用小組同步處理

  1. 在您的 IdP 中啟用安全性判斷提示標記語言(SAML) 單一登錄(SSO) 和 SCIM。
  2. 透過 GitHub UI 或 API 將 GitHub 小組對應至 IdP 群組。
  3. 群組成員資格變更會自動同步至 GitHub。

支援的 IdP:

  • Microsoft Entra ID:需要設定檔讀取和目錄存取的許可權。
  • Okta:需要具有唯讀系統管理員存取權的 SAML SSO、SCIM、租用戶 URL 和單一登入 Web 系統 (SSWS) 權杖。

停用小組同步處理

若要停用:

  1. 流覽至 [ 設定>組織安全性]
  2. 點擊 [停用團隊同步]

停用小組同步處理的組織設定螢幕擷取畫面。

備註

停用同步處理會將透過 IdP 對應新增的使用者從小組移除。

GHES 中的 SCIM

SCIM 是一種開放式標準通訊協定,旨在自動交換身分識別網域與IT系統之間的使用者身分識別資訊。 在 GHES 的內容中,SCIM 可讓系統管理員直接透過 GitHub API 布建、更新和取消布建用戶帳戶。 這表示您可以建立、更新和刪除用戶帳戶,以及同步群組資訊來對應 GitHub 小組成員資格。

SCIM 適用於大規模管理使用者生命週期,確保用戶數據在整個系統中保持一致。

請考慮下列案例,以瞭解 SCIM 的運作方式:

  • Okta SCIM 整合會自動佈建 GitHub 使用者
  • Bob 已新增至 Okta → GitHub 帳戶已建立
  • Bob 變更角色 → 存取權和小組更新
  • Bob 離開 → 帳戶已取消佈建

主要權益: 帳戶生命週期管理的完整自動化。

Team Sync 與 Group SCIM

GitHub 支持兩種主要身分識別整合方法:

  • 團隊同步:著重於將群組成員資格同步至 GitHub 團隊
  • 群組 SCIM:著重於使用者和群組的完整生命週期管理

Team Sync 與 Group SCIM 之間的差異

特徵 / 功能 團隊同步 群組 SCIM
焦點 小組層級對應 使用者和群組佈建
設定 手動群組至團隊映射 透過 IdP SCIM 設定自動化
自動化層級 僅同步群組成員資格 完整生命周期自動化
理想的使用案例 GitHub 團隊管理 高使用者流動率的大型組織
正在取消佈建 手動或 IdP 群組相依 全自動
身分識別模型 經典 受管理的使用者

選擇正確的方法

Team Sync 和 Group SCIM 之間的選擇取決於您組織的需求、大小和現有的身分識別管理基礎結構:

用例 建議的解決方案
管理團隊的存放庫訪問權限 團隊同步
自動化使用者生命週期 群組 SCIM
需要完整 IdP 型治理 群組 SCIM
GitHub Teams 是工作流程的核心 團隊同步

使用限制

使用小組同步處理時,請觀察下列限制:

  • 每個小組的成員上限: 5,000
  • 每個組織的最大成員數: 10,000
  • 每個組織的小組上限: 1,500

超過這些可能會導致效能問題或同步失敗。