# #Acme runs a testbed. They've delegated the authority to create #experiments to all their partners. The Globotron company is one such #partner. # # Acme.experiment_create <- Acme.partner.experiment_create # #Globotron has delegated the authority to anyone an admin thinks is a #'power user'. # # Globotron.experiment_create <- Globotron.admin.power_user # #Alice and Dave are admin(s), and their friend Bob is a power user: # # Globotron.admin <- Alice # Globotron.admin <- Dave # # Alice.power_user <- Bob # Dave.power_user <- Bob # #From these credentials, it is possible to show that # Acme.experiment_create <- Bob. # #In query.py, it show that Bob can create experiment at Acme and # there are 2 possible solution proof # # experiment_multi_rt0 # Credential 1 #[keyid:Acme].role:experiment_create # <- [keyid:Acme].role:partner.role:experiment_create # Credential 2 #[keyid:Acme].role:partner <- [keyid:Globotron] # Credential 3 #[keyid:Globotron].role:expriment_create <- [keyid:Globotron].role:admin.role:power_user # Credential 4 #[keyid:Globotron].role:admin <- [keyid:Alice] # Credential 5 #[keyid:Alice].role:power_user <- [keyid:Bob] # Credential 6 #[keyid:Globotron].role:admin <- [keyid:Dave] # Credential 7 #[keyid:Dave].role:power_user <- [keyid:Bob]