Autorizzazione utente

Completato

Dopo che un utente esegue correttamente l'autenticazione tramite il provider di identità (IdP) usando l'accesso Single Sign-On (SSO) SAML, il passaggio critico successivo è l'autorizzazione, concedendo strumenti come token di accesso personale (PAT), chiavi SSH o app OAuth con la possibilità di accedere alle risorse dell'organizzazione.

Automazione dell'autorizzazione utente con SAML SSO e SCIM

L'accesso SSO tramite il linguaggio di marcatura per le asserzioni di sicurezza (SAML) consente ai proprietari dell'impresa e dell'organizzazione di controllare l'accesso alle risorse di GitHub, ad esempio repository, problemi e pull request. L'integrazione di SCIM (System for Cross-domain Identity Management) migliora il controllo di accesso automatizzando il provisioning e il deprovisioning degli utenti.

Screenshot dell'impostazione SCIM.

Con SCIM, ai nuovi dipendenti aggiunti all'IdP viene concesso automaticamente l'accesso a GitHub, mentre gli utenti in partenza vengono rimossi, riducendo i passaggi manuali e migliorando la sicurezza.

Nota

Senza SCIM, SAML SSO da solo non supporta la disabilitazione automatica dei membri dell'organizzazione.

SCIM revoca anche i token non aggiornati al termine di una sessione, riducendo i rischi per la sicurezza. Senza SCIM, è necessario revocare i token non aggiornati manualmente.

Gestione di chiavi SSH e PAT con SAML SSO

SAML SSO e SCIM interagiscono per riflettere le modifiche all'identità in GitHub. Per sostenere questa coesione:

  • NameID e userName devono corrispondere tra il client SAML IdP e SCIM.
  • Raggruppare le modifiche apportate agli aggiornamenti SCIM del trigger IdP in GitHub.

Gli utenti che accedono alle API o Git devono usare una chiave PAT o SSH autorizzata. Questi metodi sono controllabili e collegati in modo sicuro a SAML SSO.

Screenshot della chiave SSH.

Per semplificare onboarding, configura gli utenti usando: https://github.com/orgs/ORGANIZATION/sso/sign_up. Visualizzare questo collegamento nel dashboard IdP.

Quando gli utenti eseguono la prima autenticazione, GitHub collega il proprio account e i dati SCIM all'organizzazione. Gli amministratori possono successivamente controllare o revocare sessioni e credenziali per automatizzare l'offboarding.

Integrazione SCIM con GitHub

SCIM semplifica la gestione delle identità in GitHub Enterprise Cloud supportando sia le integrazioni native che le configurazioni personalizzate.

Provider SCIM supportati

GitHub supporta in modo nativo:

  • Okta
  • Microsoft Entra ID
  • OneLogin
  • Ping Identity
  • Google Workspace

Queste integrazioni garantiscono una configurazione e una compatibilità affidabili.

Integrazioni SCIM personalizzate

Se il tuo IdP non è supportato in modo nativo, usa l'API SCIM di GitHub per creare integrazioni personalizzate.

Panoramica dell'API SCIM

L'API SCIM 2.0 consente di:

  • Creare, aggiornare ed eliminare utenti
  • Gestire i gruppi

Richiesta di esempio per effettuare il provisioning di un utente

POST /scim/v2/Users
Content-Type: application/json

{
  "userName": "jdoe",
  "name": {
    "givenName": "John",
    "familyName": "Doe"
  },
  "emails": [
    {
      "value": "jdoe@example.com",
      "primary": true
    }
  ]
}

GitHub elabora questa richiesta e aggiunge l'utente all'organizzazione.

Come iniziare

Per i fornitori supportati

  1. Accedere alla console di amministrazione di IdP.
  2. Abilitare il provisioning SCIM.
  3. Specificare l'URL di base SCIM di GitHub e il token di portatore.

Screenshot dei passaggi di configurazione SCIM nella console di amministrazione di IdP.

Per gli ID personalizzati

  1. Usare l'API REST SCIM di GitHub.
  2. Eseguire l'autenticazione con un token di accesso personale.
  3. Testare l'integrazione con richieste di esempio.

Vantaggi principali dell'integrazione SCIM

  • Provisioning: Creare automaticamente gli account.
  • Aggiornamenti: Sincronizzare ruoli e reparti.
  • Deprovisioning: Rimuovere immediatamente l'accesso al momento dell'uscita dell'utente.

SCIM e gestione manuale degli utenti

Aspetto SCIM-Based Gestione Gestione manuale
Automazione Automatizza il provisioning e il deprovisioning Intervento manuale richiesto
Consistenza Dati utente standardizzati tra sistemi Rischio di incoerenze
Sicurezza Disattivazione tempestiva dell'accesso Revoche ritardate o mancate
Scalabilità Scalabilità con basi utente di grandi dimensioni Ingombrante su larga scala
Conformità Consente di soddisfare i requisiti di politiche e audit Più difficile tenere traccia e segnalare

Collegamento dell'IdP a GitHub

È possibile usare un provider di identità supportato oppure portare il proprio IdP SAML 2.0.

IdP supportati (percorso pavimentato)

  • Okta
  • Microsoft Entra ID
  • Google Workspace

Alcuni vantaggi dell'uso degli IDP supportati sono:

  • Integrazione senza problemi
  • supportato da GitHub
  • Riduzione delle operazioni di configurazione

Porta il tuo IdP

Bring Your Own IdP richiede il supporto SAML 2.0. Ha il vantaggio di consentire la massima flessibilità.

Passaggi di integrazione

TIPO Fasi
Percorso pavimentato: 1. Passare alle impostazioni di sicurezza aziendali.
2. Selezionare il provider di identità.
3. Seguire le istruzioni di installazione.
IdP personalizzato: 1. Passare alle impostazioni di sicurezza.
2. Scegliere il IdP personalizzato.
3. Immettere i metadati SAML. 4. Convalidare la connessione.

Confronto tra percorsi di integrazione IdP

Caratteristica / Funzionalità Percorso pavimentato Porta il tuo IdP
Processo di installazione ✅ Configurazione guidata ⚠️ Configurazione manuale
Flessibilità ⚠️ Limitato agli IDP elencati ✅ Qualsiasi IDP SAML 2.0
Manutenzione ✅ gestito da GitHub ⚠️ Gestito dall'organizzazione
Personalizzazione ⚠️ Minimo ✅ Completamente personalizzabile
Supporto e aggiornamenti ✅ supportato da GitHub ⚠️ Autogestito

Gestione delle identità e dell'accesso

Configurazione dell'accesso Single Sign-On SAML

  1. Configurare l'URL SSO SAML.
  2. Fornire il certificato pubblico.
  3. Aggiungere metadati IdP.

Gestione delle credenziali

Le chiavi CONT e SSH devono essere autorizzate in modo esplicito e collegate alle identità IdP per accedere in modo sicuro alle risorse dell'organizzazione.

Controllo delle sessioni SAML

  • Visualizzare le sessioni attive nelle impostazioni.
  • Revocare le singole sessioni in base alle esigenze.

Considerazioni sull'appartenenza a GitHub

TIPO Considerazione
Appartenenza all'istanza di GitHub - Accesso ai repository pubblici
- Creare progetti personali
- Visibilità del profilo pubblico
Appartenenza all'organizzazione - Accesso interno basato sui ruoli
- Profilo visibile agli amministratori dell'organizzazione
- Potrebbe influire sulla fatturazione
Appartenenze a più organizzazioni - Ruoli diversi tra organizzazioni
- Accesso alle risorse più ampio
- Autorizzazioni e fatturazione complesse
- Richiede una governance rigorosa