SlideShare uma empresa Scribd logo
1 de 19
Practical authentication and
authorization for external facing service
mesh applications
Siim Kaspar Uustalu
Backend team lead
The plan
● Set the scene
● Introduce authentication
● Add authorization on top
whoami
● I’m a software engineer
○ Delivered work for TUNE, the Estonian Road Admin. & others
○ Currently in digital banking
● Mooncascade helps you develop products
○ Trusted by banks, telcos & startups
○ Helps you bridge the hiring gap
○ Does development work across the stack
The scene: application
● Put on your architect hat
○ We’re building math as a service!
○ Service oriented architecture
■ HTTP expression parser + gRPC operation services
○ Containerised w/ k8s for orchestration
● Outsourced operations services
Application architecture
The scene: our mission
● Offer MaaS API
○ Identify users
○ Support authorization levels
● Support application growth
○ Avoid introducing code dependencies
○ Plan for team growth - autonomy matters
Authentication
● The usual scenarios
○ Machine users
○ Backend services as user agents
○ Client side applications
● Solved problem with the OAuth 2.0 framework
Authentication: implementation
● Make use of service mesh facilities
○ Istio: JWT based auth out of the box
■ Signature validation
■ Drawback: not good for user facing applications
● Extend minimally
○ Replace out of box ingress with API gateway
○ Provide OAuth2 service + identity provider
○ Plug an authentication service into the API gateway
Authentication: the API gateway
● Authenticates requests
○ In combination with the authentication service
● Provides routing
● Terminates incoming TLS
○ Mutual TLS in the mesh
● Traefik, Ambassador & friends
Authentication: OAuth2 service
● Does the boring, but important parts
○ Client application management
○ Key management (maybe)
○ The actual protocol
● Integrates with an identity provider
○ That’s you!
● Should be off the shelf
Authentication: auth service
● Verifies issued OAuth token
○ Bridge between API gateway & OAuth2 service
● Issues short-lived internal JWTs
○ These carry requester identity, delegated down request chain
● Provides keys for the service mesh
○ Mesh verifies the signature using the public key
Architecture with authentication
Authorization
● Which actions are permitted given a set of facts?
● Retrofitting affects all services
● Separate domain with own rules in all services
● NB!: Distributed teams
● Idea: Separate the authorization policies from services
Authorization: implementation
● Istio enables policy definition out of the box
○ Based on JWT payload
○ Good enough for basic request control
● Adapters enable more fine-grained control
○ Response, better visibility over rule set
○ Lets roll with the Open Policy Agent adapter
Authorization: Open Policy Agent
● DSL for policy definition - Rego
○ Declarative policy definitions + capable standard library
○ Still testable
● Separate authorization domain per service
● Contract over library approach
○ Right tool for each job
Authentication policy example
Architecture with authorization
Conclusion
● Extended an external facing service to...
○ Support the OAuth2 protocol
○ Support request authentication
○ Provide authorization from a sidecar service
● Made use of Istio facilities where possible
The service mesh pattern enables
cleaner separation between features and
the “glue”
siimkaspar.uustalu@mooncascade.com
mooncascade/service-mesh-auth-demo
Coming soon!

Mais conteúdo relacionado

Mais procurados

Blockchain – The future of Internet by Moinur Rahman
Blockchain – The future of Internet by Moinur RahmanBlockchain – The future of Internet by Moinur Rahman
Blockchain – The future of Internet by Moinur RahmanMyNOG
 
Introduction to blockchains
Introduction to blockchainsIntroduction to blockchains
Introduction to blockchainsAdri Jovin
 
Implementing the business logic as a decentralized Smart Contracts
Implementing the business logic as a decentralized Smart ContractsImplementing the business logic as a decentralized Smart Contracts
Implementing the business logic as a decentralized Smart ContractsDigital Currency Summit
 
Blockchain consulting services
Blockchain consulting servicesBlockchain consulting services
Blockchain consulting servicesVishvendra Saini
 
How bitcoin and blockchains really work
How bitcoin and blockchains really workHow bitcoin and blockchains really work
How bitcoin and blockchains really workDaniel Lilliehöök
 
Sincronización en aplicaciones offline
Sincronización en aplicaciones offlineSincronización en aplicaciones offline
Sincronización en aplicaciones offlineGeneXus
 
Ledingkart Meetup #3: Security Basics for Developers
Ledingkart Meetup #3: Security Basics for DevelopersLedingkart Meetup #3: Security Basics for Developers
Ledingkart Meetup #3: Security Basics for DevelopersMukesh Singh
 
