Permissions are a declaration of an action that can be executed on a resource.
They describe the intrinsic capabilities or operations available on that resource (e.g. read a datastream, or update a station), independent of any specific user.
Permissions granted to a user (also called privileges) can be found in two locations in Dendra. This is done to keep the access token size efficient, and to allow organization membership and role changes to take effect immediately without reissuing the access token.
Location
Description
Resource Domain
Example
Access Token
Permissions granted to a user based on their assigned roles in the IAM. Listed in the permissions claim in the access token.
System (Equipment, Units, Vocabularies)
create:unitupdate:vocabulary
Resource
Permissions granted to a user based on their assigned role in an organization. Listed in the resource’s effective_rights field.
Based on a user’s role in an organization and the resource they are acting on, a role policy is selected to provide the list of permissions that the user has for that resource.
Below are the current role policies in the system by resource. These are subject to change.
Permissions are assigned specifically at each level and are mutually exclusive across locations.
You can therefore check a single location. If needed, permissions can be resolved in this order:
Check the effective_rights field of the resource itself.
Check the
effective_rights field of the resource’s Organization resource (if applicable).