Webinar - June 20, 2024 10 AM PT Open Source Code Along: SpiceDB for Modern Authorization

AuthZed Blog

Articles from the AuthZed team about SpiceDB, Fine Grained Authorization, Google Zanzibar, and engineering culture.

Announcing AuthZed Materialize

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
February 21, 2024
AuthZed Materialize has entered Early Access. AuthZed Materialize is a new service that provides two major benefits: accelerated SpiceDB API responses and the ability to efficiently stream access changes to other systems.
3 minutes

How Caching Works in SpiceDB

/assets/team/joey-schorr.jpg
Joey Schorr
February 8, 2024
In this blog post, we’ll discuss how caching works in SpiceDB, AuthZed’s open source implementation of Google Zanzibar, and answer the most commonly asked questions about caching in SpiceDB.
7 minutes

Google-Scale Authorization: Getting to 1 Million QPS on SpiceDB Dedicated with CockroachDB

/assets/team/victor-roldan-betancort.jpg
Victor Roldan Betancort
July 12, 2023
Discover how we managed to test 1 million requests per second on SpiceDB Dedicated, backed by CockroachDB. The post provides a detailed overview of our setup and methodology, infrastructure considerations, the process of generating test data and load, among other aspects. It also includes comprehensive performance results from our tests.
21 minutes

Maximizing CockroachDB Performance: Our Journey to 1 Million QPS

/assets/team/evan-cordell.jpg
Evan Cordell
June 7, 2023
Learn how AuthZed scaled SpiceDB on CockroachDB to 1 million authorization events per second with our now open-sourced advanced connection pooler, crdbpool. Discover the challenges we faced and how we solved them in our journey to maximizing CockroachDB performance.
13 minutes

ABAC on SpiceDB: Enabling Netflix’s Complex Identity Types

/images/chris-wolfe.jpeg
/assets/team/joey-schorr.jpg
/assets/team/victor-roldan-betancort.jpg
Chris Wolfe and 2 others
May 18, 2023
The authorization team at Netflix recently sponsored work to add Attribute Based Access Control (ABAC) support to AuthZed’s open source Google Zanzibar inspired authorization system, SpiceDB. Netflix required attribute support in SpiceDB to support core Netflix application identity constructs. This post discusses why Netflix wanted ABAC support in SpiceDB, how Netflix collaborated with AuthZed, the end result–SpiceDB Caveats, and how Netflix may leverage this new feature.
11 minutes

Introducing: Fine-Grained Access Management

/assets/team/victor-roldan-betancort.jpg
Victor Roldan Betancort
April 27, 2023
The systems we build at AuthZed are the direct result of feedback from our community and customers. Because security is the core of our flagship product, SpiceDB, we take feedback on this topic very seriously. We’ve heard you, and today we’re proud to introduce a better way to secure AuthZed customers’ client applications accessing the SpiceDB API: **Fine-Grained Access Management** (FGAM).
4 minutes

