Sincronizzazione dei team

Completato

Se l'azienda usa l'ID Microsoft Entra o Okta come provider di identità (IdP), è possibile gestire l'appartenenza al team GitHub tramite la sincronizzazione del team. Se abilitata, la sincronizzazione del team riflette automaticamente le modifiche nei gruppi IdP in GitHub, riducendo la necessità di aggiornamenti manuali o script personalizzati. Questo approccio centralizzato semplifica l'onboarding, la gestione delle autorizzazioni e la revoca dell'accesso.

Caratteristica / Funzionalità Descrizione
Sincronizzare gli utenti Mantenere GitHub Teams allineato all'appartenenza al gruppo IdP (ad esempio, Active Directory)
Sincronizzazione con il nuovo team Popolare automaticamente i team durante la creazione
Mappatura team personalizzata Utilizzare syncmap.yml per definire delle mappature personalizzate tra gli slug del team e i nomi dei gruppi.
Configurazione dinamica Usare un settings file per derivare le impostazioni di sincronizzazione dalla struttura di directory

Casi d'uso per la sincronizzazione dei team

La sincronizzazione dei team è ideale per le aziende che vogliono semplificare la gestione delle appartenenze all'interno delle organizzazioni GitHub. Gli amministratori possono eseguire automaticamente il mapping dei team GitHub ai gruppi IdP e gestire automaticamente le appartenenze. Ciò è utile per:

  • Onboarding di nuovi dipendenti
  • Regolazione dell'accesso man mano che gli utenti si spostano tra i team
  • Rimozione di utenti che lasciano l'organizzazione

⚠️ Per usare la sincronizzazione del team, l'amministratore idP deve abilitare SAML SSO e SCIM.

Utenti gestiti aziendali e GitHub Enterprise Server

La sincronizzazione dei team è disponibile anche per le organizzazioni e gli account aziendali che usano GitHub Enterprise Cloud o GitHub Enterprise Server (GHE.com), che è la soluzione preferita nelle aree in cui è disponibile o necessaria per motivi di conformità.

Gli utenti gestiti dell'organizzazione (EMU) sono una funzionalità GitHub Enterprise Cloud che offre alle aziende il controllo completo sull'identità utente e sul ciclo di vita dell'account. Con le EPU, gli account GitHub sono completamente gestiti dal provider di identità (IdP) dell'organizzazione. Ciò significa che gli utenti non effettuano l'iscrizione manuale a GitHub. Tutto il provisioning degli utenti, l'accesso e l'offboarding vengono automatizzati tramite strumenti come Microsoft Entra ID o Okta.

Le unità emu sono ideali per le organizzazioni con requisiti rigorosi di conformità, controllo o governance degli utenti. Consentono di garantire che:

  • Tutti gli account sono di proprietà dell'azienda
  • L'accesso viene concesso o rimosso automaticamente in base all'appartenenza a IdP
  • Nessuna collaborazione esterna si verifica involontariamente

Quando si usano le UR:

  • Gli utenti gestiti non possono eseguire il push del codice nei repository di fork o all'esterno dell'organizzazione
  • Possono interagire solo con altri utenti e risorse all'interno dell'organizzazione

È possibile gestire l'organizzazione basata su EMU e l'appartenenza al team usando i gruppi nel provider di identità e, facoltativamente, integrare la sincronizzazione del team per automatizzare il mapping da gruppo a team.

Per le organizzazioni con requisiti relativi all'hosting autonomo o a specifiche normative regionali, GitHub Enterprise Server (GHE.com) offre una soluzione locale che consente di mantenere il controllo completo dell'ambiente GitHub.

Per altre informazioni, vedere Introduzione a GitHub Enterprise Cloud e Informazioni su GitHub Enterprise Server.

Sincronizzazione del team vs. SCIM per GHES

In GitHub Enterprise Server (GHES), la gestione dell'accesso utente e delle appartenenze ai team può essere ottenuta tramite vari metodi, tra cui la sincronizzazione del team e il sistema per SCIM (Cross-domain Identity Management). Comprendere questi metodi è essenziale per un'amministrazione efficace.

Sincronizzazione del team in GHES

La sincronizzazione del team consente di collegare i team di GitHub ai gruppi nel provider di identità (IdP). Questa integrazione garantisce che tutte le modifiche apportate al gruppo IdP, ad esempio l'aggiunta o la rimozione di membri, vengano riflesse automaticamente nel team GitHub corrispondente. Questo approccio semplifica la gestione dei team centralizzando il controllo dell'accesso degli utenti all'interno del gestore di identità.

Tuttavia, è importante notare che la sincronizzazione del team non è un servizio di provisioning utenti e non invita persone esterne a unirsi alle organizzazioni nella maggior parte dei casi. Pertanto, un utente verrà aggiunto correttamente a un team solo se è già membro dell'organizzazione.

