I'm currently exploring possibilities to adopt e.g., SpiceDB to fulfull the overall Zanzibar use case as central authorization service across multiple products and services. This doesn't only come down to the ability to scale with the load, but also operational management.
As of today SpiceDB loads the whole schema in one operation with no direct ability to segregate ownership for different resource types aligned with products/services and matching lifecycle management for the same. This would be a necessity to cover such an enterprise use case though, wouldn't it? The individual product teams should have ownership over their app authorization schema, but it needs to fit into the overall enterprise schema as well - requiring matching assertions to ensure cross app relations will not break throughout individual schema updates and versioning. I've seen openFGA having some support in this direction, but I don't want to go into comparing different solutions here.
Another thing would be a custom role and conditions use case, exposed to be managed by end-users, similar to what is displayed in Google Cloud IAM. Here users can define their own conditions based on CEL that seem to be directly added to the role binding and this would also be use case very relevant in the B2B environment we operate in. As far as I've seen, caveats need to be predefined in the schema which isn't really feasible in such a case, even though you can supply relation or request based data as context.
What is your take on these?