Hogyan működik a GitHub-hitelesítés?
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
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
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.