36
Aplikacja od SaaS do IdaaS Tomek Onyszko, [email protected], @tonyszko Warszawa, 07.04..2014

4Developers: Aplikacja od SaaSa do IdaaSa

Embed Size (px)

Citation preview

Page 1: 4Developers: Aplikacja od SaaSa do IdaaSa

Aplikacja od SaaS do IdaaS

Tomek Onyszko, [email protected], @tonyszko Warszawa, 07.04..2014

Page 2: 4Developers: Aplikacja od SaaSa do IdaaSa

• mvp – enterprise security (od 2005 – usługi katalogowe)

• identity architect @

• blog – http://onyszko.com

• twitter: @tonyszko

• speaker – TechEd, MTS, The Experts Conference, community

Tomek Onyszko

Page 3: 4Developers: Aplikacja od SaaSa do IdaaSa
Page 4: 4Developers: Aplikacja od SaaSa do IdaaSa
Page 5: 4Developers: Aplikacja od SaaSa do IdaaSa
Page 6: 4Developers: Aplikacja od SaaSa do IdaaSa

tożsamość i kontekst

AtrybutyImię: TomaszNazwisko: OnyszkoStanowisko: ArchitektFirma: Predica

Architekt

Prelegent

Prywatnie - ojciec

Page 7: 4Developers: Aplikacja od SaaSa do IdaaSa

aplikacje i tożsamość

Windows Azure Active Directory

Ustalić kontekst Autoryzacja

Uwierzytelnienie

Page 8: 4Developers: Aplikacja od SaaSa do IdaaSa

• wymaga od aplikacji utrzymywania informacji o tożsamości• zarządzanie poświadczeniami• ryzyko wycieku danych i

konieczność nim zarządzania

problemy obecnego podejścia

Page 9: 4Developers: Aplikacja od SaaSa do IdaaSa

• nie kontrolujemy infrastruktury – IaaS• nie kontrolujemy aplikacji – SaaS• nie kontrolujemy urządzeń – BYOD• urządzenie … to wszystko dookoła – IoT

(IoEE)

świat 20xx … raczej szybko

Page 10: 4Developers: Aplikacja od SaaSa do IdaaSa

• API bedą (są?) głównym sposobem wymiany danych• ilość otwartych API gwałtownie rośnie• przewidywane 250k API w 2016• API potrzebują tożamości

API stupid … API economy

Page 11: 4Developers: Aplikacja od SaaSa do IdaaSa
Page 12: 4Developers: Aplikacja od SaaSa do IdaaSa

Identity is a new king!

Web \ Mobile

Enteprise APIs

Page 13: 4Developers: Aplikacja od SaaSa do IdaaSa
Page 14: 4Developers: Aplikacja od SaaSa do IdaaSa

• Identity Provider (IdP) – usługa uwierzytelenienia użytkowników• Informacja o tożamości• STS – Security Token Service

• Relaying party (RP) – aplikacja korzystająca z IdP• Deleguje uwierzytelnienie do IdP

• Zaufanie

• Informacja

A gdyby spróbować inaczej

Page 15: 4Developers: Aplikacja od SaaSa do IdaaSa

podejście pierwsze - enterprise

• SAML = Security Assertation Markup Language• oparty na SOAP /XML• Standaryzowany przez OASIS

• wspierany przez rozwiązania SSO i aplikacje enterprise (ale nie tylko)

• główne zastosowanie• Web SSO• Act-AS – dostęp do web services

Page 16: 4Developers: Aplikacja od SaaSa do IdaaSa

SAML – jak działa

Windows Azure Active Directory

Windows Azure Active Directory

Identity Provider Relaying party

Użytkownik

Page 17: 4Developers: Aplikacja od SaaSa do IdaaSa

• relacja 1:1 pomiędzy IdP a RP• Skalowanie w sieci przy rosnącej ilości API \

aplikacji• zarządzanie relacjami

• skomplikowany dla developerów• protokoły• specyfikacja formatu tokenów• wiele profile• Act-As - delegacja

problemy z SAML

Page 18: 4Developers: Aplikacja od SaaSa do IdaaSa

SAML is not dead

Page 19: 4Developers: Aplikacja od SaaSa do IdaaSa