Waves Platform - A Complete Overview
Waves Platform - A Complete OverviewWaves Platform - A Complete Overview
Waves Platform - A Complete OverviewBlockstreet™
 

Mais procurados (9)

Blockchain – The future of Internet by Moinur Rahman
Blockchain – The future of Internet by Moinur RahmanBlockchain – The future of Internet by Moinur Rahman
Blockchain – The future of Internet by Moinur Rahman
 
Introduction to blockchains
Introduction to blockchainsIntroduction to blockchains
Introduction to blockchains
 
Implementing the business logic as a decentralized Smart Contracts
Implementing the business logic as a decentralized Smart ContractsImplementing the business logic as a decentralized Smart Contracts
Implementing the business logic as a decentralized Smart Contracts
 
Blockchain consulting services
Blockchain consulting servicesBlockchain consulting services
Blockchain consulting services
 
How bitcoin and blockchains really work
How bitcoin and blockchains really workHow bitcoin and blockchains really work
How bitcoin and blockchains really work
 
Sincronización en aplicaciones offline
Sincronización en aplicaciones offlineSincronización en aplicaciones offline
Sincronización en aplicaciones offline
 
Ledingkart Meetup #3: Security Basics for Developers
Ledingkart Meetup #3: Security Basics for DevelopersLedingkart Meetup #3: Security Basics for Developers
Ledingkart Meetup #3: Security Basics for Developers
 
Waves Platform - A Complete Overview
Waves Platform - A Complete OverviewWaves Platform - A Complete Overview
Waves Platform - A Complete Overview
 
Blockchain
BlockchainBlockchain
Blockchain
 

Semelhante a Modern problems in backend engineering, Siim Kaspar Uustalu

An Open-Source Platform to Connect, Manage, and Secure Microservices
An Open-Source Platform to Connect, Manage, and Secure MicroservicesAn Open-Source Platform to Connect, Manage, and Secure Microservices
An Open-Source Platform to Connect, Manage, and Secure MicroservicesDoiT International
 
From monolith to microservices
From monolith to microservicesFrom monolith to microservices
From monolith to microservicesTransferWiseSG
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)smancke
 
Blueprint for omnichannel integration architecture
Blueprint for omnichannel integration architectureBlueprint for omnichannel integration architecture
Blueprint for omnichannel integration architectureEric D. Schabell
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionMukesh Singh
 
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Mender.io
 
[WSO2Con EU 2018] A New Service Architecture for Effective Business Services
[WSO2Con EU 2018] A New Service Architecture for Effective Business Services[WSO2Con EU 2018] A New Service Architecture for Effective Business Services
[WSO2Con EU 2018] A New Service Architecture for Effective Business ServicesWSO2
 
Wso2 Con Eu 2018 Presentation Agos Profesia
Wso2 Con Eu 2018 Presentation Agos ProfesiaWso2 Con Eu 2018 Presentation Agos Profesia
Wso2 Con Eu 2018 Presentation Agos ProfesiaProfesia Srl, Lynx Group
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservicesRon Barabash
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX, Inc.
 
[WSO2Con EU 2018] Realizing Implementation of Cell-Based Architecture
[WSO2Con EU 2018] Realizing Implementation of Cell-Based Architecture[WSO2Con EU 2018] Realizing Implementation of Cell-Based Architecture
[WSO2Con EU 2018] Realizing Implementation of Cell-Based ArchitectureWSO2
 
Microservices in GO lang
Microservices in GO langMicroservices in GO lang
Microservices in GO langSHAKIL AKHTAR
 
Which Computing Infrastructure for the Decentralized World ?
Which Computing Infrastructure for the Decentralized World ?Which Computing Infrastructure for the Decentralized World ?
Which Computing Infrastructure for the Decentralized World ?Gilles Fedak
 
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...Tanya Denisyuk
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureNGINX, Inc.
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Deepu K Sasidharan
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterJulien Dubois
 
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018Cedric Vidal
 

Semelhante a Modern problems in backend engineering, Siim Kaspar Uustalu (20)

An Open-Source Platform to Connect, Manage, and Secure Microservices
An Open-Source Platform to Connect, Manage, and Secure MicroservicesAn Open-Source Platform to Connect, Manage, and Secure Microservices
An Open-Source Platform to Connect, Manage, and Secure Microservices
 
