Při procházení náborových inzerátů na pozici IT analytik jsem nedávno narazil na následující na požadavek, že by měl analytik znát "principy moderních komunikačních a integračních protokolů při autentizaci, autorizaci a integraci systémů". Pojďme se podívat, co se za tím zřejmě skrývá.
Začneme úplně od začátku. Základními pojmy.
- Komunikační protokol je způsob, jakým spolu IT systémy komunikují. Popisuje, jaké informace se předávají a v jakém pořadí.
- Autentizace je ověření identity uživatele. Tedy toho, že daná osoba je opravdu ta, za kterou se vydává. Autentizace může být jednofaktorová nebo vícefaktorová. Jednofaktorová autentizace může být založená na základě znalosti uživatele (heslo, PIN), vlastnictví uživatele (identifikační dokument, klíč, karta) nebo na základě biometrických údajů (např. otisk prstu). Vícefaktorová autentizace kombinuje více nezávislých věcí (např. heslo + kód zaslaný pomocí SMS na mobilní telefon).
- Autorizace ověřuje práva uživatele. Jde tedy o ověření, zda daná osoba má právo provést danou akci.
A teď se pojďme podívat na "moderní komunikační a integrační protokoly". Pro integraci se nejčastěji používá REST API a HTTP protokol. Co tento protokol nabízí?
- Základní autentizace - klient odešle v hlavičce požadavku uživatelské jméno a heslo kódované pomocí Base64.
- Heslová autentizace - klient posílá uživatelské jméno a hash hesla, čím se zvyšuje bezpečnost (hash hesla je odvozený z hesla, ale z hashe nelze heslo odvodit)..
- Tokenová autentizace - klient obdrží od serveru unikátní token, který poté předá v hlavičce každého požadavku.
- Autentizace pomocí certifikátů klienta - klient musí disponovat platným certifikátem vydaným certifikační autoritou. Server ověřuje platnost certifikátu klienta.
- OAuth(2.0) - Open Authorization - autorizace pomocí třetí strany - autorizačního serveru. Uživatel je přesměrován na autorizační server, kde se přihlásí např. uživatelským jménem a heslem a povolí přístup k vybraným datům (např. k emailové adrese, jménu a příjmení).Autorizační server vydá autorizační kód. Na základě tohoto kódu lze získat přístupový token pomocí kterého lze přistupovat k vybraným datům daného uživatele.
- OpenId Connect (OIDC) - rozšíření OAuth 2.0 o autentizaci. Přidává navíc ID token, což je JSON Web Token (JWT), který obsahuje informace o uživateli a jeho ověření.
Žádné komentáře:
Okomentovat