Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt

Describes how messages requesting operation on a collection are checked against the permission model.  

...

Components participating in a Bit Repository where RequireOperationAuthorization in RepositorySettings have been set to true is required to authorise any operation prior to performing them. 

...

  • The operation can be authorised if the signing certificate have a suitable OperationPermission, see the Operation Permission model section for details
  • An OperationPermission for the specific operation (Protocol messages) or the special "All" OperationPermission the s
  • And the OperationPermission applies for the given Collection
  • And the requesting components ID is present in OperationPermissions ComponentIDs list (if not present no restriction is applied to component IDs). 
  • If no suitable OperationPermission suitable for the requested Operation can be found the component should reject the operation. 
    • In the event that the request is not an IdentifyRequest, i.e. an OperationRequest, the component should also send an Alarm to notify of the unauthorised request. 

Operation Permission model

The

...

OperationPermissions consists of:

  • An

...

  • Operation type. There is one Operation type for each operation type (see Protocol messages), and an catch all named "All"
  • An optional list of allowed component IDs who are allowed to perform the operation. If the list is not present it implies that there is no restriction
  • An optional list of collection IDs where the OperationPermission applies. If the list is not present it implies that there is no restiction

To be a "suitable" OperationPermission, a request should match all of the available constraints (Operation type, component ID and collection ID).