Latest / Identity at the Center / #170 - Fine Grained Authorization with Andres Aguiar
Transcript
- 0:09You're listening to the identity of the center podcast, this is
- 0:13the show that talks about identity and access management
- 0:15and making sure you know who has access to what let's get
- 0:18started. Welcome to the identity of the
- 0:25center podcast I'm Jeff. And that's Jim.
- 0:27Hey Jim hey Jeff, how are you? Oh not so bad yourself.
- 0:31I'm doing good. I've been super busy lately but
- 0:35I look forward to this time each week where we get the just talk
- 0:38about identity and access management.
- 0:42But yeah lately I've been working on you know preparing
- 0:45for a lot of upcoming events. I'm helping out Mike angle over
- 0:50at one Cosmos with webinar. It's To be on what?
- 0:56What happened to MFA? I don't they tried to fix
- 0:59passwords. How do we fix MFA?
- 1:02And so it's like kind of one of those topics that is getting a
- 1:06lot of headlines lately, especially with some of the
- 1:09things that have happened in the news.
- 1:12So anybody who's interested in attending that webinar, it's
- 1:16going to be on September, the 22nd at 1 p.m. eastern time USC.
- 1:24I'm I should say and you can just go to one Cosmos.com to
- 1:28register for that event. And like I said, it'll be Mike
- 1:31angle CEO of one Cosmos on myself and on top of that, we've
- 1:36got the authenticate conference which is the Fido Alliance
- 1:40conference coming up in October and then the OCTA octane
- 1:44conference which will be in November.
- 1:47So, hopefully will be blessing through a bunch of additional
- 1:52podcast episodes during those conversations.
- 1:54Such as well, but I'm also hoping to be able to actually
- 1:57sit in on some of the sessions because if you check out the
- 2:00agendas of the conference's, it looks like a lot of good
- 2:03content. Yeah.
- 2:05I have not holding my breath especially because we're going
- 2:07to be at we will be authentic 8, 20, 22, and we'll be doing
- 2:12podcasting and you're a total slave driver when it comes to
- 2:15booking guests. So I end up sitting in a room
- 2:18somewhere recording and editing while you're out gallivanting
- 2:22with the identi Rowdy but I am hopeful that I will have some
- 2:26free time from my podcast Overlord here, to get to, you
- 2:32know, take in some of the sessions at least it.
- 2:34Jeff. I think this would be a good
- 2:36time to tell the story about authenticate 2021 because again,
- 2:39I pretty much tried to do the same thing to you again.
- 2:43Yeah, well I mean the story is is it's a story as old as time,
- 2:48right? Jim volunteers to give a
- 2:50presentation at a Pattaya at a conference.
- 2:53I'm like, yeah, I don't want to do it.
- 2:54I will go and support you and you know, help with the content
- 2:57and kind of stuff like that. And go cheer you on flash
- 3:01forward to the day that we're flying out.
- 3:03Jim Jim calls me sick. He's like, yeah, like you
- 3:06probably shouldn't go. This is the height of the height
- 3:08of the pandemic, right? If you're coughing, you probably
- 3:12have covid or at least, that's what ever is going to assume.
- 3:14So I was like, all right, well, I guess I'm given given the
- 3:17given the, the talk at the conference which I did and you
- 3:20totally left me high and dry and I will never let you live it
- 3:23down. And you continue to volunteer
- 3:25for for speaking engagements, and my fear is that I end up
- 3:30having to do it by myself around or something like that.
- 3:34Yeah, well hey, I was just appointed to because I had
- 3:37gotten upgraded to first class it was the day before and then I
- 3:41guess you're most concerned about was that was what was just
- 3:43worried about. Not the fact that you had to do
- 3:45the presentation by yourself and by the way I did submit a
- 3:48question for you to answer. Yeah.
- 3:51What is I? What is I am?
- 3:53That's a running joke. We always have whatever company
- 3:56we have to be working with. Yeah, so we got a bunch of
- 3:58different things going on. We've got, you got the one
- 4:01Cosmos webinar you'll be doing. I'll put a link in the show
- 4:03notes so people can you know if you if you support the podcast
- 4:06go support Jim I can't make it I'll be on a flight so I'll be
- 4:09probably listening to it either on the flight or catching it
- 4:12afterwards but you can register I'm sure they'll be a replay for
- 4:15that will be assigned a Kate's 2022 in Seattle in October so
- 4:20hopefully I will get to meet some folks there as well and
- 4:23then we'll be at the Tain conference at least that's what
- 4:25we're planning on in San Francisco in November
- 4:29potentially doing some more podcasting and talking with
- 4:32interesting folks in the identity world and sort of kind
- 4:35of covering that event and ya doing that kind of thing.
- 4:38So I think that's a great segue to lead into our guest, who is
- 4:42from OCTA. We'll get to that.
- 4:44His name is Andreas. I gr he's the product and
- 4:47Engineering leader with OCTA. Welcome to the show Andreas.
- 4:52Thank you, chef and Jean. Very happy to be here with you
- 4:54today. Hopefully, I didn't butcher your
- 4:57last name, too bad. I tried to try to try to get as
- 5:00right as I can. But you're also joining us from
- 5:03a country. We have not yet.
- 5:04Spoken least. I haven't ordered way.
- 5:06So thank you for joining us from the the southern hemisphere as
- 5:09well. One of the things that we like
- 5:11to get into when we have a guest on.
- 5:13For the first time is to really kind of learn the origin story.
- 5:16How do people get into identity kind of helped set the context
- 5:20of kind of your perspective? And And how you approach things.
- 5:23So I think that maybe to kick off this conversation before we
- 5:27get to our main topic, which is going to be around fine, grains,
- 5:29authorizations or fga. Tell us a little bit about your
- 5:33identity back story. How did you get into its into
- 5:36this field? Is it something that you chose
- 5:38or did the identity World? Choose?
- 5:40You okay. Yeah.
- 5:41So I mainly work in companies that build developer tools to
- 5:45become a pro products in the past and so that's my main
- 5:49background and they always work in.
- 5:51Those kind of companies and the and five years ago, I had the
- 5:55opportunity to join dog's ear. I knew both co-founders one
- 5:59information Tina, which is very close to your work, both from
- 6:02Argentina, but one of them was working with us and then I have
- 6:07a chance and I'll see you had that interesting blend of being
- 6:10a company that Target developers, but also working,
- 6:13but identity. So I kind of got to identity by
- 6:17the development tools are the relevant product.
- 6:21World and and I quickly got into the core of zero.
- 6:26So building the log in and MFA flows as a product manager.
- 6:30So I had to get up to speed pretty quickly.
- 6:33I've been working this domain for almost six years already.
- 6:36So yeah, that's my journey to Italy, and in the last few
- 6:41months, I moved to work on the authorization side.
- 6:44And that is what campus brings us here today and I dress, I
- 6:49have to give a shout out to My pastor, who is your colleague
- 6:54from actor and by the way, for anybody who's listening, he's is
- 6:58a great follow on LinkedIn, and he'd be more than happy.
- 7:01I think to connect with just about anybody, but he introduces
- 7:06to you and introduce this idea of something that you're working
- 7:10on, F G, A fine-grained access. Our fine-grained authorization,
- 7:16and authorization is such a big topic and identity and access
- 7:21management. Judgment.
- 7:22And it's something that people tend to get into as they are
- 7:25further along in their Journey. So what I thought we could
- 7:29basically start out with was kind of a 101, you know, talking
- 7:33about what is authorization. And then one is fine, grained,
- 7:37authorization, sounds good. So it's basically going to use
- 7:42authentication and authorization.
- 7:44So let's start by talking about both authentication.
- 7:47In general, is to tries to prove that you are.
- 7:52Specific person right in general.
- 7:54They kind of, you kind of prove that you are specific person by
- 7:57logging into a site. But basically, what you're
- 7:59proving is that the convention that you still have access to
- 8:02the same credentials that you use when you register for that
- 8:06site, right? So if I had a phone number a
- 8:08password email I still have it and I can still provide it as a
- 8:12proof that I'm the sick person who logged in the encourages to
- 8:16the site. So authentication authorization
- 8:20of the other side is More. What are the things that you can
- 8:24do once you login to that site, right?
- 8:27So the permissions the actions that I can perform can I perform
- 8:31this specific actionable specific page or resource or
- 8:34document that is more about authorization.
- 8:36The permissions you have your system.
- 8:38The, for example, that now Twitter, you some people can
- 8:43reply to specifically, right? So depending of how you treat,
- 8:46you can say, all the people who are mentioned can reply to the
- 8:49street when I login. To Twitter and we authorized or
- 8:53not to reply to a tweet depending on those authorization
- 8:56policies that Twitter specify in their application with find a
- 9:03notarization. It's in general, when you or the
- 9:07initial ways, we implemented authorization in the industry.
- 9:11Where course training, mainly role-based Access Control, when
- 9:17you basically decide that. Yeah, this is specific.
- 9:21We can perform these actions and the actions are very generic.
- 9:25Like, for example, post a tweet or deleted, tweet, right?
- 9:29And but it was not posses not possible with role-based access
- 9:33to specify things like a only. The people who were mentioned in
- 9:37the Tweet. Can we fight between?
- 9:39Because it's not enough to say the role you have to order to
- 9:43decide if you can perform the action or not, right?
- 9:46So depending on how groundwater the permissions that you need to
- 9:50specify in your system, you You might need to implement
- 9:52fine-grained authorization model or a coarse grater.
- 9:55Authorization model like role-based Access Control.
- 9:59Yeah, now that's a great introduction.
- 10:02One of the things that I find is that, you know, sometimes people
- 10:06get tripped up on, you know, how to use a term.
- 10:10So, the term rolls gets used by so differently by so many
- 10:15different folks, and so many different contacts.
- 10:17Sometimes this product specific sometimes is You know, the
- 10:22generic term of roles. So you know, using that one term
- 10:26differently. But then there are other
- 10:27situations where you have two different terms but they get
- 10:32confused or used in place of one another.
- 10:36And for me that's the term authorization and entitlements
- 10:42and I'm wondering if you kind of help us differentiate between
- 10:44those two terms. Actually this interesting
- 10:48because you mentioned this question in our previous
- 10:52conversations and I say it's hard to explain, right?
- 10:56So I was trying to try to think a little about how to explain it
- 10:59and the because at the end of the day it's they are very
- 11:02related. So entitlements are the things
- 11:06that the traits of the properties that the user has and
- 11:11based on that, you defined, if the user is authorized to the
- 11:14perform an action or not, right? For example, the fact that I
- 11:17belong to a role is an entitlement.
- 11:20The fact that From a user, can perform this actually they
- 11:23belong to that role that is authorized and authorization
- 11:26code, right? And in general, entitlements can
- 11:30come from two places. One of a kind of?
- 11:32Yeah, the themes that you are allowed to roles is an
- 11:35entitlement, but can only be can also be like a, you are, you're
- 11:38using a B2B sus product, you're using like the basic tier, the
- 11:43basic tier can only use some features, okay.
- 11:47That's also an entitlement, right?
- 11:48The features that I can use as a users of the Product.
- 11:52So, there's a lot of things that can that feel like they fit the
- 11:56profile of that user, that are properties of the use of that
- 11:59can be, then used for making authorization decisions.
- 12:03Yeah, here we have a similar question that we did an episode
- 12:06on similar in style which was what's the difference between
- 12:10digital identity and identity and access management?
- 12:14And it's like you know it's actually a deeper answer and
- 12:19everybody answers it a little bit.
- 12:21Ali and for me with the entitlements, in the
- 12:23authorizations, like entitlements are the data and
- 12:30authorization is the enactment of that data and you know, I
- 12:34made up that term enactment and then what I realized was you
- 12:37know, the terms are very important and I kind of thought
- 12:41back when was thinking about authorization to the exact Kamal
- 12:46standard, right? I mean that was like that.
- 12:49Was it for authorization back. In the day and everybody thought
- 12:53like okay that's the shift that's going to take place.
- 12:57I wonder really what ever happened with exact Moses still
- 13:01important are people still you know, does it have a future?
- 13:05So that's my first question. My second question is, you know
- 13:09what I liked about exact Mo was that it defined certain roles
- 13:14within authorization. So you had your policy decision
- 13:18Point, your policy enforcement point, So, if you think about
- 13:22it, those are are very important.
- 13:24Like we're, we're in the chain, are you deciding whether or not
- 13:29an authorization should succeed? Where are you enforcing that?
- 13:33Do you want to do that from a central location or within the
- 13:36application? For example, policy
- 13:39Administration point. So all of those different roles
- 13:43have, you know, exact definitions.
- 13:46I'm wondering when it comes to like the fine-grained
- 13:50authorization or An authorization in general.
- 13:53Are those roll names even relevant anymore?
- 13:56And then, you know, I know, I'm asking a lot of questions.
- 13:59All combined into one question here, but, you know, I think we
- 14:02just need to know about this. Like the I am practitioner level
- 14:06like, what do I actually need to know?
- 14:08This isn't really like the developer podcast but like, if
- 14:11I'm somebody who's implementing, I am systems.
- 14:14What is it about these Concepts that are still relevant today.
- 14:19But the so I will Sandeep. Into identity when accessible
- 14:23happens. So I don't know what are the how
- 14:27it began to become a think I can.
- 14:30It fair based on the context. So the moment most of the
- 14:36industry was building XML based specifications for everything,
- 14:39right? And and, and certainly helps to
- 14:44Define specification for doing attribute based access control.
- 14:48That was it, something still very relevant right doing
- 14:51achieving Basics control, and there wasn't a standard way of
- 14:54doing it. So excitable specification, try
- 14:58to feel that boys, and I think that's why it's important to to
- 15:02Define standard that he had killed people amend this in a
- 15:05way that is interoperable and, and that companies can use
- 15:09consistently across different vendors in.
- 15:12I haven't seen picking it up a lot of steam.
- 15:15So there's there's a few companies that implemented that,
- 15:19but if they didn't become Real standard that is widely adopted
- 15:24by. It is a regular standard but
- 15:26it's dot divided of industry and the.
- 15:29And, and right now, for example, in 0dr, we are implementing
- 15:33motorization products that are not using such as a way to
- 15:37specify permissions and the industry they're having other
- 15:41approaches. There's a product called open
- 15:43policy, Asian that is very successful in managing
- 15:46permissions for for infrastructure things, right?
- 15:50Yes, that That defines policies in a different way and it has
- 15:53become like a de facto standard for defining.
- 15:56Authorization policy is not context and the, and it's not
- 15:59using exactly, right? So, so from that perspective, I
- 16:03think it's is that was an interesting attempt by the
- 16:06industry, but we didn't pick up enough or they have enough spare
- 16:13an option to to be significantly less relevant.
- 16:16Today, that's my personal opinion, the in the Like, the
- 16:22different enforcement different enforcement Point decision
- 16:26points that exactly Define those concepts are still relevant.
- 16:30So, there's a place where you need to enforce your physician
- 16:34policy and it can be in the application can be in an API
- 16:37Gateway, and then, whatever you decide you can be in an API
- 16:41proxy. So it'll be a different places
- 16:44where you can decide where you want to call the code.
- 16:49That is going to enforce the policy.
- 16:51Right based on to decide if the user can log in or not, right?
- 16:54So you have elected enforcement point, which is, yeah, if I'm
- 16:58building application in the chat with just with code, I will be
- 17:02at the beginning of my API implementation, right?
- 17:05That is the case. I will be checked if the
- 17:07provision in the users permission to perform the action
- 17:11about, then you have the decision point, which will be
- 17:14okay if I'm using an external eyes for Lizzie.
- 17:16And Jane, I will call at that moment, a different service that
- 17:20is going to tell me. That is the use of company from
- 17:22the actual amount that will be the only decision point for him
- 17:26and that if I'm building an application with without an
- 17:29externalized addition policy Engine with vision point is
- 17:34going to be also in cold right? I wanted right myself like after
- 17:39in the same routine that I'm checking the user can perform an
- 17:41action, I'm going to ask you to use a positive role, right?
- 17:44And that will be the decision party will be in code so it can
- 17:47be different places depending on how you want to architect your
- 17:51And other Concepts, they are our Administration.
- 17:54There, only thing ministration point.
- 17:55If you are using a product that policies are not in cold, you
- 17:59need a way to manage those. Right?
- 18:02That's still the case, right? If you using any service to
- 18:07manage to manage your voltage protection policies, you need a
- 18:10way to meet and to manage them right before we see a nutrition
- 18:13point, and then you have the policy information point, you
- 18:17need data to make those decisions, all right?
- 18:19Who's going to get that data? Okay, that's to all of those
- 18:23Concepts still exist in a simple app.
- 18:26They can be all in the code, right?
- 18:28But in more sophisticated architecture where you want to
- 18:31decouple those things. Yes, those are going to be in
- 18:33the in different services that can manage sometimes all of them
- 18:38together, sometimes one for each of these points, right?
- 18:42You may have a tool to - fall into the nailer to do to handle
- 18:46the data and another to handle the decision and, and the so
- 18:49yeah. DB still relevant and useful.
- 18:53To reason about how authorization is implemented on
- 18:56a protected in the system. Yeah.
- 18:58So when you're putting together that architecture diagram of how
- 19:02you're doing authorization those terms and kind of identifying,
- 19:07those points are so important. Yeah, have a kind of a long
- 19:12history in the access management side if I and kind of thinking
- 19:17about how a lot of access management systems Worked, you
- 19:21know, pre-op. Today's right.
- 19:23So, it was that were coals and site minders.
- 19:26And the most commonly used integration pattern was you
- 19:32would install an agent. A filter on your web server,
- 19:37your Java server or your is server for example and it would
- 19:44filter requests every HTTP request and those systems became
- 19:49good at Kind of coarse-grained authentication which was that
- 19:53the level of you know, this subdirectory or you know,
- 19:57basically using your L filtering like you either have access to
- 20:02it or you don't which kind of led me to my next question,
- 20:07right? Because that's not the way
- 20:08applications are built today at, all right, through there,
- 20:12primarily using open ID, connect or summer, using sam'l, but it's
- 20:18still ultimately. Order to get to that that level
- 20:22of fine-grained authentication or authorization.
- 20:26I should say, is generally, passing data to the application.
- 20:31And the enforcement point is that the application Level, I'm
- 20:35wondering with fine-grained authorization, you know, is it
- 20:39dependent on any of the specific authentication Technologies or,
- 20:48you know, like sam'l or Nid connect like is f, g, a
- 20:53required, requiring one or one of those standards to ride on
- 21:00top of and then ultimately is the data that's coming from fga
- 21:06taking over any of the like decision point or enforcement
- 21:10point, or is it still coming back to the application to
- 21:13enforce? Okay, this person has access to
- 21:16this button, I'm going to show them the button.
- 21:20Cetera. Okay, so when we talk about ABC,
- 21:24a there are kind of two main ways of implementing a ga one is
- 21:30called a buck attribute based access control.
- 21:33And the other one is called agree.
- 21:34Back relationship based at this control and in both cases, what
- 21:39you end up relying to is on an identifier that you get from
- 21:46whatever way you ended up knowing the into the application
- 21:48if you are using On ivp. Who do I?
- 21:51DC, you're going to get subject from the ID token or the access
- 21:55token, and you want to use that as the user ID, right?
- 21:58And then you're going to, for example, if you use a back, a
- 22:02bike is activates as a control and you're going to probably
- 22:05required data from your database to decide if the user can
- 22:09perform an action. So let's say you want to
- 22:12approve. You have an endpoint that you
- 22:14want to approve if a user can verify for you.
- 22:19So kind of An expense report, right?
- 22:21So the usage standpoint is approved to support.
- 22:24You need to check that the user has permission to do that.
- 22:27You will need to know if the user can directly see if expense
- 22:31report, not any extension cord to do that.
- 22:33You need data, are you need to know?
- 22:35For example, is the, the person who submitted the expense report
- 22:40is, is a direct report of the person, who is approving.
- 22:45So that could be a huge skate, right?
- 22:46So I can only approve expense reports from my direct reports.
- 22:49Need to check if the in the submitted of that expense report
- 22:53is a direct report from the user that is submitted, I've proven
- 22:57it. So the to do that, I go to the
- 23:00database, I get the data and the and then I decide if I want to
- 23:04let the user approve, the expense or not, you know, that I
- 23:08get the user ID that I got from the ID token.
- 23:10And I go to my bed, I use and find if that user ID is the
- 23:15manager of the submitter of the report.
- 23:17And if that's the case, then I let him go.
- 23:20So from that perspective is I'm you doing fighting for position
- 23:24and relying on whatever user ID was provided to me, that's fine.
- 23:29There are other ways to implementing regulation with
- 23:31like relationship based Access Control those.
- 23:34The, their active products try to do that today and mostly
- 23:38inspired the implementation by Google called Google design
- 23:42similar. So, Google's published a paper,
- 23:44how they did their internal authorization service which was
- 23:48called groups and simmer. The We got works, is you
- 23:51specified relationship between different entities.
- 23:54So you can say this user is the manager of this under user, this
- 24:01user it was the submitter of this country port and their use
- 24:05the user ID is that were provided by your IDP, right?
- 24:08So in any case you are bound to specific authentication method,
- 24:12you can use any way to authenticate and still do fine
- 24:16game creation with a vac or with relation babe.
- 24:20Three back, right? So both work does the
- 24:22application development need to be developed with fga in mind,
- 24:27or can you take an application that was developed previously
- 24:31and integrated into an f g? A based framework, if you think,
- 24:36especially as a generic term then and let's say you are you
- 24:41have an application built with role-based Access Control,
- 24:44right? And then you have this is an
- 24:46area where you want to approve the expense on If the user
- 24:52disapproving, it is the manager of Gregor submitted a report.
- 24:58The you can just do an extra query in that method, right?
- 25:04And and then then you're going to have funding for Education,
- 25:07okay? So find Reference Station is
- 25:09kind of, I don't rely just on role-based data.
- 25:14I I need to know data about the specific resource.
- 25:18I'm Changing or an actin on to make a decision.
- 25:22So from that perspective, it can be usually most role-based
- 25:26interpretations today, end up doing some kind of a back
- 25:29because at some moment, they need to make a decision about
- 25:34the specific resource of the Pacific record that the user can
- 25:36access, okay? So from that perspective, is
- 25:40there's nothing to change and it's it's a way to gradually go
- 25:44from role-based access to attribute based access by adding
- 25:48more queries on your product. Now, if you want to build a more
- 25:51sophisticated instrumentation of attribute based access control
- 25:54and you want to do, for example, a policy based Access Control
- 25:58where the definition of that access policy is subsiding
- 26:02product at some of the code then, yes, you would need to
- 26:06architect your application differently.
- 26:07The find operation policy somewhere else in an external
- 26:11tool or product, right? And then from your code, call
- 26:15those policies that implies. Yeah.
- 26:17You can do that gradually. But it's a Change on your
- 26:20application. And that, if you are using a
- 26:23product that is relationship based access control, the weight
- 26:27loss product works, is that they need the data of how users are
- 26:31related between themselves and with the different entities to
- 26:34make a decision. So, you know, so you need to put
- 26:38all push all the data from your existing systems into those FCA
- 26:43stores, so then they can make the decision, right?
- 26:46If you that, and that is that also, Quite see ya thinking with
- 26:51that way because requires a lot of work to get all the data in
- 26:55that system, to then be able to call it and that we low latency
- 26:59from your endpoints, right? I think that's where it's so
- 27:03data. Dependent sounds like to me and
- 27:04you can feel free to educate me on this, but I think of things
- 27:08like our back P. Back a back.
- 27:12We talked with K back, knowledge base with indication you
- 27:15mentioned reback, relationship based authentication, which
- 27:18maybe is the same sort of thing. We settled on a acronym for it,
- 27:22but the underlying pinning for all this is the quality of the
- 27:26data and the amount of data to be able to make those sorts of
- 27:29decisions. Judging by the name
- 27:32fine-grained, you know, authorization, I'm assuming that
- 27:35we need to have a lot of, you know, metadata to be able to
- 27:38make these sorts of decisions. You mentioned the ability to
- 27:43make these decisions and more real-time format, which I think
- 27:45is kind of where the direction of a back typically goes.
- 27:49We know about, A lot of struggles that organizations
- 27:51have with our back and trying to get roles implemented from your
- 27:55perspective. Where do you see f g a kind of
- 27:58fitting into that world of you know, organizations.
- 28:01They say they want to be role-based Access Control.
- 28:03Okay, great. And then they realize how hard
- 28:05it is and they sort of like stumble through it in the maybe
- 28:07they settle on attribute based access control is fga.
- 28:12Basically taking attribute based Access Control to the next level
- 28:17by having just more. To be able to make those
- 28:20decisions. Or does it fit somewhere else
- 28:22within that sort of that ecosphere, of different
- 28:25authorization models? Yeah, so just to clarify their
- 28:29interview. So attribute based access
- 28:31control is at GA, okay? So, because it's not coarse
- 28:35grain in the sentence of all only talking about the roles
- 28:39you. When you talk about an
- 28:40attribute, then the ultimate can be as like fine grained as the
- 28:44specific document. So you have a permission for a
- 28:47specific document, you can build that with a bat.
- 28:50Fermentation, right? If you want to use a VGA with re
- 28:54re re re back implementation relationship-based, then the
- 28:58Reebok ancient, we will need all the data to make the decisions.
- 29:02So maybe explain a little more, how that Reebok works and
- 29:06decency. Work mode works to this to make
- 29:09more sense. So the way through Google had a
- 29:12problem back in the in the think they did this initially for
- 29:17Google+, which I It's probably early 2010, 2012, something
- 29:24around the date, right? And they decided they want to
- 29:26build an externalized, Sprite to manage population, and they end
- 29:30up building service that they use for all products in Google.
- 29:34So each time you share a document in Google with specific
- 29:38person, you are writing a feel at beta, some data into the
- 29:41Sunset Bar annotation and why what it needed to do that for
- 29:47two reasons. First, they wanted to have a
- 29:49consistent isn't way to define a manage authorization across
- 29:54Google for all products. In most cases, what happens
- 29:58today is like a URL to a company.
- 30:00There are 10 20 teams they need to build for ization.
- 30:03They do it all your different way and the and in this case,
- 30:06what we will say is we want a consistent way, same apis, same
- 30:10thing where you thinking for all of our teams, okay?
- 30:13And and then, they also needed to scale for Google Docs and so
- 30:19each time you Of P permission to someone that if someone else
- 30:22wants to access the document that needs to be very fast, very
- 30:25low latency High availability, right?
- 30:28So we need to build product that help doing that.
- 30:32The issue with a back is that in a but you need to go and get the
- 30:35data yourself. And it's usually happens in your
- 30:38existing transactional databases, right?
- 30:41So I want to know who is the manager of the this user need to
- 30:45be two. Adjoining some table, right?
- 30:48Check the expense report data. I'll look at the expense report
- 30:51tail and the and make you thinking for World up, like a
- 30:54service calls, another service, we could go to another service.
- 30:57Each of those areas need to do the same.
- 30:59Sometimes the same database queries, something different,
- 31:02sometimes the different services, that adds a lot of
- 31:04latency, a lot of potential points of failure, like any of
- 31:09those Services down, there is very low impact that API call.
- 31:14So, what Google said is to be able to make those decisions in
- 31:19a way. That is scalable, no, latency
- 31:22and reliable. We need the data.
- 31:24So we cannot rely on the developers.
- 31:27Only Kermit people who's implementing this, go and get
- 31:29the data. At the moment of evaluation, we
- 31:32need to have the data before. So, what they Define, it's a
- 31:35model where you provide to us and see our store.
- 31:39Tuples that basically say this user is a member of the strong
- 31:44this user can write this document.
- 31:46This role can write this document and things like that,
- 31:49right? This group can write this file
- 31:51into this folder so they are policies, permissions that you
- 31:55assigned to different entities into different resources.
- 31:59And based on that when you need to ask can chef at this document
- 32:03it will say yes or no yes or no, depending on the folder, they
- 32:07were comedy is the group you are the road, you have the
- 32:10organization, you belong to things, right?
- 32:13And that so that is that I could be like, a bit
- 32:15relationship-based, FC, a model and which is the That I'm
- 32:20working on in after and the and then there's a few people trying
- 32:24to build the same kind of intimidation, right?
- 32:27Which is trying to solve that problem and that problem
- 32:30requires the data and then one of the problems of people
- 32:33amending a solution like this is that you need to get all the
- 32:36data into the store which might be challenging depending on your
- 32:40architecture, your project. It sounds like what you're
- 32:44describing to me. Sounds awful lot like a
- 32:47Knowledge Graph essentially. Yes, and building a centralized
- 32:50repository of all this data is that the is that the gist of
- 32:54this? Is there needs to be some sort
- 32:55of Central master database, table, graph, whatever
- 33:01technology, right, as being blockchain, as much as I hate to
- 33:03use that word, right? We're all this data is basically
- 33:07stored centralized kept up to date and then leveraged as the
- 33:13Of source for these sorts of decisions when it comes to
- 33:17authorization is that? Yes, and accurate way to portray
- 33:20it. Yes.
- 33:21And I need to know that we need all the data, right?
- 33:24We just need the minimal data possible to make this analysis
- 33:28of decisions. For example, recognition know,
- 33:31back, when I need to know this document ID is is in this folder
- 33:36ID, right. I don't need to know the content
- 33:39of the document, the title document, nothing else, right?
- 33:42So chefs there. The IDS of the relate of the
- 33:45entities and how they are related with right and the and
- 33:50with that you can make good decisions in a way that is very
- 33:53fast. Scalable glorious event.
- 33:55And there's so that that is what what?
- 33:58And that is kind of the the new kid on the Block right over, how
- 34:01to build authorization today and what what, what is a lot of
- 34:05companies are trying to implement this after Google, did
- 34:08it? There were a lot of other
- 34:11companies that try to do similar things.
- 34:13We like, BRB Expedia car that they are all, give their all
- 34:17flavors of something. It is and that's what kind of
- 34:20gave up gave us kind of more certainty to try to follow this
- 34:25path because it seems like a it was a good path to take.
- 34:29And that the challenge for us was that we need wanted to build
- 34:31access product, right? So it's not a product that
- 34:33you're going to put Bill itself and host inside your company,
- 34:36that is tuned for your specific scenario.
- 34:39We need the product that you bring any wood, could use and
- 34:42anywhere could Define the their own entities and relationships.
- 34:47A lot of the use cases that you just described and even kind of
- 34:50the companies that have gone down this path are
- 34:52consumer-focused, is that really sort of the intention for f g.
- 34:57A is it is it more of a consumer-focused sort of
- 35:00approach. You did talk about some
- 35:02potential you know use cases inside a little calm like
- 35:05Enterprise use cases. But I don't know if most
- 35:08Enterprises are to the maturity level.
- 35:10At this point to be able to have the the number quality of
- 35:16attributes. Get to make some of these
- 35:17decisions. I guess where do you see sort of
- 35:20like the main use case for fga at this point?
- 35:23Yeah. So We've been talking to a lot
- 35:26of companies and that is that you want to do and something
- 35:30that is and most of the use cases are B2 Visa scenarios.
- 35:34If you think about the B2B SAS, it's interesting because you
- 35:37need, when you start your first version of a B2B such product,
- 35:42you probably don't have like a we have an admin role and a user
- 35:46role and and that's enough for be 1, right?
- 35:50And after that application involves and you start getting
- 35:53more sophisticated customers, there are Ask you for more
- 35:56sophistication, how you manage permissions together, right?
- 36:00So, first time I asked you, I want Rose.
- 36:02Then I ask, you know, I want to actually Implement find an
- 36:05authorization, which is the producers can access different
- 36:08specific documents, and folders depending on who they are and
- 36:11things like that, right? So and so in our view, every B2B
- 36:17sales company will eventually need to implement finding
- 36:20authorization in the products because that's what customers.
- 36:25Their Enterprise customers are asking them, right?
- 36:28And and the initially maybe the smaller customers want when they
- 36:31want to go kind of Upstream in the cotton, the size of the
- 36:35companies they are requiring, those kind of permissions.
- 36:39So so yes. So we see a lot of a lot of
- 36:43opportunity there for me to be such companies to implement
- 36:46cyclization and also like a initially in inevitably such
- 36:51product. By definition, you have like a
- 36:54one attribute Which is their tenant of the customer right
- 36:58that that the Sailor Gates information, right?
- 37:01So if you're an admin of an organization, you cannot see
- 37:04data from another organization, right?
- 37:07So that is already a biker, a little fine-grained in the sense
- 37:11that is, you cannot model that just withdrawals.
- 37:13You need to also have at least one attribute, which is the
- 37:16organization that the user belongs to write to filter data
- 37:19depending on that. And then and then it gets more
- 37:22complex like a, you want to be the team.
- 37:25Teams like a have people, which I have two folders and then they
- 37:28want to share documents with with themselves with different
- 37:30permissions. So it gets more complex in a lot
- 37:33of those p2b scenarios and product like this.
- 37:36Kind of makes sense and dryer cycle.
- 37:40Oh my God, I just couldn't help. I mean, we're on audio only
- 37:43podcast but we have our cameras on couldn't help, but notice you
- 37:47have a shirt on this as open f, g a, and you talk to us a little
- 37:53bit about what that is. I'm assuming that's part of your
- 37:56mission in life at the moment, so Co and milk.
- 38:03I'll tell you, it was acquired by October and couple of years
- 38:05ago and the end at the moment, we were building a product for
- 38:09solving find an authorization and the 0, it has more the
- 38:14developer brand. And so we ended up naming our
- 38:18initial project out 0ga, even if it was already part of vodka.
- 38:23And then and and then we decided to open source it.
- 38:27Okay, so right now I'm working in my mission in life is to
- 38:31products one. Is called oxidative GA and
- 38:34another one that is called open up.
- 38:36See a opening gav open source version 2.0 GPA.
- 38:39We use open appreciated peeled also York, CA and the and the
- 38:45and the goal is that. Yes, we we want to be able to
- 38:48open a ga with the industry. We think that a product like,
- 38:52this is gonna be very important moving forward for building
- 38:56authorization. And in, in all of these cases
- 39:00we've been discussing and And we think the company like, OCTA can
- 39:05with the right Partners can make this reality.
- 39:07Like, having a de facto standard of implementing finalization is
- 39:12relationship based Access Control way.
- 39:14And so, and we think the way to do that is through open source,
- 39:18and, but we have customers that want to also buy managed service
- 39:24that they don't need to maintain the need to operate that.
- 39:27They make sure the security is taken care of by that the
- 39:31compliance is ticking. Heroes are those kind of things
- 39:34and for that, we are still going to have a cloud version of a
- 39:37product that you can use without costing it yourself.
- 39:41Now, let's create a mini, no pictures, had a big impact on
- 39:44our industry over time and you know, it's good to see that that
- 39:48spirit is still kind of alive and well.
- 39:51Yes, and let's see row and Uncle, both have been
- 39:54contributing to open source for a while.
- 39:56But we it's his first time in that.
- 39:58We kind of launch product that is complete core of the product
- 40:01is open source. Right, we have a lot of holes,
- 40:04open source, libraries and things that you can use with
- 40:06alter or at 0 but never kind of met product that was built that
- 40:11way. So it's pretty exciting to met
- 40:13expected. so, if I were to look into the knowledge graph of
- 40:25Andreas. What would I find as the go-to
- 40:28karaoke song for you going to end things?
- 40:31On a lighter note here. So this is my way of tying it
- 40:34back together. I'm thinking of the fine grains,
- 40:37you know authorization that says hey Andre is is about to perform
- 40:41karaoke. Here is the song that he's going
- 40:44to perform. Yeah.
- 40:46So it's fun because karaoke songs tempting to be like our
- 40:49songs, everyone everybody knows and likes to seeing and are fun
- 40:53and I usually don't like to sing.
- 40:55Songs are more like a like to sing a song I like and so my
- 41:00go-to song is down the road from Bruce Springsteen and the area
- 41:06when I see it in your way nobody knows it and you know a lot of
- 41:09people so it's not as fun and the when I sing it in New Jersey
- 41:14that is more time. But by Kim.
- 41:17What's your your go-to for karaoke?
- 41:20I mean I have to admit like the hardest part about doing a
- 41:24podcast. It is listening to the podcast
- 41:27once in a while and hearing my own voice.
- 41:29So it doesn't get any better when I do karaoke and someone
- 41:33thinks a video of it and I'm like, oh my god did I really get
- 41:37up and sound like that? But, you know, a few shots of
- 41:42whiskey, or whatever. It takes to get up there on that
- 41:45stage. So if I'm with Denise, my
- 41:48girlfriend seems too nice if I'm with her, we like to do Kid,
- 41:53Rock duet with Sheryl Crow, picture.
- 41:59And so, that's our go-to for when were together.
- 42:03Now, if I do a solo, it's going to be terrible.
- 42:05No matter what, but I like anything by ZZ Top.
- 42:11And I also like poison, so any anything within their catalog?
- 42:18But it's just a lot of just sounds like a lot of screaming.
- 42:20Jeff, it's not good. So what I'm there with Denise, I
- 42:24tried pick a Song, where the male part is very short and the
- 42:27female part is the dominant part.
- 42:30And so that's kind of what we've settled on what about you have?
- 42:34Probably, I mean, that's probably the way to go because
- 42:37she's like a professional singer.
- 42:38So, yeah, oh yeah, yeah. No, I mean, nobody, who's there
- 42:43at the bar or whatever they were doing in the karaoke yet wants
- 42:47to hear me, they bub when she sings.
- 42:49It's like oh, you know people start coming up to her and
- 42:52asking her to do duets with them.
- 42:54I'm like, okay. I'm here.
- 42:55I'm here. I'm with you on the voice thing.
- 43:01II. Do not have a voice for singing.
- 43:03You could argue. I don't have a voice for talking
- 43:04either but I still have some how to do it.
- 43:07I think for me it's probably, you know, I like to go back to
- 43:11my guys at Queen and Duke Bohemian Rhapsody Grant you
- 43:15know. It is something that I generally
- 43:19only perform after severe and you variation.
- 43:22That's just saying which is a very rare Occurrence for me and
- 43:26I will absolutely sing every part of that song, including all
- 43:30the highs and the lows and everything.
- 43:32Now I said saying I didn't say sing well, so I just kind of
- 43:35make that stipulation out there that it is unlikely that anyone
- 43:39will ever witness this and it is probably for their own benefit
- 43:42that they do not. But that that's my go-to would
- 43:44be Bohemian Rhapsody by Queen. Well at least you picked a short
- 43:48song. Yeah exactly.
- 43:50For long. The pain for everybody.
- 43:52Yeah. That's what I actually like the
- 43:55It's like putting you into the system like yeah, we don't have
- 43:58that song that's like Stairway to Heaven, right?
- 44:01You don't go into the guitar store and start playing that.
- 44:05That's right. A bird or something like that
- 44:07Andres. You've been very generous with
- 44:08your time and I want to make sure you can get on with your
- 44:10with your day here. Before we wrap things up, you've
- 44:14educated it myself. And hopefully others all about f
- 44:19g, a and sort of where it fits within the, the identity and
- 44:21access management ecosphere. Are there any final?
- 44:25Thoughts or takeaways that you'd like to get out there for the
- 44:27folks who are listening that want to either get more
- 44:29information about or things that they should be thinking about
- 44:31when it comes to fga? Yeah, so I would recommend them
- 44:36to Google about Google about Google sansevieria and because
- 44:42it's kind of it seems to be becoming like a popular way to
- 44:46implement authorization in general and it has like a diss
- 44:50to great things which is a way to do find reforestation.
- 44:55And also way to have a centralized way to manage
- 44:58organization in the company, right?
- 45:01And both things are very valuable in the so I hope and I
- 45:07think that the next few years, this will become a thing.
- 45:10And other people are going to be like, trying to implement the
- 45:14requirement in this model. So it might be a good thing to
- 45:18start learning about it. Right.
- 45:21And and I'll have a link in our show notes to open fda.gov which
- 45:26looks like a pretty good website for folks who are interested in
- 45:28want to get more involved with sort of what it is.
- 45:31Learn more about. It is in addition to Googling,
- 45:34it is weird to say Google. Google's and Zanzibar, it sounds
- 45:36like a double negative. But here we are Jim.
- 45:39How about yourself? Any final thoughts from
- 45:41fine-grained authorizations or, you know, singing Melodies with
- 45:47your girlfriend. Nothing else, home singing?
- 45:50Yeah. Great.
- 45:50Topic today, very informative hopefully somewhat entertaining
- 45:54for folks. Just a reminder about the
- 45:57webinar coming up in a couple weeks and hopefully we can we
- 46:02can tweak those numbers and get a few more people to attend.
- 46:05It's on the 22nd at 1 p.m. and will have a note to a note in
- 46:11the show notes link to the to the podcast or I'm sorry the web
- 46:16fire and finally a shot out to Mike.
- 46:19Thanks a lot. Not for hooking us up with
- 46:22Andreas because if it's a great guest today, thank you.
- 46:26Andre has anybody who wants to link up with me on LinkedIn?
- 46:32I'm very open and networking and I dries.
- 46:35I would assume you are as well. Yes.
- 46:39All right. If you kind of, you kind of
- 46:40spell my name. Yuri, be able to find me a link.
- 46:43Yeah, or well, we give me the show notes.
- 46:46I will definitely have a link to your LinkedIn profile in our
- 46:49show notes. People can check, I doubt
- 46:51there's always links for Jim and I hate, you know, we're always
- 46:53happy to connect with folks that are out there.
- 46:55I'll have links to whole bunch of stuff.
- 46:56Basically will have Andres our LinkedIn.
- 47:00I'll have a link to open fda.gov will have a link to the webinar
- 47:04that Jim is doing. It's called MFA tried to fix
- 47:07passwords but how do we fix em, f a great sexy title.
- 47:11I'm sure Jim will deliver and things like that.
- 47:14So I think with that, we'll go ahead and leave it for this
- 47:18week. You can check us out on the web,
- 47:20I done to you. The center.com we're on Twitter
- 47:22at idea. See podcast and yeah thanks
- 47:26everyone for listening and we'll talk with everyone in the next
- 47:28one. Thanks for listening to the
- 47:34identity at the center podcast. If you like what you heard,
- 47:36don't forget to subscribe and visit us on the web and identity
- 47:40at the center.com.