小組同步處理
如果您的公司使用 Microsoft Entra ID 或 Okta 作為識別提供者 (IdP),您可以透過 小組同步處理來管理 GitHub 小組成員資格。 啟用時,小組同步會自動反映 GitHub 上的 IdP 群組變更,減少手動更新或自定義腳本的需求。 此集中式方法可簡化上線、許可權管理和存取撤銷。
| 特徵 / 功能 | 描述 |
|---|---|
| 同步使用者 | 讓 GitHub Teams 與 IdP (例如 Active Directory) 群組成員資格保持一致 |
| 在新小組上同步處理 | 在建立時自動填入小組 |
| 自訂小組對應 | 使用 syncmap.yml 定義小組動態資料欄位與群組名稱之間的自訂對應 |
| 動態設定 | 使用settings檔案來從目錄結構衍生同步設定 |
小組同步處理使用案例
小組同步很適合想要簡化 GitHub 組織內成員資格管理的企業。 系統管理員可以將 GitHub 小組對應至 IdP 群組,並自動管理成員資格。 這適用於:
- 上線新員工
- 當使用者在小組之間移動時調整存取權
- 拿掉離開組織的使用者
⚠️ 若要使用小組同步處理,您的IdP系統管理員必須啟用 SAML SSO 和 SCIM。
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 組織成員。
啟用小組同步處理
- 在您的 IdP 中啟用安全性判斷提示標記語言(SAML) 單一登錄(SSO) 和 SCIM。
- 透過 GitHub UI 或 API 將 GitHub 小組對應至 IdP 群組。
- 群組成員資格變更會自動同步至 GitHub。
支援的 IdP:
- Microsoft Entra ID:需要設定檔讀取和目錄存取的許可權。
- Okta:需要具有唯讀系統管理員存取權的 SAML SSO、SCIM、租用戶 URL 和單一登入 Web 系統 (SSWS) 權杖。
停用小組同步處理
若要停用:
- 流覽至 [ 設定>組織安全性]
- 點擊 [停用團隊同步]
備註
停用同步處理會將透過 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
超過這些可能會導致效能問題或同步失敗。