Тёмный

How Netflix Is Solving Authorization Across Their Cloud [I] - Manish Mehta & Torin Sandall, Netflix 

CNCF [Cloud Native Computing Foundation]
Подписаться 117 тыс.
Просмотров 86 тыс.
50% 1

How Netflix Is Solving Authorization Across Their Cloud [I] - Manish Mehta & Torin Sandall, Netflix
Since 2008, Netflix has been on the cutting edge of cloud-based microservices deployments. In 2017, Netflix is recognized as one of the industry leaders at building and operating “cloud native” systems at scale. Like many organizations, Netflix has unique security requirements for many of their workloads. This variety requires a holistic approach to authorization to address “who can do what” across a range of resources, enforcement points, and execution environments.
In this talk, Manish Mehta (Senior Security Software Engineer at Netflix) and Torin Sandall (Technical Lead of the Open Policy Agent project) will present how Netflix is solving authorization across the stack in cloud native environments. The presentation shows how Netflix enforces authorization decisions at scale across various kinds of resources (e.g., HTTP APIs, gRPC methods, SSH), enforcement points (e.g., microservices, proxies, host-level daemons), and execution environments (e.g., VMs, containers) without introducing unreasonable latency. The presentation includes a deep dive into the architecture of the cloud native authorization system at Netflix as well as how authorization decisions can be offloaded to an open source, general-purpose policy engine (Open Policy Agent).
This talk is targeted at engineers building and operating cloud native systems who are interested in security and authorization. The audience can expect to take away fresh ideas about how to enforce fine-grained authorization policies across stackthe cloud environment.
About Manish Mehta
Manish Mehta is Senior Security Software Engineer at Netflix, Los Gatos, CA. He has designed and developed solutions around secure bootstrapping, authentication (service and user), and authorization for cloud-native infrastructure. His professional interests and expertise are cyber security in general, and specifically in security solutions anchored in cryptography. He holds M.S. and Ph.D. in Computer Science from Univ. of Missouri - Kansas City and has authored several research and conference publications.
About Torin Sandall
Torin Sandall is the technical lead of the recent open source Open Policy Agent (OPA) project. He has spent 10 years as a software engineer working on large-scale distributed systems projects. Prior to working on the Open Policy Agent project, Torin was a senior software engineer at Cyan Inc. (acquired by Ciena Corp.) where he designed and developed core components of their SDN/NFV platform such as modelling languages as well services for resource orchestration and topology discovery. Torin has recently given talks on policy-related topics in Kubernetes at ContainerDaysPDX and LinuxCon Beijing as well as the Kubernetes Community Meeting and the Kubernetes SF meetup.
Join us for KubeCon + CloudNativeCon in Barcelona May 20 - 23, Shanghai June 24 - 26, and San Diego November 18 - 21! Learn more at kubecon.io. The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy and all of the other CNCF-hosted projects.

Опубликовано:

 

23 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 20   
@brainoverflow98
@brainoverflow98 3 года назад
And I'm here trying to solve the Authorization problem by myself as a undergraduate! This is a whole different story.
@jasontruter7239
@jasontruter7239 3 года назад
I've implemented microservice authorization using opa and serverless in AWS. Custom authrorizer is the location where I decode a JWT token and verify authorization.
@sahilroyal8939
@sahilroyal8939 3 года назад
You are genius Jason
@FINSuojeluskunta
@FINSuojeluskunta 3 года назад
The explanation of how it ties in with data is vague. Say I have a database with all of my pets and their owners in it. Doesn't make sense to do this via http request because most authorization requires a database call if it's not something simple stored in the jwt and the only way I see this working is if we send it a list of owners in the request. However, it seems nice for microservices without network roundtrips.
@andrewstark917
@andrewstark917 3 года назад
so technically if I want to bind a few billions of users who can edit this post, I have to add them manually to OPA rule dataset to bind it? So from server we send the current user id and OPA check if passed id is among manually bound billions of ids? It will take dozens of years to fill them manually, or insane of traffic to pass on each request
@sksjdfl
@sksjdfl 3 года назад
I am question , when the authorization of each user changed in example , the role of user in group is exprised or new policy of business was changed the permissions , how you resolve the changed in OPA and updating the permissions in JWT payload or other shared memories of authorizaton server. I assume in case realtime in hight rate request of client
@danielpops
@danielpops 3 года назад
The jwt payload should ideally not carry any authorization information
@user-yh8hl9wy9b
@user-yh8hl9wy9b Год назад
We are awlays speaking about Authorization for a single resource, Get Employees/123 Update Employees/123, what about Get List Employees or search operation... how this pattern will act ? Thanks
@srikumarks
@srikumarks 3 года назад
Authorization applies to resource access as well as information access. Does OPA cover situations where role R is permitted to access resource X except for the F field that the service sends in its response? One answer would be to author the service to separate out such "sensitive" information as a resource .. but that may not always be possible, especially retrospectively. For example, a customer support app may want to retrieve a customer's information but not have permission to read bank account number. If the "customer info" service clubs all of that .. we'll want to restrict the response to a subset.
@sajidbadiuzzaman
@sajidbadiuzzaman 2 года назад
One solution is to separate services altogether, If you separate services for different roles this could solve it.
@BradleyWeston92
@BradleyWeston92 6 лет назад
Great talk! Just a few questions what stops an application posing itself as a different app name? What verifies a user is a certain user and not another user, example just a token that is validated before the requests gets to the service?
@aditya234567
@aditya234567 3 года назад
All that comes in authentication
@mukuz
@mukuz 3 года назад
Signed JWT
@ranajitjana4030
@ranajitjana4030 2 года назад
is it open sourced yet? Nice stuff
@satyachillale
@satyachillale 3 года назад
How do you scale when you have 100s of millions of users ? Can the auth agent store so much of data in memory ?
@irasychan
@irasychan 3 года назад
database sharding can be a great help on that
@sksjdfl
@sksjdfl 3 года назад
@@irasychan how cant update the authorization of regular user
@ChengZhao
@ChengZhao 5 лет назад
Is this similar to what Istio does?
@natecoffing2591
@natecoffing2591 5 лет назад
Perhaps when Istio is able to run across legacy apps and microservices
Далее
Authentication as a Microservice
50:26
Просмотров 215 тыс.
Effective RBAC - Jordan Liggitt, Red Hat
39:38
Просмотров 31 тыс.
Разбудили Любимой Песней 😂
00:14
Deep Dive: Open Policy Agent - Torin Sandall, Styra
31:21
OAuth and OpenID Connect for Microservices
18:33
Просмотров 182 тыс.
The hardest part of microservices is your data
46:05
Просмотров 177 тыс.
Mastering Chaos - A Netflix Guide to Microservices
53:14