Autorizare utilizator

Finalizat

După ce un utilizator se autentifică cu succes prin intermediul furnizorului de identitate (IdP) utilizând sign-on unic SAML (SSO), următorul pas critic este autorizarea- acordarea de instrumente precum tokenuri de acces personal (PATs), chei SSH sau aplicații OAuth cu capacitatea de a accesa resursele organizației.

Automatizarea autorizării utilizatorilor cu SAML SSO și SCIM

SSO (Security assertion markup language) SSO permite proprietarilor de întreprinderi și organizații să controleze accesul la resursele GitHub, cum ar fi depozitele, problemele și solicitările de tragere. Integrarea SCIM (Sistem pentru gestionarea identității inter-domeniu) îmbunătățește controlul accesului prin automatizarea accesului și anularea accesului utilizatorilor.

Captură de ecran a setării SCIM.

Cu SCIM, noilor angajați adăugați la IdP li se acordă automat acces la GitHub, în timp ce utilizatorii plecați sunt eliminați, reducând pașii manuali și îmbunătățind securitatea.

Notă

Fără SCIM, SAML SSO singur nu acceptă anularea automată a accesului membrilor organizației.

SCIM revocă, de asemenea, tokenurile învechite după terminarea unei sesiuni, reducând riscurile de securitate. Fără SCIM, revocarea simbolurilor învechite trebuie efectuată manual.

Gestionarea cheilor SSH și a PATs cu SSO SAML

SAML SSO și SCIM colaborează pentru a reflecta modificările identității în GitHub. Pentru a sprijini această coeziune:

  • NameID și userName trebuie să corespundă între clientul SAML IdP și SCIM.
  • Modificările de grup din IDP declanșează actualizări SCIM în GitHub.

Utilizatorii care accesează API-uri sau Git trebuie să utilizeze o cheie PAT sau SSH autorizată. Aceste metode sunt auditabile și legate în siguranță la SAML SSO.

Captură de ecran a tastei SSH.

Pentru a simplifica înscrierea, asigurați accesul utilizatorilor utilizând: https://github.com/orgs/ORGANIZATION/sso/sign_up. Afișați acest link în tabloul de bord IdP.

Atunci când utilizatorii se autentifică pentru prima dată, GitHub își leagă datele de cont și SCIM la organizația dvs. Administratorii pot ulterior să auditeze sau să revoce sesiunile și acreditările pentru a automatiza înregistrarea.

Integrarea SCIM cu GitHub

SCIM simplifică gestionarea identității în GitHub Enterprise Cloud, prin suport atât integrările native, cât și configurațiile particularizate.

Furnizori SCIM acceptați

GitHub acceptă în mod nativ:

  • Okta
  • ID Microsoft Entra
  • OneLogin
  • Identitate ping
  • Google Workspace

Aceste integrări asigură o configurare și compatibilitate fiabilă.

Integrări SCIM particularizate

Dacă IDP-ul dvs. nu este acceptat în mod nativ, utilizați API-ul SCIM GitHub pentru a construi integrări particularizate.

Prezentare generală API SCIM

API-ul SCIM 2.0 vă permite să:

  • Crearea, actualizarea și ștergerea utilizatorilor
  • Gestionarea grupurilor

Exemplu de solicitare de asigurare a accesului unui utilizator

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

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

GitHub procesează această solicitare și adaugă utilizatorul la organizația dvs.

Introducere

Pentru furnizori acceptați

  1. Conectați-vă la consola de administrare IdP.
  2. Activați asigurarea accesului SCIM.
  3. Furnizați URL-ul de bază și tokenul de suporter SCIM al GitHub.

Captură de ecran a pașilor de configurare SCIM din consola administrativă IdP.

Pentru IDP-uri particularizate

  1. Utilizați API-ul REST SCIM al GitHub.
  2. Autentificați-te cu un PAT.
  3. Testați integrarea cu solicitările eșantion.

Avantajele cheie ale integrării SCIM

  • Asigurarea accesului: Creați automat conturi.
  • Actualizări: Sincronizați rolurile și departamentele.
  • Se anulează furnizarea: Eliminați accesul prompt după ieșirea utilizatorului.

SCIM vs. Gestionarea manuală a utilizatorilor

Aspect gestionare SCIM-Based Gestionare manuală
Automatizare Automatizează asigurarea accesului și anularea accesului Intervenție manuală necesară
Consistență Date de utilizator standardizate în toate sistemele Riscul de inconsistențe
Securitate Dezactivarea în timp util a accesului Revocări întârziate sau pierdute
scalabilitate Scale cu baze de utilizator mari Greoaie la scară
Conformitate Ajută la îndeplinirea cerințelor de politică și de audit Mai greu de urmărit și de raportat

Conectarea IDP la GitHub

Puteți să utilizați un furnizor de identitate acceptat sau să aduceți propriul DVS. IDP SAML 2.0.

IDP-uri acceptate (cale pavată)

  • Okta
  • ID Microsoft Entra
  • Google Workspace

Câteva avantaje ale utilizării IDP-urilor acceptate sunt:

  • Integrare
  • GitHub acceptat
  • Efort mai mic de configurare

Aduceți propriul IDP

Aduceți-vă propriul IdP necesită asistență SAML 2.0. Are avantajul de a permite flexibilitate completă.

Pași de integrare

Tipul Pași
Cale pavată: 1. Navigați la setările de securitate ale întreprinderii.
2. Selectați IDP-ul.
3. Urmați instrucțiunile de configurare.
IdP particularizat: 1. Accesați setările de securitate.
2. Alegeți IdP particularizat.
3. Introduceți metadate SAML. 4. Validați conexiunea.

Compararea căilor de integrare IdP

Caracteristică Cărare pavată Aduceți propriul IDP
Proces de configurare ✅ Configurare ghidată ⚠️ Configurare manuală
Flexibilitate ⚠️ Limitat la IDP listat ✅ Orice IDP SAML 2.0
Întreținere ✅ Gestionat de GitHub ⚠️ Organizatie gestionata
Particularizare ⚠️ Minim ✅ Complet particularizabil
Asistență și actualizări ✅ GitHub acceptat ⚠️ Autogestionat

Gestionarea identităților și a accesului

Configurare SSO SAML

  1. Configurați URL-ul SAML SSO.
  2. Furnizați certificatul public.
  3. Adăugați metadate IdP.

Gestionarea acreditărilor

Cheile PATs și SSH trebuie să fie autorizate explicit și legate la identități IdP pentru a accesa în siguranță resursele organizației.

Auditarea sesiunilor SAML

  • Vizualizați sesiunile active în setări.
  • Revocați sesiuni individuale, după cum este necesar.

Considerații privind apartenența la GitHub

Tipul Considerare
Apartenență instanță GitHub - Acces la depozite publice
- Creați proiecte personale
- Vizibilitate profil public
Apartenență la organizație - Acces intern bazat pe roluri
- Profil vizibil pentru administratorii organizației
- Poate afecta facturarea
Apartenențe multiple la organizație - Roluri diferite în cadrul organizației
- Acces mai larg la resurse
- Permisiuni complexe și facturare
- Necesită o guvernanță strictă