Role-Based Access Control (RBAC)
Aidbox provides a role-based access control mechanism based on access policies and User
resource.
Create a user
Create a user containing practitioner
role.
Create an access policy
Create an access policy that allows practitioners to read patients' data.
Please note that if you like to add multiple request methods when using matcho engine you should use $one-of
notation:
Try it
Create a patient
Log in as user-1
user-1
Click "Logout" in the AidboxUI navigation. Log in using user-1
credentials (user-1 /password).
Read patient data
Aidbox will return you a Patient resource.
What's going on here
When you make a query
Aidbox router stores data in the request object:
Uri
/Patient/pt-1
in theuri
property.Method
get
in therequest-method
property.User data in
user
property. In particularuser.roles[].value
contains user roles.
Access policy engine evaluates request object. And here it checks that user.roles[].value
property contains practitioner
string.
You can inspect request object using __debug
query parameter.
Guide: flexible RBAC
Flexible RBAC built-in to AidboxLast updated