Cybus::User¶
This resource creates a user and optionally assigns initial permissions. See also user management.
The permissions for this user can be specified by assigning this user to some roles (preferred) or by directly listing a set of permissions.
The identifier of the resource is also automatically taken as the username for the new user. The username must be at least 3 characters long.
Properties¶
Property |
Type |
Required |
---|---|---|
|
Required |
|
|
Optional |
|
|
Optional |
password¶
is required
type:
string
; must be minimum length: 5 characters
permissions¶
The list of permissions for this user. It is suggested to not use this property directly, but rather defining Cybus::Role resources with the list of the actual permissions, and adding those role(s) to the roles property here.
is optional
type:
object[]
; all items must be of the type:object
with following properties:
context¶
The context in which the user permissions for the resource should be interpreted.
is required
type:
enum
; the value of this property must be equal to one of the below:mqtt
when describing permissions for MQTT topicshttp
when describing permissions for REST API paths
operation¶
The allowed access operation to the resource.
is required
type:
enum
; the value of this property must be equal to one of the below:read
write
readWrite
resource¶
Resource path. Can be REST-ful API path or MQTT topic.
is required
type:
string
roles¶
The list of Cybus::Role identifiers for this user, which describe the actual permissions. This is the suggested way of specifying actual permissions.
is optional
type:
string[]
All items must be of the type:
string
Example¶
1myUser:
2 type: Cybus::User
3 properties:
4 password: 'somePassword1'
5 permissions:
6 - resource: userspace/werner/#
7 operation: readWrite
8 context: mqtt