Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update rbac table to include viewer #1009

Merged
merged 1 commit into from
Sep 27, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
121 changes: 44 additions & 77 deletions docs/user/team/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ Teams are groups of users that collaborate on their projects.

### Creating a new team

Users can create new teams. Creating a team requires a name and an instance wide
unique slug. When a team is created the user that did is added as "owner".
Users can create new teams. Creating a team requires a name and a unique url.
The user who creates the team is added as its "owner".

**Note**: Administrators might not [allow all users to create teams](../../admin#admin-settings).
FlowForge Cloud does allow any user to create a new team.

### Adding team members

Each user with "owner" permissions on a team can add new members on the "Members"
tab of the team pages. Adding members is done by inviting them by either email or
FlowForge username. After submitting the form an invite is created for the new
user which expires in 7 days. Once accepted the user is added as "Member".
Each user with "owner" permissions on a team can invite new members on the "Members"
tab of the team page. Invitations can be sent to existing users on the platform by
they username, or via email. Users have up to 7 days to accept, or decline, the invitation
before it will expire.

### Removing team members

Expand All @@ -29,78 +29,45 @@ Owners can remove a member from a team by clicking the dropdown menu next to the
The role a user has in a team determines what they are able to do. The following
table summaries what actions are available to the different roles.

| Role | Owner | Member |
|:-------------------------------------|:-----:|:------:|
| | | |
| Manage Billing | ✓ | - |
| | | |
| **Overview** | | |
| • View Projects | ✓ | ✓ |
| • Create Project | ✓ | - |
| | | |
| **Projects** | | |
| • View Projects | ✓ | ✓ |
| • Create Project | ✓ | - |
| | | |
| **Project** | | |
| • Actions Menu | ✓ | - |
| • Editor Link + Status | ✓ | ✓ |
| • Modifiy Flows | ✓ | ✓ |
| | | |
| **Selected Project** | | |
| • Overview | ✓ | ✓ |
| • Activity | ✓ | ✓ |
| • Snapshots... | | |
|   • View Snapshots | ✓ | ✓ |
|   • Create Snapshot | ✓ | ✓ |
|   • Rollback | ✓ | ✓ |
|   • Set as Device Target | ✓ | ✓ |
|   • Delete Snapshot | ✓ | - |
| • Devices... | | |
|   • View Devices | ✓ | ✓ |
|   • Register Device | ✓ | - |
|   • Device Row Menu | ✓ | ✓ |
|   • Device Row Menu > delete device | ✓ | - |
|   • Device Overview | ✓ | ✓ |
|   • Device Settings... | ✓ | |
|    • Edit Device | ✓ | ✓ |
|    • View Environment Variables | ✓ | ✓ |
|    • Edit Environment Variables | ✓ | ✓ |
|    • Delete Device | ✓ | - |
| • Logs | ✓ | ✓ |
| • Settings... | - | - |
|   • View General | ✓ | ✓ |
|   • View Environment Variables | ✓ | ✓ |
|   • Edit Environment Variables | ✓ | ✓ |
|   • View Other Settings | ✓ | - |
|   • Edit Other Settings | ✓ | - |
| | | |
| **Devices** | | |
| • View Devices | ✓ | ✓ |
| • Register Device | ✓ | - |
| • Device Row Menu | ✓ | - |
| • Device Overview | ✓ | ✓ |
| • Device Settings... | ✓ | |
|   • General | ✓ | ✓ |
|   • Edit Device | ✓ | - |
|   • View Environment Variables | ✓ | ✓ |
|   • Edit Environment Variables | ✓ | ✓ |
|   • Delete Device | ✓ | - |
| | | |
| **Members** | | |
| • Invite | ✓ | - |
| • Member List Row Menu | ✓ | ✓ |
|   • Change Role | ✓ | - |
|   • Remove From Team | ✓ | ✓ |
|   • Remove Other from Team | ✓ | - |
| | | |
| **Audit Log** | ✓ | - |
| **Team Settings** | ✓ | - |
| Role | Owner | Member | Viewer |
|:-------------------------------------|:-----:|:------:|:------:|
| Manage Team Settings | ✓ | - | - |
| View Team Audit Log | ✓ | - | - |
| **Projects** | | | |
| • Create Project | ✓ | - | - |
| • Delete Project | ✓ | - | - |
| • Copy Project | ✓ | - | - |
| • View Project Details | ✓ | ✓ | ✓ |
| • Start, Stop, Suspend Project | ✓ | - | - |
| • Modify Project Settings | ✓ | - | - |
| • Modify Environment Variables | ✓ | ✓ | - |
| **Flows** | | | |
| • Access Flow Editor | ✓ | ✓ | ✓ |
| • Modify Flows | ✓ | ✓ | - |
| **Project Snapshots** | | | |
| • View Snapshots | ✓ | ✓ | ✓ |
| • Create Snapshot | ✓ | ✓ | - |
| • Rollback | ✓ | ✓ | - |
| • Set as Device Target | ✓ | ✓ | - |
| • Delete Snapshot | ✓ | - | - |
| **Devices** | | | |
| • View Devices | ✓ | ✓ | ✓ |
| • Modify Device Settings | ✓ | - | - |
| • Modify Environment Variables | ✓ | ✓ | - |
| • Assign to/Remove from Project | ✓ | - | - |
| • Delete Device | ✓ | - | - |
| **Team Members** | | | |
| • Invite User | ✓ | - | - |
| • Change Role | ✓ | - | - |
| • Remove User from Team | ✓ | - §1 | - §1 |

*Note* Administrators users have owner-level access to all teams.
Notes:
- **§1** A user in any role can remove themselves from a team
- Administrators users have owner-level access to all teams, but do not have access
to the Flow Editor.

#### Changing roles

Owners can change roles by selecting "Change Role" on the members tab of a team.
The member selected will after submitting have a new role assigned with the new
authorization scheme.
Owners can change a user's role by selecting "Change Role" in the menu on the
Team Members page. An Owner can only change their own role if the team has another
owner in place.