Skip to main content

Roles

Roles (along with their partner Role Bindings) are the two core elements of M10's permissions system. They group together a set of permissions on resources into a single object. For instance you might have a Role called bank-admin that allows a user to create or read accounts. Or you might have a role called "viewer" which allows a user to view all resources. Roles are only useful once they are "bound" to a specific key using a Role Binding.

Rules

Each Role is made up of a number of "Rules". A rule contains a collection, a list of instance_keys, and a list of verbs. The collection is the type of object you are granting permissions to, for instance if you wanted to grant permissions for a user to access an account, the collection would be accounts. "Verbs" are actions that can take place on an instance. There are 7 verbs:

  • Read
  • Create
  • Update
  • Delete
  • Transact
  • Initiate
  • Commit

Each rule can take an optional set of instance_keys. If one or more instance keys is specified, the rule only applies to those instances. Imagine you are trying to give a user access to just their own account. You could create a Rule that contains only the id for that account in instance_keys.

Model

API Calls

Create

  • Rust
  • TS
  • Dart
  • CLI
M10 REPLFOO

Get

  • Rust
  • TS
  • Dart
  • CLI
M10 REPLFOO

List

  • Rust
  • TS
  • Dart
  • CLI
M10 REPLFOO

Update

  • Rust
  • TS
  • Dart
  • CLI
M10 REPLFOO

Delete

  • Rust
  • TS
  • Dart
  • CLI
M10 REPLFOO