Tunnistaa tuetut käyttöoikeustietueet
Täältä opit erilaisista GitHub-käyttöoikeustunnuksista, niiden sovelluksista, rajoituksista ja nopeusrajoituksista.
Kun myönnät käyttöoikeuden yrityksesi käyttäjille, todennus on erittäin tärkeää. Käyttäjien käyttöoikeudet tulee rajata tiukasti ja ne sisältävät vain sen, mitä käyttäjien on tarpeen tehtäviensä suorittamiseen. Eri käyttöoikeustietueiden ymmärtäminen on tärkeää, sillä autat yrityksen käyttäjiä käyttämään parasta vaihtoehtoa heidän käyttötapauksissaan.
GitHub käyttää eri tunnuksia, joiden avulla käyttäjät voivat todentautua erilaisiin toimintoihin, joita he tarvitsevat. Yleensä nämä eri tunnukset ovat yksinkertaisia ja on helppo tietää, mitä tunnusta käyttää. Mutta joskus saman tuloksen saavuttamiseksi voidaan käyttää useita tunnuksia, joten tunnuksen valitseminen voi johtaa hyvien, parempien ja parhaiden ratkaisuihin. Näissä tilanteissa on tärkeää tunnistaa GitHub-tunnusten ominaisuudet ja se, miten tunnuksen käyttöoikeus voidaan määritellä oikein. Seuraavassa on luettelo käytettävissä olevista eri käyttöoikeustietueista:
- Henkilökohtaiset GitHub-käyttöoikeustietueet
- GitHub-käyttäjät palvelimesta -tunnukset
- GitHub-palvelimesta-palvelimeen -tunnukset
- OAuth-käyttöoikeustietueet
- Päivitä tunnukset
On tärkeää kannustaa kehitystyöryhmääsi käyttämään tunnuksia, joilla on oikea vaikutusalue, jotta tietoturvaheikkoutta havaitaan, riskiä voidaan lieventää nopeasti. Tutustutaan tarkemmin näihin käyttöoikeustietueisiin.
Henkilökohtaiset käyttöoikeustietueet
Henkilökohtainen käyttöoikeustietue (PAT) on vaihtoehto salasanan käyttämiselle GitHubiin todentamiseen. Jotta GitHub voi lähettää ja hakea säilöjä, sen on tarkistettava käyttäjien käyttöoikeudet. Tarkistus tehdään käyttäjän vahvistetulla sähköpostiosoitteella. Voit luoda niin monta henkilökohtaista käyttöoikeustietuetta kuin työnkulkusi edellyttää, ja sinun on käsiteltävä niitä yhtä turvallisesti kuin salasanoja. Erilaisten tunnusten käyttäminen eri sovelluksissa on paras käytäntö suojaukseen. Jos haluat luoda henkilökohtaisen käyttöoikeustietueen GitHubissa, siirry kohtaan Asetukset ja valitse Kehittäjäasetukset-kohdastaHenkilökohtaiset käyttöoikeustietueet.
Voit rajoittaa yksittäisen tunnuksen sallimaan vain sen työn todentamiseen, johon määrität sen. Tunnus on sidottu tiettyyn käyttäjään ja se vastaa käyttäjän käyttöoikeuksia organisaatioon ja säilöihin. Voit peruuttaa henkilökohtaisen käyttöoikeustunnuksen milloin tahansa, mikä on erityisen tärkeää tietoturvaongelman ilmetessä. Tiimillesi on tärkeää kertoa, että heidän henkilökohtaisia käyttöoikeustunnuksiaan tulee käsitellä turvallisesti käyttäjänimenä ja salasanana. Jos tunnus vaarantuu, sinun on ryhdyttävä välittömiin toimiin tunnuksen kumoamiseksi.
Tarkat ohjeet henkilökohtaisen käyttöoikeustietueen luomiseen ovat täällä: Henkilökohtaisen käyttöoikeustietueen luominen – GitHub Docs
Laitteen tunnukset
Laitetunnus on pohjimmiltaan PAT:n konetiliversio, jota käytetään laitteen kontekstissa ja joka antaa pääsyn tiettyyn arkistoon tietyissä käyttötapauksissa, jotka eivät ole sidottuja käyttäjään. OAuth-työnkulkua käyttävä sovelluksen asennus käyttää laitetunnusta. Niitä käytetään tyypillisesti juoksijoiden, erityisten sovelluspalvelujen, Cron-töiden (Linuxissa) tai muiden vastaavien automatisoituihin tehtäviin liittyvien skenaarioiden kanssa. Henkilökohtaisen käyttöoikeustietueen tavoin laitetunnus on sidottu yksittäiseen tiliin, ja tili, jolle luot laitetunnuksen, käyttää käyttöoikeutta.
GitHub-sovelluksen asennustunnukset
Asennustunnuksen avulla GitHub-sovellus voi tehdä todennettuja ohjelmointirajapintapyyntöjä sovelluksen asennukselle organisaatiossa. Ennen asennustunnuksen luomista sinun on ensin asennettava GitHub-sovellus, jota tunnus koskee, kohdesäilöön. Asennustunnukset ovat voimassa tunnin ja ovat turvallisia, koska ne luodaan tiettyä tarkoitusta varten ja vanhenevat suhteellisen lyhyessä ajassa.
OAuth-käyttöoikeustietueet
OAuth2-tunnuksilla annetaan käyttäjille käyttöoikeus selaimessa suoritettaviin OAuth-vakiosovelluksiin ja päättömiin sovelluksiin, kuten komentorivikäyttöliittymätyökaluihin. Niiden avulla sovellus voi käyttää ohjelmointirajapintaa käyttöoikeustietueen avulla. Näiden tunnusten avulla voit yhdistää GitHub-käyttäjätietosi kolmannen osapuolen sovelluksiin, jotta sovellus voi suorittaa toimintoja puolestasi. Jos esimerkiksi haluat käyttää sovellusta, joka pyytää user:email vaikutusaluetta, sovellukselle annetaan vain luku -oikeudet yksityisiin sähköpostiosoitteisiisi. Nämä tunnukset voidaan hankkia tuotantosovelluksiin verkkosovelluksen työnkulun avulla. Koska nämä tokenit ovat lyhytaikaisia ja vanhenevat 10 minuutissa, ne ovat myös turvallisia.
Päivitä tunnukset
Päivitystunnus on yhdistetty OAuth-tunnukseen. Kun uusi OAuth-tunnus (käyttäjän ja palvelimen välillä -pyynnön kautta) myönnetään, vastaukseen lisätään päivitystunnus. Kun käyttäjätunnus on vanhentumassa, päivitystunnus voidaan vaihtaa uudelle käyttäjätunnuksella ja takaisinkutsupyynnöllä. Aina, kun annetaan uusi OAuth-tunnus, lisätään päivitystunnus. Päivitystunnukset ovat voimassa kuusi kuukautta, ja se on hyvä muistutus OAuth-tunnusten päivittämisesta.
Tunnistettavissa olevat etuliitteet
Kuten koko alalla näemme, tunnusten etuliitteet ovat selkeä tapa tunnistaa tunnukset. GitHub sisältää kolmikirjaimisia etuliitteitä, jotka edustavat kutakin tunnusta. Etuliite alkaa kahdella kirjaimella, jotka merkitsevät yritystä, gh, ja sitä seuraa merkkityypin ensimmäinen kirjain. Käytettävissä olevien käyttöoikeustietuetyyppien etuliitteet ovat:
-
ghpGitHubin henkilökohtaisille käyttöoikeustietueille -
ghuGitHubin käyttäjien ja palvelimen tunnuksille -
ghsGitHubin palvelimesta-palvelimeen -tunnuksille - OAuth-käyttöoikeustietueiden
gho - päivitystunnusten
ghr
Lisäksi näillä etuliitteillä on erotin (_) tunnuksen sisällä luettavuuden parantamiseksi. Alaviiva ei ole Base64-merkki, mikä auttaa varmistamaan, että satunnaisesti luodut merkkijonot, kuten Secure Hash Algorithms (SHA), eivät voi vahingossa kopioida näitä tunnuksia. Etuliitteet auttavat myös vähentämään väärien positiivisten tulosten määrää salaisessa tarkistuksessa, joka on GitHubin edistynyt suojausominaisuus, joka parantaa GitHub-säilön suojausta entisestään.
Tunnusten suhderajoitukset
Korkorajojen ylittäminen voi johtaa kehitysajan menettämiseen. Puhutaanpa GitHub-sovellusten ja OAuth-sovellusten hintarajoituksista. Kun ymmärrät hintarajoitukset, voit olla tiimisi kehittäjille tarkoitettu resurssi, joka auttaa optimoimaan organisaatiosi investointeja näihin GitHub-resursseihin.
Korkorajoitukset auttavat hallitsemaan liikenteen määrää GitHubissa, ja ne perustuvat pyyntöihin tuntia kohti.
- GitHubin yritystilille asennetun GitHub-sovelluksen pyyntöjen hintarajoitus on 15 000 pyyntöä tunnissa.
- OAuth-sovellus todennetaan yksittäiselle käyttäjälle ja se on rajoitettu 5 000 pyyntöön tunnissa.
Yritysjärjestelmänvalvojien kohdalla sinun tulee valvoa sovellusten hintarajoituksia ja tehdä yhteistyötä kehittäjien kanssa komentosarjojen muokkaamiseksi, jotta ne pysyvät rajoissa. Yleensä hintarajoitukset eivät aiheuta huolta, ennen kuin kehittäjäsi esimerkiksi kirjoittaa komentosarjan, joka pyytää liikaa tietoja työnkulussa. Yhtäkkiä kehitys pysähtyy ja korkorajoitukset muuttuvat pullonkaulaksi. Voit välttää nämä hintarajoitusten ylitysongelmat rajoittamalla pyyntöjen määrää tuntia kohti tai muuttamalla työnkulun odottamaan pyyntöjen välillä. Jos ylität hintarajoituksen käyttämällä perustodennusta tai OAuth-todennusta, voit todennäköisesti korjata ongelman tallentamalla ohjelmointirajapinnan vastaukset välimuistiin ja käyttämällä ehdollisia pyyntöjä.
Hallintakonsolissa voit määrittää mukautetun hintarajoituksen todentamattomille käyttäjille yrityksessäsi ja luoda poikkeusluettelon, jonka avulla tietyt käyttäjät voivat käyttää täydellistä ohjelmointirajapinnan hintarajoitusta.
Voit tarkistaa nykyisen hintarajoituksen tilan milloin tahansa käyttämällä seuraavaa Rate Limit -ohjelmointirajapintaa. Minkä tahansa ohjelmointirajapintapyynnön palautetut HTTP-otsikot näyttävät nykyisen korkorajan tilan.
curl \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/rate_limit
Esimerkkivastaus
{
"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
}
}
Tarkempia tietoja korkorajoituksista on artikkelissa Rate Limiting GitHub Docsissa.