A támogatott hozzáférési jogkivonatok azonosítása
Itt megismerheti a Különböző GitHub-hozzáférési jogkivonatokat, azok alkalmazásait, korlátait és sebességkorlátjait.
Amikor hozzáférést ad a vállalat felhasználóinak, a hitelesítés rendkívül fontos. A felhasználói hozzáférésnek szigorú hatókörrel kell rendelkeznie, és csak azt kell tartalmaznia, ami szükséges a felhasználók számára a feladataik elvégzéséhez. A különböző hozzáférési jogkivonatok megismerése fontos, mivel segít abban, hogy a vállalaton belüli felhasználók a legjobb megoldást használják a használati esetekhez.
A GitHub különböző tokeneket használ, amelyek lehetővé teszik a felhasználók számára, hogy hitelesítsék magukat a szükséges tevékenységekhez. Ezek a különböző tokenek általában egyszerűek, és könnyű megállapítani, hogy melyiket kell használni. Néha azonban több jogkivonat is használható ugyanahhoz az eredményhez, így a jogkivonat kiválasztása jó, jobb és legjobb döntéshez vezethet. Ilyen helyzetekben fontos azonosítani a GitHub-jogkivonatok jellemzőit, és hogy hogyan lehet megfelelően hatókörbe felvenni a jogkivonatok hozzáférését. Az alábbi lista az elérhető különböző hozzáférési jogkivonatokat tartalmazza:
- Személyes GitHub-hozzáférési jogkivonatok
- GitHub-felhasználó–kiszolgáló jogkivonatok
- GitHub szerver–szerver tokenek
- OAuth hozzáférési jogkivonatok
- Jogkivonatok frissítése
Fontos, hogy a fejlesztői csapat a megfelelő hatókörrel rendelkező jogkivonatokat használjon, hogy biztonsági rések észlelésekor a kockázat gyorsan mérsékelhető legyen. Vizsgáljuk meg közelebbről ezeket a hozzáférési jogkivonatokat.
Személyes hozzáférési jogkivonat
A személyes hozzáférési jogkivonat (PAT) a GitHubon való hitelesítéshez használt jelszó alternatívája. Az adattárak leküldéséhez és lekéréséhez a GitHubnak ellenőriznie kell a felhasználói hozzáférést. Az ellenőrzés a felhasználó ellenőrzött e-mail-címén keresztül történik. Annyi személyes hozzáférési jogkivonatot hozhat létre, amennyit a munkafolyamat igényel, és ezeket jelszóként kell biztonságosan kezelnie. A különböző alkalmazásokhoz különböző jogkivonatok használata ajánlott eljárás a biztonság szempontjából. Ha személyes hozzáférési jogkivonatot szeretne létrehozni a GitHubon, lépjen a Beállítások elemre, és a Fejlesztői beállítások területen válassza a Személyes hozzáférési jogkivonatok lehetőséget.
Az egyes tokenek hatókörét úgy lehet meghatározni, hogy csak a hozzárendelt feladat hitelesítéséhez szükséges hozzáférést engedélyezze. A jogkivonat egy adott felhasználóhoz van kötve, és összhangban van a felhasználó szervezethez és adattárakhoz való hozzáférésével. A személyes hozzáférési jogkivonatot bármikor visszavonhatja, ami biztonsági probléma esetén különösen fontos. Fontos, hogy közölje a csapattal, hogy a személyes hozzáférési jogkivonatokat felhasználónévként és jelszóként kell biztonságosan kezelni. Ha egy jogkivonat biztonsága sérül, azonnal meg kell lépnie a jogkivonat visszavonásához.
A személyes hozzáférési jogkivonatok létrehozásának részletes lépései itt érhetők el: Személyes hozzáférési jogkivonat létrehozása – GitHub Docs
Eszköztokenek
Az eszközjogkivonat alapvetően egy személyes hozzáférési jogkivonat gépesített fiók verziója, amelyet egy eszköz kontextusában használnak, és amely hozzáférést biztosít egy adott tárházhoz nem felhasználóhoz kötött konkrét használati esetekben. Egy OAuth-folyamatot használó alkalmazásbeállítás eszközjogkivonatot használ. Általában futókhoz, speciális alkalmazásszolgáltatásokhoz, Cron-feladatokhoz (Linuxon) vagy más, automatizált feladatokhoz kapcsolódó hasonló forgatókönyvekhez használják őket. A személyes hozzáférési jogkivonathoz hasonlóan az eszközjogkivonat is egy egyéni fiókhoz van kötve, és az a fiók, amelyhez az eszközjogkivonatot létrehozza, licencet használ.
GitHub-alkalmazástelepítési jogkivonatok
A telepítési jogkivonatok lehetővé teszik, hogy a GitHub-alkalmazások hitelesített API-kéréseket intézhessenek az alkalmazás szervezeten belüli telepítéséhez. A telepítési jogkivonat létrehozása előtt először telepítenie kell a gitHub alkalmazást, amelyre a jogkivonat vonatkozik, a céladattárban. A telepítési jogkivonatok egy órán át érvényesek, és biztonságosak, mert egy adott célra lettek létrehozva, és viszonylag rövid idő alatt lejárnak.
OAuth hozzáférési jogkivonatok
Az OAuth2-jogkivonatok a böngészőben futó szabványos OAuth-alkalmazások, valamint a fej nélküli alkalmazások, például a CLI-eszközök engedélyezésére szolgálnak. Lehetővé teszik az alkalmazás számára, hogy felhasználói hozzáférési jogkivonattal férhessen hozzá az API-hoz. Ezek a jogkivonatok lehetővé teszik a GitHub felhasználói identitásának külső alkalmazásokhoz való csatlakoztatását, így az alkalmazás műveleteket hajthat végre az Ön nevében. Ha például egy hatókört user:email kérő alkalmazást szeretne használni, az alkalmazás csak olvasási hozzáférést kap a privát e-mail-címekhez. Ezek a tokenek az éles alkalmazások webalkalmazási folyamatával szerezhetők be. Biztonságosak ezek a tokenek, mivel rövid távúak és 10 percen belül lejárnak.
Frissítő Tokenek
A frissítési jogkivonat egy OAuth-jogkivonattal van összekapcsolva. Ha új OAuth-jogkivonatot ad meg (felhasználó–kiszolgáló kérésen keresztül), a válasz egy frissítési jogkivonatot tartalmaz. A felhasználói jogkivonat lejárata után a frissítési jogkivonat egy új felhasználói jogkivonatra cserélhető visszahívási kéréssel. Minden alkalommal, amikor új OAuth-jogkivonatot adnak ki, a rendszer egy frissítési jogkivonatot is tartalmaz. A frissítési jogkivonatok hat hónapig érvényesek, és jó emlékeztető az OAuth-jogkivonatok frissítésére.
Azonosítható előtagok
Ahogy az iparág egészében láthatjuk, a token előtagok egyértelmű módot jelentenek a tokenek azonosítására. A GitHub hárombetűs előtagokat tartalmaz, amelyek az egyes jogkivonatokat jelölik. Az előtag két betűvel kezdődik, amelyek a vállalatot jelölik, ghés a tokentípus első betűje követi. Az elérhető hozzáférési jogkivonat-típusok előtagja a következő:
-
ghpa GitHub személyes hozzáférési jogkivonataihoz -
ghuGitHub-felhasználó–kiszolgáló jogkivonatokhoz -
ghsGitHub-kiszolgálók közötti hitelesítő adatokhoz -
ghoOAuth hozzáférési jogkivonatok esetén -
ghrfrissítési jogkivonatok esetén
Ezen kívül ezeknek az előtagoknak egy elválasztó (_) van a tokenen belül, hogy javítsa az olvashatóságot. Az aláhúzás nem Base64 karakter, ami segít abban, hogy a véletlenszerűen létrehozott sztringek, mint például a biztonságos hash-algoritmusok (SHA-k), véletlenül ne duplikálhassák ezeket a tokeneket. Az előtagok segítenek csökkenteni a titkos kulcsok vizsgálatának hamis pozitív arányát is, amely egy GitHub speciális biztonsági funkció, amely tovább javítja a GitHub-adattáron belüli biztonságot.
Token sebességkorlátjai
A sebességkorlátok túllépése a fejlesztési idő elvesztéséhez vezethet. Beszéljünk a GitHub Apps és az OAuth-alkalmazások díjszabási korlátairól. A sebességkorlátok megértésével erőforrásként használhatja a csapat fejlesztőit, így optimalizálhatja a szervezet befektetéseit ezekben a GitHub-erőforrásokban.
A sebességkorlátozások segítenek szabályozni a Forgalom sebességét a GitHubon, és óránkénti kéréseken alapulnak.
- A Vállalati GitHub-fiókra telepített GitHub-alkalmazások kérési sebességkorlátja óránként 15 000 kérelem.
- Az OAuth-alkalmazások hitelesítése egy adott felhasználó számára történik, és óránként legfeljebb 5000 kérelemre korlátozódik.
A nagyvállalati rendszergazdáknak figyelnie kell az alkalmazások sebességkorlátozásait, és együtt kell működnie a fejlesztőkkel, hogy a szkriptjeik a korlátokon belül maradjanak. A sebességkorlátok általában nem okoznak problémát, amíg a fejlesztő nem tesz olyasmit, mint egy szkript írása, amely túl sok információt kér egy munkafolyamatban. Hirtelen a fejlesztés leáll, és a sebességkorlátok szűk keresztmetszetté válnak. Ezeket a sebességkorlát-túllépési problémákat elkerülheti úgy, hogy korlátozza az óránkénti kérelmek számát, vagy módosít egy munkafolyamatot a kérések közötti várakozáshoz. Ha az alapszintű hitelesítés vagy az OAuth használatával túllépi a sebességkorlátot, az API-válaszok gyorsítótárazásával és feltételes kérések használatával valószínűleg megoldhatja a problémát.
A felügyeleti konzolon egyéni díjkorlátot állíthat be a vállalat nem hitelesített felhasználói számára, és létrehozhat egy kivétellistát, amely lehetővé teszi, hogy bizonyos felhasználók a teljes API-sebességkorlátot használják.
Az aktuális sebességkorlát állapotát bármikor ellenőrizheti a következő Rate Limit API használatával. Az API-kérések visszaadott HTTP-fejlécei az aktuális sebességkorlát állapotát mutatják.
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/rate_limit
Példaválasz
{
"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
}
}
A sebességkorlátokkal kapcsolatos részletesebb információkért tekintse meg a GitHub Docs sebességkorlátozását ismertető témakört.