Si consideri lo scenario seguente per comprendere il funzionamento della sincronizzazione dei team in pratica:

  • Quando il gruppo di Azure AD "DevOps Engineers" è associato al team di GitHub "DevOps"
  • Quando Alice viene aggiunto al gruppo IdP → aggiunto automaticamente al team di GitHub
  • Quando lascia il gruppo → rimosso automaticamente dal team

Annotazioni

La sincronizzazione del team in GHES non predispone gli account. Gli utenti devono essere già membri dell'organizzazione GitHub.

Abilitare la sincronizzazione dei team

  1. Attivare Security Assertion Markup Language (SAML) Single Sign-On (SSO) e SCIM nel Provider di Identità.
  2. Eseguire il mapping dei team GitHub ai gruppi IdP tramite l'interfaccia utente o l'API di GitHub.
  3. Le modifiche all'appartenenza ai gruppi vengono sincronizzate automaticamente su GitHub.

Provider di identità supportati:

  • Microsoft Entra ID: richiede autorizzazioni per la lettura del profilo e l'accesso alla directory.
  • Okta: richiede SAML SSO, SCIM, URL del tenant, e un token SSWS con accesso amministratore di sola lettura.

Disabilitare la sincronizzazione dei team

Per disabilitare:

  1. Passare a Impostazioni>Sicurezza organizzazione
  2. Fare clic su Disabilita sincronizzazione squadra

Screenshot dell'impostazione dell'organizzazione per disabilitare la sincronizzazione del team.

Annotazioni

La disabilitazione della sincronizzazione rimuove gli utenti dai team se sono stati aggiunti tramite mapping IdP.

SCIM in GHES

SCIM è un protocollo standard aperto progettato per automatizzare lo scambio di informazioni sull'identità utente tra domini di identità e sistemi IT. Nel contesto di GHES, SCIM consente agli amministratori di effettuare il provisioning, l'aggiornamento e il deprovisioning degli account utente direttamente tramite l'API GitHub. Ciò significa che è possibile creare, aggiornare ed eliminare gli account utente e sincronizzare le informazioni del gruppo per eseguire il mapping delle appartenenze ai team gitHub.

SCIM è utile per gestire i cicli di vita degli utenti su larga scala, assicurando che i dati utente rimangano coerenti tra i sistemi.

Si consideri lo scenario seguente per comprendere il funzionamento di SCIM in pratica:

  • L'integrazione di Okta SCIM effettua automaticamente il provisioning degli utenti di GitHub
  • Bob viene aggiunto a Okta → viene effettuato il provisioning dell'account GitHub
  • Bob modifica i ruoli → l'accesso e i team vengono aggiornati
  • Bob lascia → l'account viene disattivato

Vantaggio chiave: Automazione completa per la gestione del ciclo di vita degli account.

Team Sync vs. SCIM Gruppo

GitHub supporta due approcci di integrazione delle identità principali:

  • Sincronizzazione team: focalizzato sulla sincronizzazione delle appartenenze ai gruppi con i team di GitHub
  • SCIM del gruppo: incentrato sulla gestione completa del ciclo di vita di utenti e gruppi

Differenze tra sincronizzazione del team e SCIM del gruppo

Caratteristica / Funzionalità Sincronizzazione del team Gruppo SCIM
Concentrazione (or Messa a fuoco) Mapping a livello di team Gestione utenti e gruppi
Configurazione Mappatura manuale da gruppo a squadra Automatizzato tramite la configurazione SCIM di IdP
Livello di automazione Sincronizza solo l'appartenenza al gruppo Automazione completa del ciclo di vita
Caso d'uso ideale Gestione di GitHub Teams Organizzazioni di grandi dimensioni con un elevato ricambio di utenti
Revoca delle autorizzazioni Manuale o dipendente dal gruppo IdP Completamente automatizzato
Modello di identità Classico Utenti gestiti

Scelta dell'approccio corretto

La scelta tra Sincronizzazione team e SCIM di gruppo dipende dalle esigenze, dalle dimensioni e dall'infrastruttura di gestione delle identità esistente dell'organizzazione:

Caso d'uso Soluzione consigliata
Gestire l'accesso al repository da parte dei team Sincronizzazione del team
Automatizzare il ciclo di vita degli utenti Gruppo SCIM
È necessaria una governance completa basata su IdP Gruppo SCIM
GitHub Teams è fondamentale per il flusso di lavoro Sincronizzazione del team

Limiti di utilizzo

Quando si usa la sincronizzazione del team, osservare questi limiti:

  • Numero massimo di membri per team: 5.000
  • Numero massimo di membri per organizzazione: 10.000
  • Numero massimo di team per organizzazione: 1.500

Il superamento di questi limiti può causare problemi di prestazioni o errori di sincronizzazione.