Role-Based Access Control

Tuono implements Role-Based Access Control to facilitate the granular management of users and teams, Roles ( permissions) and objects. Roles can be independently applied to these target objects to create complex permission relationships, quickly and easily.

Roles

A role defines the permissions for each user or team and the target object where the role is applied. If a role is not defined then the subject has No Permissions to the target object.

Owner

  • Complete authority to instantiate and to freely modify the object.

  • Able to invite, change access level, or remove other users or teams from the object.

  • Non-exclusive; there can be multiple owners.

Collaborator

  • Able to view, update and copy the contents of the object.

  • Access to perform Environment operations.

Observer

  • Read only and duplicate access of the object.

Target Objects

Specific users or groups are assigned roles to individual target objects. Roles provide permissions to each individual object in the system. For example, a user can be granted the role of organization collaborator and can be set as an owner of a specific environment but only have an observer role to the blueprint in the environment. This would grant that user complete owner role privileges to execute jobs in the environment but that user would not be able to modify the blueprint.

The tables outline role permissions for each target object.

Organization

Roles applied to the organization allow you to have multiple administrators and defined roles for all organization target objects.

Role

Create/Duplicate Environments

Create/Duplicate Blueprints

Use Organization Secret

Create/Delete/Edit Organization Secret

Create/Delete Credentials

Create/Delete Teams

Invite User

Manage Sharing

Owner

✔️

✔️

✔️

✔️

✔️

✔️

✔️

✔️

Collaborator

✔️

✔️

✔️

Observer

No Permissions

Blueprints

Blueprints are the building block of infrastructure and may represent a single monolithic file containing all the infrastructure objects that describe a particular application. Alternatively, they may be highly-modular and several may be needed to create a functional application.

Roles can be applied on a per blueprint basis, so using RBAC, it becomes possible to define exactly who can view, edit and use a specific blueprint.

Role

View

Duplicate

Draft

Promote

Delete

Manage Sharing

Owner

✔️

✔️

✔️

✔️

✔️

✔️

Collaborator

✔️

✔️

✔️

Observer

✔️

✔️

No Permissions

Environment

An Environment represents a combination of blueprint(s), venue and appropriate credentials. Roles over an Environment allow users and groups to apply, destroy or view infrastructure.

Role

View

Duplicate

Add/Remove Blueprints*

Run Job

Use Environment Secret

Create/Delete/Edit Environment Secret

Delete

Manage Sharing

Owner

✔️

✔️

✔️

✔️

✔️

✔️

✔️

✔️

Collaborator

✔️

✔️

✔️

✔️

✔️

Observer

✔️

✔️

No Permissions

Last updated

Was this helpful?