new kids on the block

Page 20: 4Developers: Aplikacja od SaaSa do IdaaSa
Page 21: 4Developers: Aplikacja od SaaSa do IdaaSa

• Protokół protokołów (framework)• Definiuje przepływ informacji • Pozostawia swobodę implementacji

• Adresuje• Delegację dostępu• Brak wymiany hasła• Odwołanie dostępu

• Nie jest to protokół uwierzytelnienia

OAuth 2.0

Page 22: 4Developers: Aplikacja od SaaSa do IdaaSa

OAuth 2.0 – jak działa

Windows Azure Active Directory

Windows Azure Active Directory

Authorization Server (IdP)

Resource Owner

Resources Server (API)

Windows Azure Active Directory

Klient (web site)

{by ref}

API:• wie kim jest owner• kim jest klient• kim jest IdP

{scopes}

Page 23: 4Developers: Aplikacja od SaaSa do IdaaSa

OAuth 2.0 – problemy

• OAuth nie jest protokołem uwierzytelnienia• dostęp do zasobu i delegacja• nie przekazuje informacji o uwierzytelnieniu i

tożsamości

• nie dostarcza informacji o tożsamości• wymiana tokenów dostępu • delegacja dostępu do API (zasobu)

Page 24: 4Developers: Aplikacja od SaaSa do IdaaSa
Page 25: 4Developers: Aplikacja od SaaSa do IdaaSa

• zbudowany na OAuth 2.0 (protocol of protocols)• protokół federacji

• Dodaje informację o tożsamości do wymiany wiadomości OAuth 2.0

• oparty o format JWT (JSON Web Token)• wprowadza userinfo endpoint

• pobranie informacji o tożsamości• pobranie kolejnych tokenów

• OpenID != OpenID Connect

OpenID Connect

Page 26: 4Developers: Aplikacja od SaaSa do IdaaSa

OpenID Connect – jak działa

Windows Azure Active Directory

Windows Azure Active Directory

Authorization Server (IdP) Relaying party \ client

Użytkownik (przeglądarka)

{scopes}{openid}

Page 27: 4Developers: Aplikacja od SaaSa do IdaaSa

• access token -> przeznaczony dla API• ID token -> przeznaczony dla klienta

• dla kogo wydany -> klient• informacje o tożsamości• metoda uwierzytelnienia• kto go wydał• data wygaśnięcia

ID token

Page 28: 4Developers: Aplikacja od SaaSa do IdaaSa

• Definiuje przepływ ale nie metodę uwierzytelnienia• Pozwala na zastosowanie silnego

uwierzytelnienia \ MFA

OpenID Connect: uwierzytelnienie

Page 29: 4Developers: Aplikacja od SaaSa do IdaaSa

• Web finger – usługa discovery dla RP• E-mail jako identyfikator ->

[email protected]

web finger

Page 30: 4Developers: Aplikacja od SaaSa do IdaaSa

• OpenID Connect zawiera specyfikację discovery dla usług

discovery

Page 31: 4Developers: Aplikacja od SaaSa do IdaaSa

• Rejestracja klienta -> client_id• Automatyczna rejestracja z dostawcą OpenID

Connect

automatyczna rejestracja

Page 32: 4Developers: Aplikacja od SaaSa do IdaaSa

DIFFERENT

Page 33: 4Developers: Aplikacja od SaaSa do IdaaSa

• IdP• Uniezależnia nas od źródła i implementacji metody

uwierzytelnienia• Autoryzacja oparta o informacji o tożsamości

• SAML• Informacja o tożsamości \ delegacja

• OAuth 2.0• Framework dla innych protokołów• Delegacja dostępu -> API Economy

• OpenID Connect• “SAML na sterydach” na miarę czasów i wymagań

Model oparty o IdP \ AuthZ Server

Page 34: 4Developers: Aplikacja od SaaSa do IdaaSa

get on-board

Page 35: 4Developers: Aplikacja od SaaSa do IdaaSa

get on-board

Page 36: 4Developers: Aplikacja od SaaSa do IdaaSa

36

Dziękuję! -> wypełnijcie ankiety ;)twitter: @tonyszko