Pitfalls of JWT Authorization

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
April 18, 2023
At AuthZed, we believe there’s a time and place for every piece of technology; the tricky part is determining if your use case actually is the time and place. For many years, there’s been a strong argument by domain experts against using JWTs for web sessions. While this campaign has succeeded to help improve the security of the web frontend, there hasn’t been an equivalent campaign for the backend. While building [SpiceDB](https://github.com/authzed/spicedb), we’ve surveyed many backend developers only to find that many don’t know the pitfalls of JWTs or even that alternatives exist. SpiceDB is an open source project that implements one such alternative called _centralized authorization_. Because of this, I’ll be sure to include exactly how a centralized strategy accounts for the pitfalls with JWTs, too!
8 minutes

Top-3 Most Used SpiceDB Caveat Patterns

/assets/team/victor-roldan-betancort.jpg
Victor Roldan Betancort
February 16, 2023
The top-3 most used caveats we've seen out in the wild
4 minutes

CockroachDB 23.1 new defaults impact SpiceDB

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
February 15, 2023
SpiceDB is a fairly unique database when it comes to consistency. Most databases implement a pattern called MVCC. Without going too deeply, when a query is made to an MVCC database, it runs that query against a snapshot of the data it manages. SpiceDB not only implements MVCC, but also supports the ability to specify the desired consistency on each request.
5 minutes

Modeling Google Cloud IAM in SpiceDB

/assets/team/jake-moshenko.jpg
Jake Moshenko
January 19, 2023
We often get asked about how you would model Infrastructure as a Service (IaaS) permissions in our SpiceDB Schema Language. Since we know that Google Cloud IAM uses Zanzibar internally, it should be possible to use relationship based access control to get the desired effect.
11 minutes

Google Zanzibar Through Our Eyes

/assets/team/jake-moshenko.jpg
Jake Moshenko
December 8, 2022
Understanding Google's Zanzibar paper the way the Authzed team does.
4 minutes

Caveats: A Scalable Solution for Policy

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
November 17, 2022
Our journey adding ABAC-like policies to SpiceDB
7 minutes

Getting Database Connection Draining Right

/assets/team/victor-roldan-betancort.jpg
Victor Roldan Betancort
November 7, 2022
An intro to database connection draining
11 minutes

LookupSubjects and SpiceDB v1.12.0

/assets/team/joey-schorr.jpg
Joey Schorr
September 20, 2022
Product Updates for July & August
3 minutes

SpiceDB Operator is Open Source

/assets/team/evan-cordell.jpg
Evan Cordell
September 8, 2022
We're open sourcing SpiceDB Operator!
3 minutes

How we moved SpiceDB to run in-browser and decreased request latencies by 90%

/assets/team/joey-schorr.jpg
Joey Schorr
August 25, 2022
Running the SpiceDB development system within the browser via WebAssembly
9 minutes

Automatic release notification in SpiceDB and zed

/assets/team/joey-schorr.jpg
Joey Schorr
May 18, 2022
The engineering behind notifying users about updates to SpiceDB and zed
9 minutes

Your commonly-held technical opinion is actually wrong! (Read on to discover why it’s really mostly right)

/assets/team/evan-cordell.jpg
Evan Cordell
March 30, 2022
This blog post challenges your preconceived notions while subtly re-affirming that you were right all along
3 minutes

Have you met...our HTTP API?

/assets/team/sam-kim.jpg
Sam Kim
March 17, 2022
A quick guide to configure and try the Authzed HTTP API
5 minutes

Check it out #2: How intersections and exclusions are computed in SpiceDB and Authzed

/assets/team/joey-schorr.jpg
Joey Schorr
March 3, 2022
Walking the graph to resolve permissions answers
9 minutes

Our GitHub merge workflow

/assets/team/sam-kim.jpg
Sam Kim
February 24, 2022
And why we’d be happy to replace it.
5 minutes

Post-Mortem: Feb 16 2022

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
February 22, 2022
A deep-dive into our elevated latency last week
7 minutes

Writing relationships to SpiceDB

/assets/team/joey-schorr.jpg
Joey Schorr
February 17, 2022
A tale of writing to two databases
8 minutes

Online Schema Migrations in SpiceDB

/assets/team/evan-cordell.jpg
Evan Cordell
February 3, 2022
How to perform online schema migrations with SpiceDB or Authzed.
7 minutes

M1 to the Max

/assets/team/sam-kim.jpg
Sam Kim
January 27, 2022
Part 2 of an unexpected series on our development environment.
7 minutes

Using GitHub to manage your first CVE

/assets/team/joey-schorr.jpg
Joey Schorr
January 13, 2022
Creating a formal process for handling security vulnerabilities using GitHub
14 minutes

Why model my users in SpiceDB?

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
January 5, 2022
Details on one of SpiceDB's largest deviations from Zanzibar
5 minutes

Unveiling wildcard permissions in SpiceDB

/assets/team/joey-schorr.jpg
Joey Schorr
December 23, 2021
A public display of development
5 minutes

Consistent Hash Load Balancing for gRPC

/assets/team/evan-cordell.jpg
Evan Cordell
November 24, 2021
Extending grpc-go with a custom resolver and loadbalancer implementations.
4 minutes

Google Zanzibar Open Source: The Architecture of SpiceDB

/assets/team/jake-moshenko.jpg
Jake Moshenko
November 17, 2021
The architecture and code of SpiceDB.
12 minutes

Migrating from PostgreSQL to Centralized Authorization with SpiceDB

/assets/team/evan-cordell.jpg
Evan Cordell
November 10, 2021
Learn how to bootstrap SpiceDB from playground or PostgreSQL.
6 minutes

User Defined Roles

/assets/team/jake-moshenko.jpg
Jake Moshenko
October 27, 2021
Modeling user-defined roles in Authzed schema.
11 minutes

We picked Go for the Ecosystem

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
October 20, 2021
Why we're building our company on Go in 2021
5 minutes

The One Crucial Difference Between Spanner and CockroachDB

/assets/team/evan-cordell.jpg
Evan Cordell
October 14, 2021
How We Reproduce and Prevent the New Enemy problem in SpiceDB.
15 minutes

Syntax and Semantics

/assets/team/joey-schorr.jpg
Joey Schorr
July 21, 2021
Semantic highlighting in Monaco
9 minutes

Defining Systems Lucidly

/assets/team/joey-schorr.jpg
Joey Schorr
July 14, 2021
Authzed's new configuration language
4 minutes

Zanzibar Implementations

/assets/team/sam-kim.jpg
Sam Kim
July 6, 2021
Reviewing the current landscape of Zanzibar implementations.
3 minutes

ACL Filtering in Authzed

/assets/team/joey-schorr.jpg
Joey Schorr
June 23, 2021
How Authzed enables filtering of objects by subject
7 minutes

Maintaining a Stable Protobuf API

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
June 15, 2021
How we're avoiding breaking users without compromising developer UX
5 minutes

We spent hours naming this blog post

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
June 9, 2021
Why names matter regardless of how technically sophistocated a product is.
4 minutes

Joining a Startup During a Pandemic

/assets/team/sam-kim.jpg
Sam Kim
May 26, 2021
My experience starting at Authzed during the pandemic.
6 minutes

The Challenge of ACL Filtering in Relational Databases

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
May 18, 2021
A story of how a seemingly simple feature can lead down a permissions rabbit-hole.
5 minutes

Understanding Google Zanzibar: A Comprehensive Overview

/assets/team/jake-moshenko.jpg
Jake Moshenko
May 12, 2021
What is Google Zanzibar? Why did they build it? And why is it important? I'll break down and answer those questions based on the research paper and from our experience building SpiceDB, the open source, fine-grained permissions database inspired by Google Zanzibar.
13 minutes

Show() && Tell()

/assets/team/joey-schorr.jpg
Joey Schorr
May 5, 2021
Building the animated code example
13 minutes

Onboarding with an M1

/assets/team/sam-kim.jpg
Sam Kim
April 7, 2021
My experience starting at Authzed and setting up an M1 MacBook Pro.
6 minutes

Check it out: How permissions are answered in SpiceDB and Authzed

/assets/team/joey-schorr.jpg
Joey Schorr
March 17, 2021
Walking the graph to resolve permissions answers
10 minutes

Relationship Based Access Control (ReBAC): Using Graphs to Power your Authorization System

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
March 3, 2021
Authentication systems are insufficient for authorization.
9 minutes

Learning through play

/assets/team/joey-schorr.jpg
Joey Schorr
February 25, 2021
Building the Authzed Playground
15 minutes

Introducing Authzed

/assets/team/jake-moshenko.jpg
Jake Moshenko
February 10, 2021
Our Journey to Permissions as a Service.
8 minutes

Understanding "Failed Open" and "Fail Closed" in Software Engineering

/assets/team/jimmy-zelinskie.jpg
Jimmy Zelinskie
January 16, 2021
Fail Open vs. Fail Closed are concepts applied in code to handle failure scenarios. Fail-open allows unaccounted situations to proceed, while fail-closed blocks them. Though fail-open may improve code readability, it can risk functionality. Recognizing these patterns aids in understanding a developer's choices.
3 minutes