Adopt capability-based security into Nirum services #181
Labels
cmp:compiler
Component: Compiler backend (e.g., annotation processors, code generators)
cmp:runtime
Component: Target runtimes
cmp:transport
Component: Transports
dfct:hard
Difficulty: Hard
typ:enhance
Type: Enhancement/new feature
I suggest Nirum to adopt capability-based security into its services. To begin with, read the article of the topic on Wikipedia:
Long story short, whereas ACL-based security controls operations on objects/resources, capability-based security controls references to objects/resources. Think of S3-like file storage for example. ACL-based security controls operations like
list-dir
,read-file
, etc, e.g.:Instead, capability-based security controls what references are accessible e.g.:
Note that service methods return references to other services. This is key concept of capabilities: if a service gives you a reference to another service it means you're granted to access that. The minimum permission is just a reference to the public endpoint to the
root
service.In order to adopt this new concept of security, we of course need to implement several things Nirum currently doesn't have:
Opinions or any ideas?
The text was updated successfully, but these errors were encountered: