Gestione delle identità e dell'accesso utente

Completato

L'autenticazione è il gateway per l'ecosistema di sviluppo software aziendale. L'interazione di ogni utente con GitHub inizia con la verifica dell'identità. Anche se i singoli account possono basarsi su nomi utente e password, la sicurezza aziendale avanzata impone l'autenticazione a due fattori (2FA) o metodi più avanzati, ad esempio passkey e accesso biometrico. Bilanciare l'usabilità con la sicurezza è fondamentale, soprattutto in un ambiente di sviluppo rapido.

Autenticazione moderna in GitHub Enterprise

Per garantire un'esperienza di autenticazione sicura e semplificata, GitHub supporta più metodi moderni che si integrano con i sistemi di gestione delle identità:

Chiavi di accesso e WebAuthn

  • Le passkey sono un metodo di accesso senza password, associato a un dispositivo fisico e resistente al phishing.
  • WebAuthn supporta fattori biometrici e token hardware come YubiKey.
  • Questi metodi riducono significativamente gli attacchi basati sulle credenziali e migliorano l'esperienza utente di accesso.

GitHub Mobile per l'autenticazione a due fattori

Gli utenti possono eseguire l'autenticazione con GitHub Mobile, che supporta le notifiche push per l'approvazione rapida e sicura, migliorando 2FA senza interrompere i flussi di lavoro.

App OAuth e GitHub

  • Le app OAuth usano il flusso OAuth 2.0 di GitHub per autenticare gli utenti e concedere l'accesso con ambito alle applicazioni esterne.
  • Le app GitHub si autenticano come singole installazioni con permessi dettagliati e sono ideali per le pipeline CI/CD e di automazione.

Utenti gestiti dall'organizzazione (EMU)

In GitHub Enterprise Cloud, le EMU garantiscono che l'autenticazione avvenga rigorosamente tramite il provider di identità (IdP). Questo modello:

  • Limita l'accesso solo agli account gestiti dall'organizzazione.
  • Applica il controllo centralizzato su identità, credenziali e criteri di sessione.

Gestione dell'organizzazione con SAML SSO

Una funzionalità di base per l'autenticazione di livello aziendale è SAML Single Sign-On (SSO). SAML collega il tuo IdP a GitHub, consentendo agli utenti di accedere a diversi servizi usando un unico set di credenziali. GitHub utilizza l'IdP per verificare l'identità dell'utente prima di concedere l'accesso alle risorse dell'organizzazione o dell'impresa.

Quando gli utenti accedono a GitHub, possono vedere le organizzazioni a cui appartengono, ma l'accesso ai dati del repository richiede la riautenticazione SAML tramite il fornitore di identità.

In qualità di Amministratore dell'impresa, le tue responsabilità includono:

  • Autorizzazione dell'accesso in base al ruolo e alla necessità di conoscenza.
  • Monitoraggio e controllo dell'attività dell'utente.
  • Definizione dell'ambito delle autorizzazioni e riduzione della superficie di attacco.

Immagine di un esempio di revisione dell'elenco di autorizzazioni del repository dell'amministratore.

Per configurare l'accesso SSO SAML per l'organizzazione, integrare IdP con GitHub. I provider supportati includono:

  • Active Directory Federation Services (ADFS)
  • Microsoft Entra ID
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

Nota

GitHub offre un supporto limitato per i provider di identità che implementano lo standard SAML 2.0.

Controlli di accesso e autorizzazione aziendali

L'accesso in GitHub è governato da un modello di autorizzazione affidabile a più livelli:

Token di accesso personali con granularità fine

A differenza dei PAT classici, i PAT a granularità fine:

  • Limitare l'accesso a repository e ambiti specifici.
  • Supportare la scadenza automatica per ridurre l'esposizione ai rischi.
  • Offrire controlli avanzati di tracciabilità e conformità.

Ruoli personalizzati del repository

Gli amministratori possono definire ruoli personalizzati che si estendono oltre i set di autorizzazioni predefiniti. Ciò supporta:

  • Accesso delegato personalizzato per flussi di lavoro univoci.
  • Applicazione dei privilegi minimi per i repository sensibili.

Imposizione dei criteri di sicurezza

È possibile applicare controlli di sicurezza globali, ad esempio:

  • 2FA obbligatoria per tutti gli utenti.
  • Elenchi di indirizzi IP consentiti per limitare l'accesso alle reti approvate.
  • Blocco delle app OAuth non verificate, a meno che non siano approvate in modo esplicito.

Controlli a livello di organizzazione e di azienda

  • I controlli a livello di organizzazione includono ruoli predefiniti, accesso basato su team e gestione di collaboratori esterni.
  • La Governance a livello aziendale include:
    • Imposizione centralizzata di SAML.
    • Restrizioni di accesso basate su IdP.
    • Applicazione dei criteri globali tramite GitHub Enterprise Cloud.

Visibilità del repository e accesso interno

Quando i membri dell'organizzazione creano repository, possono scegliere tra opzioni di visibilità pubblica, privata o interna :

  • Pubblico: disponibile per chiunque su Internet.
  • Privato: limitato agli utenti selezionati.
  • Interno: visibile a tutti i membri all'interno dell'organizzazione, ma nascosti da utenti esterni.

Questa granularità garantisce che il codice sorgente, la documentazione e altri asset vengano condivisi solo con gli stakeholder appropriati.