Hogyan működik a GitHub-hitelesítés?

Befejeződött

Az előző leckében megismerkedett a csapat, a szervezet és a nagyvállalati szintű tipikus adminisztrációs feladatokkal. Ebben a leckében részletesen megismerkedhet a szervezettulajdonosok által végzett egyik leggyakoribb felügyeleti feladattal: a felhasználók GitHubon való hitelesítésének beállításával és szabályozásával.

Hitelesítési lehetőségek a GitHubon

A GitHubon többféleképpen is hitelesíthető:

Felhasználónév és jelszó

Rendszergazda istratorok lehetővé teszik a felhasználók számára az alapértelmezett felhasználónév- és jelszó-hitelesítési módszer használatát, más néven "alapszintű" HTTP-hitelesítési sémát. Az elmúlt években az alapszintű hitelesítés túl kockázatosnak bizonyult a rendkívül bizalmas információk kezelésekor, ezért erősen javasoljuk, hogy az ebben a leckében felsorolt lehetőségek közül egyet (vagy többet) használjon.

Personal access tokens

Screenshot of the personal access token screen.

A személyes hozzáférési jogkivonatok (PAT-k) a Jelszavak használata a GitHubon való hitelesítéshez a GitHub API vagy a parancssor használatakor. A felhasználók a GitHub beállítási lehetőségén keresztül hoznak létre jogkivonatot, és a jogkivonat-engedélyeket egy adattárhoz vagy szervezethez kötik. Amikor a felhasználók a GitHubot a Git parancssori eszközével használják, megadhatja a jogkivonat adatait, amikor a felhasználónevüket és a jelszavukat kérik.

SSH keys

A személyes hozzáférési jogkivonatok használatának alternatívájaként a felhasználók SSH-kulcsok segítségével csatlakozhatnak és hitelesíthetnek távoli kiszolgálókhoz és szolgáltatásokhoz. Az SSH-kulcsok nem igénylik, hogy a felhasználók minden interakcióhoz megadhassák a felhasználónevet és a személyes hozzáférési jogkivonatot.

Az SSH beállításakor a felhasználók létrehoznak egy SSH-kulcsot, hozzáadják az ssh-ügynökhöz, majd hozzáadják a kulcsot a GitHub-fiókjukhoz. Az SSH-kulcs ssh-ügynökhöz való hozzáadása biztosítja, hogy az SSH-kulcs további biztonsági rétegként rendelkezik jelszóval. A felhasználók úgy konfigurálhatják a git helyi példányát, hogy automatikusan megadják a jelszót, vagy minden alkalommal, amikor a Git parancssori eszközével kommunikálnak a GitHubbal, manuálisan is elláthatják azt.

Az SSH-kulcsokat egy olyan szervezet tulajdonában lévő adattárral is használhatja, amely SAML egyszeri bejelentkezést használ. Ha a szervezet SSH-tanúsítványokat biztosít, a felhasználók anélkül is hozzáférhetnek a szervezet adattáraihoz, hogy hozzáadják a tanúsítványt a GitHub-fiókjukhoz.

Kulcsok üzembe helyezése

A kulcsok üzembe helyezése egy másik típusú SSH-kulcs a GitHubon, amely hozzáférést biztosít a felhasználónak egyetlen adattárhoz. A GitHub személyes felhasználói fiók helyett közvetlenül az adattárhoz csatolja a kulcs nyilvános részét, és a kulcs privát része a felhasználó kiszolgálón marad. A kulcsok üzembe helyezése alapértelmezés szerint írásvédett, de írási hozzáférést adhat nekik, amikor hozzáadja őket egy adattárhoz.

A GitHub hozzáadott biztonsági beállításai

A GitHub az alábbi további biztonsági lehetőségeket is kínálja.

Kétfaktoros hitelesítés

Screenshot of the two-factor authentication screen.

A kéttényezős hitelesítés (2FA), más néven többtényezős hitelesítés (MFA) egy további biztonsági réteg, amelyet webhelyekre vagy alkalmazásokba való bejelentkezéskor használnak. A 2FA használatával a felhasználóknak be kell jelentkezniük a felhasználónevükkel és jelszavukkal, és egy másik hitelesítési módot kell megadniuk, amelyhez csak ők férhetnek hozzá.

A GitHub esetében a hitelesítés második formája egy alkalmazás által a felhasználó mobileszközén létrehozott vagy sms-ben küldött kód. Miután egy felhasználó engedélyezte a 2FA-t, a GitHub létrehoz egy hitelesítési kódot, amikor valaki megpróbál bejelentkezni a GitHub-fiókjába. A felhasználók csak akkor jelentkezhetnek be a fiókjukba, ha ismerik a jelszavukat, és hozzáféréssel rendelkeznek a hitelesítési kódhoz a telefonjukon.

A szervezettulajdonosok megkövetelhetik, hogy a szervezet tagjai, a külső közreműködők és a számlázáskezelők engedélyezzék a kéttényezős hitelesítést a személyes fiókjaikban, ezzel megnehezítve a szervezeti adattárak és beállítások elérését a rosszindulatú beavatkozók számára.

A vállalati tulajdonosok bizonyos biztonsági szabályzatokat is kikényszeríthetik a vállalati fiók tulajdonában lévő összes szervezetre.

SAML SSO

Ha központilag kezeli a felhasználók identitásait és alkalmazásait egy identitásszolgáltatóval (IDP), konfigurálhatja a Security Assertion Markup Language (SAML) egyszeri bejelentkezést (SSO) a szervezet erőforrásainak védelme érdekében a GitHubon.

Az ilyen típusú hitelesítés lehetővé teszi a GitHubon a szervezeti és vállalati tulajdonosok számára a szervezeti erőforrásokhoz, például adattárakhoz, problémákhoz és lekéréses kérelmekhez való hozzáférés szabályozását és biztonságossá tételét. A szervezettulajdonosok meghívhatnak GitHub-felhasználókat az SAML SSO-t használó szervezetbe, így ezek a felhasználók úgy működhetnek közre a szervezetnél, hogy megtartják meglévő GitHub-identitásukat és -közreműködéseiket.

Amikor a felhasználók hozzáférnek az SAML SSO-t használó szervezet erőforrásaihoz, a GitHub átirányítja őket a szervezet SAML-azonosítójához hitelesítés céljából. Miután sikeresen hitelesítést végeztek a fiókjukkal az identitásszolgáltatónál, az identitásszolgáltató átirányítja a GitHubra a szervezet erőforrásainak eléréséhez.

A GitHub korlátozott támogatást nyújt minden olyan identitásszolgáltatóhoz, amely az SAML 2.0 szabványt implementálja, és hivatalosan támogat számos népszerű identitásszolgáltatót, köztük az alábbiakat:

  • Active Directory Federation Services (AD FS)
  • Microsoft Entra ID
  • Okta
  • OneLogin
  • PingOne

...és sokan mások.

LDAP

Az egyszerűsített címtárelérési protokoll (LDAP) egy népszerű alkalmazásprotokoll a címtárinformációs szolgáltatások eléréséhez és karbantartásához. Az LDAP lehetővé teszi a GitHub Enterprise Server hitelesítését a meglévő fiókokkal, és az adattár-hozzáférés központi kezelését. Ez az egyik leggyakoribb protokoll, amellyel külső szoftvereket integrálhat a nagyvállalati felhasználói címtárakkal.

A GitHub Enterprise Server olyan elterjedt LDAP-szolgáltatásokkal integrálható, mint:

  • Active Directory
  • Oracle Directory Server Enterprise Edition
  • OpenLDAP
  • Open Directory

...és sokan mások.