3/ You'd: 1. Sign up for a subscription 2. Configure who has access to what 3. Pick an SDK for your favorite language/tool 4. (optionally) Feed your authZ data from existing sources into #sandcastle
That's the ideal future. At this point you'd have AuthZ for your app 🤯
4/ 📈 As your app grows, you wouldn't need to worry about AuthZ growing with you!
🤝 If you are using @auth0 for AuthN, it'd make your life even easier, but #sandcastle should be usable independently.
5/ 🎁 What'd be in the box?
🌎 Global: HA + low latency
📡 HTTP API to write permissions and check access
🛠 SDKs for languages and policy solutions e.g.: @OpenPolicyAgent
🔌 Plugins for @apachekafka, @PostgreSQL, etc. to feed data into #sandcastle
📜 Audit
We'd ❤️ feedback
6/ 🤔 How do we think it'll be used?
Either as a PDP or a very large PIP.
PDP mode works for many permission models and new deployments.
PIP mode will be used for migrations, and decisions that need global and local context.
3/ 0️⃣ Introduction
Zanzibar is a "Relationship based access control" (ReBAC) authorization system, i.e.: a user has access to an object if it has a particular relation to it.
Zanzibar stores (object, relation, user) "tuples" with data about these relations.
We'll go over what is currently being addressed and what the gaps are👇
2/
As we've mentioned before, solving #fgaatscale requires:
1️⃣ Permission modelling flexibility
2️⃣ Auditing capabilities
3️⃣ Correctness: no invalid permissions are granted
4️⃣ Low Latency
5️⃣ High availability
3/ Solving #fgaatscale is becoming a need because:
☝️ Users expect collaboration features in most products they used, and that requires FGA
✌️ Increasing privacy and compliance regulations require companies in different verticals to restrict access as much as possible
3/ Like github, @googledrive has B2C and B2B models. However, @googledrive's sharing model is the same for B2C and B2B. The difference is who you can share files with.
In this thread explore we'll the problems of authorization at scale using a real world, well known example
2/ This is a key part of product development, especially when building infrastructure. We want to understand what our customers will eventually build with our service.
We also promised to unveil this week the problem we want to dive into 🥁...
2/ The area we'd like to explore is: *fine-grained authorization*
Why this? And why now?👇
3/ Large scale fine-grained authorization as a building block is an unsolved problem. Just like authentication was ~8 years ago. We implement it in every app we build, over and over. There is no generic, cross-platform, cross-domain solution.