Identificare tokenuri de acces acceptate
Aici, aflați despre diferitele tokenuri de acces GitHub, aplicațiile, limitările și limitele de rată ale acestora.
Când acordați acces utilizatorilor din cadrul companiei dvs., autentificarea este incredibil de importantă. Accesul utilizatorilor ar trebui să fie bine definit și să includă doar ceea ce este necesar pentru ca utilizatorii să-și finalizeze activitățile. Înțelegerea diferitelor tokenuri de acces este importantă, deoarece ajutați utilizatorii din firmă să utilizeze cea mai bună opțiune pentru cazurile lor de utilizare.
GitHub utilizează diverse tokenuri care le permit utilizatorilor să se autentifice în activitățile diferite pe care trebuie să le efectueze. De obicei, aceste simboluri diferite sunt simple și este simplu să știți ce simbol să utilizați. Dar, uneori, mai multe simboluri pot fi utilizate pentru a realiza același rezultat, prin urmare, alegerea unui simbol poate ajunge la o decizie de bună, mai bună și mai bună. În aceste situații, este important să identificați caracteristicile tokenurilor GitHub și cum să stabiliți corect accesul unui token. Iată o listă cu diferite tokenuri de acces disponibile:
- Tokenuri de acces personal GitHub
- Tokenuri GitHub utilizator-la-server
- Tokenuri server-to-server GitHub
- Tokenuri de acces OAuth
- Tokenuri de reîmprospătare
Este important să încurajați echipa de dezvoltare să utilizeze simboluri cu domeniul potrivit, astfel încât, atunci când este descoperită o vulnerabilitate de securitate, riscul poate fi atenuat rapid. Să aruncăm o privire mai atentă asupra fiecăruia dintre aceste tokenuri de acces.
Tokenuri de acces personal
Un token de acces personal (PAT) este o alternativă la utilizarea unei parole pentru autentificarea la GitHub. Pentru a împinge și a trage în depozite, GitHub trebuie să verifice accesul utilizatorilor. Verificarea se efectuează prin adresa de e-mail verificată a unui utilizator. Puteți crea oricâte tokenuri de acces personal necesită fluxul de lucru și ar trebui să le tratați la fel de în siguranță ca parolele. Utilizarea simbolurilor diferite pentru aplicații diferite este cea mai bună practică pentru securitate. Pentru a crea un token de acces personal în GitHub, navigați la Setări și, sub Setări dezvoltator, selectați Jetoane de acces personal.
Puteți defini un token individual pentru a permite doar accesul necesar pentru autentificarea activității căreia îi atribuiți. Simbolul este legat la un anumit utilizator și se aliniază cu accesul utilizatorului la organizație și la depozite. Puteți revoca oricând un token de acces personal, ceea ce este deosebit de important atunci când apare o problemă de securitate. Este important să comunicați echipei dvs. că tokenurile lor de acces personal ar trebui tratate în siguranță ca nume de utilizator și parolă. Dacă un token devine compromis, ar trebui să luați măsuri imediate pentru a revoca tokenul.
Pașii detaliați pentru crearea unui token de acces personal sunt disponibili aici: Crearea unui token de acces personal - GitHub Docs
Tokenuri dispozitiv
Un Device Token este practic o versiune de cont de mașină a unui PAT, utilizată în contextul unui dispozitiv, care oferă acces la un anumit depozit în cazuri de utilizare specifice care nu sunt legate de utilizator. O configurare de aplicație utilizând un flux OAuth utilizează un token de dispozitiv. Acestea sunt de obicei utilizate cu alergători, servicii speciale de aplicații, lucrări Cron (în Linux) sau alte scenarii similare legate de sarcini automate. La fel ca tokenul de acces personal, tokenul dispozitivului este legat de un cont individual, iar contul pentru care creați tokenul dispozitivului consumă o licență.
Tokenuri de instalare aplicație GitHub
Un token de instalare permite unei aplicații GitHub să efectueze solicitări API autentificate pentru instalarea aplicației într-o organizație. Înainte de a crea un token de instalare, trebuie mai întâi să instalați aplicația GitHub la care se aplică tokenul, în depozitul de destinație. Tokenurile de instalare sunt valabile timp de o oră și sunt sigure, deoarece sunt generate pentru un anumit scop și expiră într-un timp relativ scurt.
Tokenuri de acces OAuth
Tokenurile OAuth2 sunt utilizate pentru a autoriza utilizatorii pentru aplicațiile OAuth standard care rulează în browser și pentru aplicații fără cap, cum ar fi instrumentele CLI. Acestea permit aplicației dvs. să acceseze API-ul cu un token de acces utilizator. Aceste tokenuri vă permit să vă conectați identitatea de utilizator GitHub la aplicații terțe, permițând aplicației să efectueze acțiuni în numele dvs. De exemplu, dacă doriți să utilizați o aplicație care solicită user:email domeniu, aplicația primește acces doar în citire la adresele de e-mail private. Aceste tokenuri pot fi achiziționate utilizând fluxul de aplicații Web pentru aplicațiile de producție. Deoarece aceste jetoane sunt pe termen scurt și expiră în 10 minute, sunt și sigure.
Reîmprospătare tokenuri
Un token de reîmprospătare este conectat cu un simbol OAuth. Atunci când se acordă un nou simbol OAuth (printr-o solicitare utilizator-la-server), se include un simbol de reîmprospătare în răspuns. Atunci când tokenul de utilizator expiră, simbolul de reîmprospătare poate fi schimbat pentru un simbol de utilizator nou cu o solicitare de apelare inversă. De fiecare dată când se emite un nou simbol OAuth, este inclus un simbol de reîmprospătare. Tokenurile de reîmprospătare sunt valide timp de șase luni și sunt un memento bun pentru a actualiza tokenurile OAuth.
Prefixe identificabile
După cum vedem în industrie, prefixele simbolurilor sunt o modalitate clară de a face tokenurile identificabile. GitHub include prefixe de trei litere pentru a reprezenta fiecare token. Prefixul începe cu două litere care semnifică compania, gh, și este urmat de prima literă a tipului de token. Prefixele pentru tipurile de tokenuri de acces disponibile sunt:
-
ghppentru tokenurile de acces personal GitHub -
ghupentru tokenurile GitHub utilizator-la-server -
ghspentru tokenurile server-to-server GitHub -
ghopentru tokenurile de acces OAuth -
ghrpentru tokenurile de reîmprospătare
În plus, aceste prefixe au un separator (_) în cadrul simbolului, pentru a îmbunătăți lizibilitatea. Un caracter de subliniere nu este un caracter Base64, ceea ce vă ajută să vă asigurați că șirurile generate aleatoriu, cum ar fi algoritmii hash securizați (SHA), nu pot duplica accidental aceste tokenuri. Prefixele ajută, de asemenea, la reducerea ratei fals pozitive pentru scanarea secretă, care este o caracteristică de securitate avansată GitHub pentru a îmbunătăți și mai mult securitatea în depozitul GitHub.
Limite pentru rata tokenului
Depășirea limitelor de rate poate duce la pierderea timpului de dezvoltare. Să vorbim despre limitele de rate pentru aplicațiile GitHub și aplicațiile OAuth. Prin înțelegerea limitelor ratei, puteți fi o resursă dezvoltatorilor din echipa dvs., ajutând la optimizarea investiției organizației în aceste resurse GitHub.
Limitele de rate ajută la controlul ratei traficului pe GitHub și se bazează pe solicitări pe oră.
- O aplicație GitHub instalată pe un cont de întreprindere GitHub are limita ratei de solicitări la 15.000 de solicitări pe oră.
- OAuth App este autentificată unui utilizator individual și este limitată la 5.000 de solicitări pe oră.
Pentru administratorii de întreprindere, trebuie să monitorizați limitele ratei aplicațiilor și să lucrați cu dezvoltatorii pentru a-și ajusta scripturile pentru a se încadra în limite. De obicei, limitele de rate nu sunt importante până când dezvoltatorul dvs. nu face ceva de genul să scrie un script care solicită prea multe informații într-un flux de lucru. Dintr-o dată, dezvoltarea vine la o oprire și limitele de rată devin un blocaj. Puteți evita aceste probleme de depășire a ratei, limitând numărul de solicitări pe oră sau modificând un flux de lucru pentru a aștepta între solicitări. Dacă depășiți limita de rate utilizând Autentificare de bază sau OAuth, este posibil să remediați problema prin memorarea în cache a răspunsurilor api și utilizarea solicitări condiționale.
Din consola de gestionare, puteți să configurați o limită de rate particularizată pentru utilizatorii neautentificati din întreprinderea dvs. și să creați o listă exceptată, permițând anumitor utilizatori să utilizeze limita completă de rate API.
Puteți verifica starea curentă a limitei de rate în orice moment, utilizând următoarea interfață API limită de rate. Anteturile HTTP returnate ale oricărei solicitări API afișează starea curentă a limitei de rate.
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/rate_limit
Exemplu de răspuns
{
"resources": {
"core": {
"limit": 5000,
"remaining": 4999,
"reset": 1372700873,
"used": 1
},
"search": {
"limit": 30,
"remaining": 18,
"reset": 1372697452,
"used": 12
},
"graphql": {
"limit": 5000,
"remaining": 4993,
"reset": 1372700389,
"used": 7
},
"integration_manifest": {
"limit": 5000,
"remaining": 4999,
"reset": 1551806725,
"used": 1
},
"code_scanning_upload": {
"limit": 500,
"remaining": 499,
"reset": 1551806725,
"used": 1
}
},
"rate": {
"limit": 5000,
"remaining": 4999,
"reset": 1372700873,
"used": 1
}
}
Pentru informații mai detaliate despre limitele de rate, referință Limitarea ratelor pe GitHub Docs.