From monolith to microservices
From monolith to microservicesFrom monolith to microservices
From monolith to microservices
 
micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)micro services architecture (FrosCon2014)
micro services architecture (FrosCon2014)
 
Blueprint for omnichannel integration architecture
Blueprint for omnichannel integration architectureBlueprint for omnichannel integration architecture
Blueprint for omnichannel integration architecture
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
 
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
 
[WSO2Con EU 2018] A New Service Architecture for Effective Business Services
[WSO2Con EU 2018] A New Service Architecture for Effective Business Services[WSO2Con EU 2018] A New Service Architecture for Effective Business Services
[WSO2Con EU 2018] A New Service Architecture for Effective Business Services
 
Wso2 Con Eu 2018 Presentation Agos Profesia
Wso2 Con Eu 2018 Presentation Agos ProfesiaWso2 Con Eu 2018 Presentation Agos Profesia
Wso2 Con Eu 2018 Presentation Agos Profesia
 
Yotpo microservices
Yotpo microservicesYotpo microservices
Yotpo microservices
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEANGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
NGINX Microservices Reference Architecture: What’s in Store for 2019 – EMEA
 
[WSO2Con EU 2018] Realizing Implementation of Cell-Based Architecture
[WSO2Con EU 2018] Realizing Implementation of Cell-Based Architecture[WSO2Con EU 2018] Realizing Implementation of Cell-Based Architecture
[WSO2Con EU 2018] Realizing Implementation of Cell-Based Architecture
 
Microservices in GO lang
Microservices in GO langMicroservices in GO lang
Microservices in GO lang
 
Which Computing Infrastructure for the Decentralized World ?
Which Computing Infrastructure for the Decentralized World ?Which Computing Infrastructure for the Decentralized World ?
Which Computing Infrastructure for the Decentralized World ?
 
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
Kubernetes and Gitops at Quicksign - Koncrete Kube Oct 2018
 

Mais de MobileMonday Estonia

Modern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten MeikopModern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten MeikopMobileMonday Estonia
 
Modern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko TiidumaaModern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko TiidumaaMobileMonday Estonia
 
Modern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstModern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstMobileMonday Estonia
 
Modern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaModern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaMobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipScientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipMobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...MobileMonday Estonia
 
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...MobileMonday Estonia
 
Space Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICSpace Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICMobileMonday Estonia
 
Space Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeSpace Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeMobileMonday Estonia
 
Space Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaSpace Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaMobileMonday Estonia
 
Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan MobileMonday Estonia
 
Product Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveProduct Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveMobileMonday Estonia
 
Product Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoProduct Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoMobileMonday Estonia
 
What Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaWhat Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaMobileMonday Estonia
 
What Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluWhat Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluMobileMonday Estonia
 
Meeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMeeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMobileMonday Estonia
 
Meeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin KaskMeeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin KaskMobileMonday Estonia
 

Mais de MobileMonday Estonia (20)

Modern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten MeikopModern problems in backend engineering, Marten Meikop
Modern problems in backend engineering, Marten Meikop
 
Modern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko TiidumaaModern problems in backend engineering, Asko Tiidumaa
Modern problems in backend engineering, Asko Tiidumaa
 
Modern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav KunstModern problems in backend engineering, Joel Mislav Kunst
Modern problems in backend engineering, Joel Mislav Kunst
 
Modern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri TarkpeaModern problems in backend engineering, Jüri Tarkpea
Modern problems in backend engineering, Jüri Tarkpea
 
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
Scientists meet Entrepreneurs - AI & Machine Learning, Mark Fishel, Institute...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, StarshipScientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
Scientists meet Entrepreneurs - AI & Machine Learning, Kristjan Korjus, Starship
 
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
Scientists meet Entrepreneurs - AI & Machine Learning, Peeter Piksarv, Moonca...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
Scientists meet Entrepreneurs - AI & Machine Learning, Tambet Matiisen, Unive...
 
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
Scientists meet Entrepreneurs - AI & Machine Learning, Dima Fishman, Universi...
 
Space Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BICSpace Edition, Sven Lilla, ESA BIC
Space Edition, Sven Lilla, ESA BIC
 
Space Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST CubeSpace Edition, Kadri Bussov, EST Cube
Space Edition, Kadri Bussov, EST Cube
 
Space Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZettaSpace Edition, Kalev Koppel, KappaZetta
Space Edition, Kalev Koppel, KappaZetta
 
Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan Space Edition, Dr. Ali Nadir Arslan
Space Edition, Dr. Ali Nadir Arslan
 
