Authorization as a Service (feat. Jake Moshenko)

Authorization as a Service (feat. Jake Moshenko)

Jake Moshenko⁠, CEO of ⁠AuthZed⁠, discusses the importance of permissioning databases and the challenges of implementing permissions at scale. He explains how AuthZed solves this problem by providing a common API for flexible and fine-grained authorization. The target market for AuthZed includes companies of all sizes that need to add complex permission workflows to their applications. Jake demonstrates how AuthZed can be integrated with backend systems, web applications, and mobile apps. He also explains the benefits of using AuthZed, such as increased security and improved product velocity. The conversation concludes with a discussion on the AuthZed schema language and how permissions and roles are defined in the system. Jake Moshenko introduces the concept of permissions and relations in the context of access control. He explains how permissions can be granted to users for specific actions on resources, and how relationships between users and objects are defined. Jake also discusses the flexibility of defining roles and the granularity of permissions. He demonstrates how permissions can be visualized and edited in a user interface, and highlights the benefits of using a startup solution for access control. The conversation concludes with a discussion on the importance of leveraging existing tools and trusting innovative startups.

Takeaways

  • Permissions can be granted to users for specific actions on resources, such as read, write, and admin privileges.
  • Relations define the relationships between users and objects, allowing users to be readers, writers, or admins of a particular object.
  • Roles can be used to group multiple privileges or permissions together, providing a higher level of access.
  • Design time actions involve configuring the access control system, while runtime actions involve making API calls to enforce permissions.
  • When considering building or buying a solution, it is important to focus on core competencies and leverage existing tools and services.

Chapters

00:00 Introduction and Background

01:04 The Problem of Permissions at Scale

05:25 Implementing Authorization for Different Client Types

06:46 Integration with Backend and Web Applications

10:24 Implementing Permissioning for Mobile Apps

14:25 Benefits of Using AuthZed for Permissioning

22:00 Granting Access to Resources with AuthZed API

25:11 Defining Permissions and Roles in AuthZed

30:42 Introduction to Permissions and Relations

31:11 Understanding Permissions and Roles

32:20 Decoupling Relationships and Actions

33:36 Granularity of Permissions

34:14 Grouping Privileges into Roles

36:01 Design Time and Runtime Actions

36:46 Visualizing and Editing Permissions

39:33 Trusting a Startup

53:36 Building vs. Buying Solutions

58:36 The Value of Innovation and Trust

Jaksot(410)

I do a lot of our Software Design work while walking!

I do a lot of our Software Design work while walking!

When I am sitting in front of my machine, I want to be coding (or doing something that I really need the machine for). Design work doesn't necessarily fall in that category for me - at least not all the time.

15 Tammi 20216min

Should your Product Manager have to be cognizant of your Architecture?

Should your Product Manager have to be cognizant of your Architecture?

The correct answer is "No". Or, is it? It really depends on a few different factors. Let's talk about a few pros and cons of either approach.

14 Tammi 20214min

When we embarked on building a product, we expected some challenges. But not a few others.

When we embarked on building a product, we expected some challenges. But not a few others.

I knew we would have engineering challenges and that didn't bother me (having done this for a while). But what kept me awake were the roadblocks that were bound to be there that I had little clue about!

12 Tammi 20219min

The True Cost of Meetings - it is more than what you think

The True Cost of Meetings - it is more than what you think

How much time are you spending in meetings? And are you sure you needed to be in these meetings?

10 Tammi 20219min

One approach to create UX Designs is to draw them out quickly without relying on tools

One approach to create UX Designs is to draw them out quickly without relying on tools

If you can draw, this approach will work really well! But, even if you are like me and cannot really draw, it will still save you a ton of time if you manually drew out the UI pages to share with your development team.

31 Joulu 202010min

User Experience(UX) Designs for Web and Mobile Apps

User Experience(UX) Designs for Web and Mobile Apps

While it would save time (which is priceless for everyone, not to mention smaller startups where it is even more valuable!) to use UX designs created for the Web for Mobile Apps, and vice-versa, it is hardly ever possible (if a seamless User Experience across devices is at the top of your priority list).

26 Joulu 20207min

How to deal with the issue of Bot Sign ups?

How to deal with the issue of Bot Sign ups?

Well, as technology improves, we get smarter as humans. But, so do bots. There's any number of things you can, and should, do to ensure your app is not hit with bot (aka: fake) sign ups.

26 Joulu 20202min

GitHub Projects - How we manage our repo-specific issues

GitHub Projects - How we manage our repo-specific issues

We use our own product (obviously!) to give us a federated view of all the projects that our ecosystem comprises of but at a code repository level, we use GitHub's Project feature to manage repo-specific issues. Here's how we do it.

1 Joulu 20202min