Skip to main content

rbac.proto

path sdk/rbac.proto

package m10.sdk


Messages

Expression

Expression represents a conditional expression that refines the scope of a RoleBinding.

NameTypeDescription
collectionstringThe collection the expression applies to.
expressionstringThe actual expression string. The syntax and semantics of this string are context-dependent.

Role

Role defines a set of permissions.

NameTypeDescription
idbytesUnique identifier for the Role.
ownerbytesID (public key) of the owner of this Role.
namestringHuman-readable name for the Role.
rulesrepeated RuleList of rules that define the permissions granted by this role.

RoleBinding

RoleBinding represents the binding of a Role to a set of subjects.

NameTypeDescription
idbytesUnique identifier (uuid) for the RoleBinding.
namestringHuman-readable name for the RoleBinding.
rolebytesReference to the Role being bound. This is expected to be the Role's ID.
subjectsrepeated bytesList of subjects (public keys) this role binding applies to.
expressionsrepeated ExpressionList of expressions that further refine the scope of the role binding.
is_universalboolIf true, this RoleBinding applies universally, regardless of expressions or subjects.
ownerbytesID (public key) of the owner of this RoleBinding.

Rule

Rule specifies permissions on a particular collection.

NameTypeDescription
collectionstringThe collection this rule applies to.
instance_keysrepeated ValueOptional list of instance keys. If provided, the rule only applies to these specific instances within the collection. Assumes a Value message is defined elsewhere.
verbsrepeated Rule.VerbList of verbs allowed for this rule.
excluded_instance_keysrepeated ValueExclusion: If present, these instance keys are explicitly NOT allowed

Enums

Rule.Verb

Verb defines the actions a subject can perform on a resource.

NameNumberDescription
READ0Read access
CREATE1Create access
UPDATE2Update access
DELETE3Delete access
TRANSACT4Transaction access
INITIATE5Initiate transaction
COMMIT6Commit transaction