Product Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, PipedriveProduct Marketing, Kair Käsper, Pipedrive
Product Marketing, Kair Käsper, Pipedrive
 
Product Marketing, Marelle Ellen
Product Marketing, Marelle EllenProduct Marketing, Marelle Ellen
Product Marketing, Marelle Ellen
 
Product Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, FortumoProduct Marketing, Mattias Liivak, Fortumo
Product Marketing, Mattias Liivak, Fortumo
 
What Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura NoodaperaWhat Does it take to Develop Kickass Products?, Laura Noodapera
What Does it take to Develop Kickass Products?, Laura Noodapera
 
What Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt MaasaluWhat Does it take to Develop Kickass Products?, Britt Maasalu
What Does it take to Develop Kickass Products?, Britt Maasalu
 
Meeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu SirgeMeeting Female Entrepreneurs in Tech, Triinu Sirge
Meeting Female Entrepreneurs in Tech, Triinu Sirge
 
Meeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin KaskMeeting Female Entrepreneurs in Tech, Triin Kask
Meeting Female Entrepreneurs in Tech, Triin Kask
 

Último

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 

Último (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 

Modern problems in backend engineering, Siim Kaspar Uustalu

  • 1. Practical authentication and authorization for external facing service mesh applications Siim Kaspar Uustalu Backend team lead
  • 2. The plan ● Set the scene ● Introduce authentication ● Add authorization on top
  • 3. whoami ● I’m a software engineer ○ Delivered work for TUNE, the Estonian Road Admin. & others ○ Currently in digital banking ● Mooncascade helps you develop products ○ Trusted by banks, telcos & startups ○ Helps you bridge the hiring gap ○ Does development work across the stack
  • 4. The scene: application ● Put on your architect hat ○ We’re building math as a service! ○ Service oriented architecture ■ HTTP expression parser + gRPC operation services ○ Containerised w/ k8s for orchestration ● Outsourced operations services
  • 6. The scene: our mission ● Offer MaaS API ○ Identify users ○ Support authorization levels ● Support application growth ○ Avoid introducing code dependencies ○ Plan for team growth - autonomy matters
  • 7. Authentication ● The usual scenarios ○ Machine users ○ Backend services as user agents ○ Client side applications ● Solved problem with the OAuth 2.0 framework
  • 8. Authentication: implementation ● Make use of service mesh facilities ○ Istio: JWT based auth out of the box ■ Signature validation ■ Drawback: not good for user facing applications ● Extend minimally ○ Replace out of box ingress with API gateway ○ Provide OAuth2 service + identity provider ○ Plug an authentication service into the API gateway
  • 9. Authentication: the API gateway ● Authenticates requests ○ In combination with the authentication service ● Provides routing ● Terminates incoming TLS ○ Mutual TLS in the mesh ● Traefik, Ambassador & friends
  • 10. Authentication: OAuth2 service ● Does the boring, but important parts ○ Client application management ○ Key management (maybe) ○ The actual protocol ● Integrates with an identity provider ○ That’s you! ● Should be off the shelf
  • 11. Authentication: auth service ● Verifies issued OAuth token ○ Bridge between API gateway & OAuth2 service ● Issues short-lived internal JWTs ○ These carry requester identity, delegated down request chain ● Provides keys for the service mesh ○ Mesh verifies the signature using the public key
  • 13. Authorization ● Which actions are permitted given a set of facts? ● Retrofitting affects all services ● Separate domain with own rules in all services ● NB!: Distributed teams ● Idea: Separate the authorization policies from services
  • 14. Authorization: implementation ● Istio enables policy definition out of the box ○ Based on JWT payload ○ Good enough for basic request control ● Adapters enable more fine-grained control ○ Response, better visibility over rule set ○ Lets roll with the Open Policy Agent adapter
  • 15. Authorization: Open Policy Agent ● DSL for policy definition - Rego ○ Declarative policy definitions + capable standard library ○ Still testable ● Separate authorization domain per service ● Contract over library approach ○ Right tool for each job
  • 18. Conclusion ● Extended an external facing service to... ○ Support the OAuth2 protocol ○ Support request authentication ○ Provide authorization from a sidecar service ● Made use of Istio facilities where possible
  • 19. The service mesh pattern enables cleaner separation between features and the “glue” siimkaspar.uustalu@mooncascade.com mooncascade/service-mesh-auth-demo Coming soon!