This is an example of our scheme; we took CloudIAM...
# spicedb
v
This is an example of our scheme; we took CloudIAM as a basis. Currently we have ~550 permissions. definition subject {} definition role { relation include: role relation glance_image_create_rel: subject:* permission glance_image_create = glance_image_create_rel + include->glance_image_create --- other permissions ---- } definition resource { relation parent: resource relation allow: binding relation deny: binding permission glance_image_create = allow_glance_image_create - deny_glance_image_create permission allow_glance_image_create = allow->glance_image_create + parent->allow_glance_image_create permission deny_glance_image_create = deny->glance_image_create + parent->deny_glance_image_create --- other permissions ---- } definition binding { relation subject: subject relation role: role permission glance_image_create = subject & role->glance_image_create --- other permissions ---- } Our service will act as iam in a platform in which n-extensions can be deployed. Extensions will be installed and download their permissions to us. According to our calculations, provided that the permission length limit is 62 characters, we will be able to support 3-4K permissions